package appunti import ( "git.phc.dm.unipi.it/phc/website/database" "git.phc.dm.unipi.it/phc/website/model" ) // Service isola l'handler dal modulo del database e si occupa solo delle interazioni riguardanti gli appunti e le dispense type Service interface { GetDispensa(id string) (*model.Dispensa, error) CreateDispensa(template model.Dispensa) (string, error) SetDispensaTags(dispensaId string, tags []string) error // GetDispensaTags(dispensaId string) ([]string, error) } type DefaultService struct { DB *database.DB } var _ Service = &DefaultService{} func (s *DefaultService) GetDispensa(id string) (*model.Dispensa, error) { dispensa, err := s.DB.GetDispensa(id) if err != nil { return nil, err } tags, err := s.DB.GetTags(id) if err != nil { return nil, err } return &model.Dispensa{ Id: dispensa.Id, OwnerId: dispensa.OwnerId, Title: dispensa.Title, Description: dispensa.Description, Tags: tags, }, nil } func (s *DefaultService) CreateDispensa(template model.Dispensa) (string, error) { return s.DB.CreateDispensa(database.Dispensa{ OwnerId: template.OwnerId, Title: template.Title, Description: template.Description, }) } func (s *DefaultService) SetDispensaTags(dispensaId string, tags []string) error { return s.DB.SetTags(dispensaId, tags) }