package model import ( "xps/datamodels" "xps/datasource" "xps/repositories/model" "xps/viewmodels" ) type ObjectService interface { GetByList(m map[string]interface{}) ([]viewmodels.ObjectInfo, error) GetByPage(m map[string]interface{}) (*viewmodels.PageResult, error) GetById(modelId, objectId int64) (*viewmodels.ObjectInfo, error) Create(d *datamodels.Object) error Update(d *datamodels.Object) error Delete(m map[string]interface{}) error } type objectService struct { repo *model.ObjectRepo } func NewObjectService() ObjectService { return &objectService{ repo: model.NewObjectRepo(datasource.InstanceMaster()), } } func (s *objectService) GetByList(m map[string]interface{}) ([]viewmodels.ObjectInfo, error) { return s.repo.GetByList(m) } func (s *objectService) GetByPage(m map[string]interface{}) (*viewmodels.PageResult, error) { return s.repo.GetByPage(m) } func (s *objectService) GetById(modelId, objectId int64) (*viewmodels.ObjectInfo, error) { return s.repo.GetById(modelId, objectId) } func (s *objectService) Create(Object *datamodels.Object) error { Object.ObjectId = NewID() return s.repo.Create(Object) } func (s *objectService) Update(Object *datamodels.Object) error { return s.repo.Update(Object) } func (s *objectService) Delete(m map[string]interface{}) error { return s.repo.Delete(m) }