3
0
corteza/crm/module.go
2018-07-06 10:56:26 +00:00

64 lines
1.4 KiB
Go

package crm
import (
"github.com/pkg/errors"
"github.com/titpetric/factory"
)
var _ = errors.Wrap
func (*Module) List(r *moduleListRequest) (interface{}, error) {
db, err := factory.Database.Get()
if err != nil {
return nil, err
}
if r.id > 0 {
m := Module{}.New()
return m, db.Get(m, "select * from crm_module id=?", r.id)
}
res := make([]Module, 0)
err = db.Select(&res, "select * from crm_module order by name asc")
return res, err
}
func (*Module) Edit(r *moduleEditRequest) (interface{}, error) {
db, err := factory.Database.Get()
if err != nil {
return nil, err
}
m := Module{}.New()
m.SetID(r.id).SetName(r.name)
if m.GetID() > 0 {
return m, db.Replace("crm_module", m)
}
m.SetID(factory.Sonyflake.NextID())
return m, db.Insert("crm_module", m)
}
func (*Module) ContentList(r *moduleContentListRequest) (interface{}, error) {
db, err := factory.Database.Get()
if err != nil {
return nil, err
}
if r.id > 0 {
m := ModuleContentRow{}.New()
return m, db.Get(m, "select * from crm_module id=?", r.id)
}
res := make([]ModuleContentRow, 0)
err = db.Select(&res, "select * from crm_module order by name asc")
return res, err
}
func (*Module) ContentEdit(r *moduleContentEditRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.content/edit")
}
func (*Module) ContentDelete(r *moduleContentDeleteRequest) (interface{}, error) {
return nil, errors.New("Not implemented: Module.content/delete")
}