package repository import ( "gat1400Exchange/models" "gat1400Exchange/service" "gat1400Exchange/vo" ) type SubscribeRepository struct { } func NewSubscribeRepository() SubscribeRepository { return SubscribeRepository{} } func (s *SubscribeRepository) CreateSubscribe(fromId string, subscribe *vo.Subscribe) error { var sub = models.Subscribe{ Id: subscribe.SubscribeID, Status: subscribe.SubscribeStatus, FromId: fromId, Ext: *subscribe, } err := sub.Save() if err != nil { return err } service.UpdateTaskProcs(sub.Id, vo.Msg_Type_Create_Subscribe, &sub) return err } func (s *SubscribeRepository) UpdateSubscribe(subscribe *vo.Subscribe) error { var sub = models.Subscribe{} err := sub.FindById(subscribe.SubscribeID) if err != nil { return err } sub.Status = subscribe.SubscribeStatus sub.Ext = *subscribe service.UpdateTaskProcs(subscribe.SubscribeID, vo.Msg_Type_Update_Subscribe, nil) return sub.Save() } func (s *SubscribeRepository) DeleteSubscribe(id string) error { var sub = models.Subscribe{} err := sub.DeleteById(id) if err != nil { return err } service.UpdateTaskProcs(id, vo.Msg_Type_Delete_Subscribe, nil) return err } func (s *SubscribeRepository) List() ([]models.Subscribe, error) { var sub models.Subscribe return sub.FindAll() }