39 lines
1.3 KiB
Smarty
39 lines
1.3 KiB
Smarty
package gmodel
|
|
|
|
{{if .Cache}}import (
|
|
"github.com/zeromicro/go-zero/core/stores/cache"
|
|
"github.com/zeromicro/go-zero/core/stores/monc"
|
|
){{else}}import "github.com/zeromicro/go-zero/core/stores/mon"{{end}}
|
|
|
|
{{if .Easy}}
|
|
const {{.Type}}CollectionName = "{{.snakeType}}"
|
|
{{end}}
|
|
|
|
var _ {{.Type}}Model = (*custom{{.Type}}Model)(nil)
|
|
|
|
type (
|
|
// {{.Type}}Model is an interface to be customized, add more methods here,
|
|
// and implement the added methods in custom{{.Type}}Model.
|
|
{{.Type}}Model interface {
|
|
{{.lowerType}}Model
|
|
}
|
|
|
|
custom{{.Type}}Model struct {
|
|
*default{{.Type}}Model
|
|
}
|
|
)
|
|
|
|
|
|
// New{{.Type}}Model returns a model for the mongo.
|
|
{{if .Easy}}func New{{.Type}}Model(url, db string{{if .Cache}}, c cache.CacheConf{{end}}) {{.Type}}Model {
|
|
conn := {{if .Cache}}monc{{else}}mon{{end}}.MustNewModel(url, db, {{.Type}}CollectionName{{if .Cache}}, c{{end}})
|
|
return &custom{{.Type}}Model{
|
|
default{{.Type}}Model: newDefault{{.Type}}Model(conn),
|
|
}
|
|
}{{else}}func New{{.Type}}Model(url, db, collection string{{if .Cache}}, c cache.CacheConf{{end}}) {{.Type}}Model {
|
|
conn := {{if .Cache}}monc{{else}}mon{{end}}.MustNewModel(url, db, collection{{if .Cache}}, c{{end}})
|
|
return &custom{{.Type}}Model{
|
|
default{{.Type}}Model: newDefault{{.Type}}Model(conn),
|
|
}
|
|
}{{end}}
|