mirror of
https://github.com/cuigh/swirl
synced 2025-01-01 00:32:09 +00:00
ca0789ac4e
Since original pkg is unmaintained
74 lines
1.5 KiB
Go
74 lines
1.5 KiB
Go
package mongo
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/cuigh/swirl/model"
|
|
"github.com/globalsign/mgo"
|
|
"github.com/globalsign/mgo/bson"
|
|
)
|
|
|
|
func (d *Dao) TemplateList(args *model.TemplateListArgs) (tpls []*model.Template, count int, err error) {
|
|
d.do(func(db *database) {
|
|
filter := bson.M{}
|
|
if args.Name != "" {
|
|
filter["name"] = args.Name
|
|
}
|
|
|
|
q := db.C("template").Find(filter)
|
|
count, err = q.Count()
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
tpls = []*model.Template{}
|
|
err = q.Skip(args.PageSize * (args.PageIndex - 1)).Limit(args.PageSize).All(&tpls)
|
|
})
|
|
return
|
|
}
|
|
|
|
func (d *Dao) TemplateCreate(tpl *model.Template) (err error) {
|
|
tpl.CreatedAt = time.Now()
|
|
tpl.UpdatedAt = tpl.CreatedAt
|
|
|
|
d.do(func(db *database) {
|
|
err = db.C("template").Insert(tpl)
|
|
})
|
|
return
|
|
}
|
|
|
|
func (d *Dao) TemplateGet(id string) (tpl *model.Template, err error) {
|
|
d.do(func(db *database) {
|
|
tpl = &model.Template{}
|
|
err = db.C("template").FindId(id).One(tpl)
|
|
if err == mgo.ErrNotFound {
|
|
tpl, err = nil, nil
|
|
} else if err != nil {
|
|
tpl = nil
|
|
}
|
|
})
|
|
return
|
|
}
|
|
|
|
func (d *Dao) TemplateUpdate(tpl *model.Template) (err error) {
|
|
d.do(func(db *database) {
|
|
update := bson.M{
|
|
"$set": bson.M{
|
|
"name": tpl.Name,
|
|
"content": tpl.Content,
|
|
"updated_by": tpl.UpdatedBy,
|
|
"updated_at": tpl.UpdatedAt,
|
|
},
|
|
}
|
|
err = db.C("template").UpdateId(tpl.ID, update)
|
|
})
|
|
return
|
|
}
|
|
|
|
func (d *Dao) TemplateDelete(id string) (err error) {
|
|
d.do(func(db *database) {
|
|
err = db.C("template").RemoveId(id)
|
|
})
|
|
return
|
|
}
|