package model

import (
	"github.com/zeromicro/go-zero/core/stores/mon"
)

var _ UsersModel = (*customUsersModel)(nil)

type (
	// UsersModel is an interface to be customized, add more methods here,
	// and implement the added methods in customUsersModel.
	UsersModel interface {
		usersModel
	}

	customUsersModel struct {
		*defaultUsersModel
	}
)

// NewUsersModel returns a model for the mongo_model.
func NewUsersModel(url, db, collection string) UsersModel {
	conn := mon.MustNewModel(url, db, collection)
	return &customUsersModel{
		defaultUsersModel: newDefaultUsersModel(conn),
	}
}
