working the dispense table and relative api route

This commit is contained in:
2022-09-27 00:55:01 +02:00
parent c7e33c8e72
commit 807a4c54ac
11 changed files with 172 additions and 57 deletions
+14 -14
View File
@@ -61,7 +61,8 @@ type Service interface {
HandleListaUtenti() ([]*model.ListUser, error)
// Appunti
HandleCreateDispensa(template model.Dispensa, ctx Context) (*model.Dispensa, error)
HandleCreateDispensa(template model.Dispensa, ctx Context) (string, error)
HandleGetDispensa(dispensaId string) (*model.Dispensa, error)
}
//
@@ -78,7 +79,7 @@ func (ctx Context) getUser() *model.User {
// Handler holds references to abstract services for easy testing provided by every module (TODO: Make every field an interface of -Service)
type DefaultHandler struct {
AuthService auth.Service
AppuntiService appunti.Service
Appunti appunti.Service
Renderer *templates.TemplateRenderer
NewsArticlesRegistry *articles.Registry
GuideArticlesRegistry *articles.Registry
@@ -138,7 +139,7 @@ func (h *DefaultHandler) HandleAppuntiCondivisiPage(w io.Writer, ctx Context) er
}
func (h *DefaultHandler) HandleDispensaPage(w io.Writer, id string, ctx Context) error {
dispensa, err := h.AppuntiService.GetDispensa(id)
dispensa, err := h.Appunti.GetDispensa(id)
if err != nil {
return err
}
@@ -271,23 +272,22 @@ func (h *DefaultHandler) HandleGuideFeedPage(w io.Writer) error {
// API
//
func (h *DefaultHandler) HandleCreateDispensa(template model.Dispensa, ctx Context) (*model.Dispensa, error) {
func (h *DefaultHandler) HandleCreateDispensa(template model.Dispensa, ctx Context) (string, error) {
user := ctx.getUser()
if user == nil {
return nil, ErrNoUser
return "", ErrNoUser
}
template.OwnerId = user.Username
id, err := h.AppuntiService.CreateDispensa(template)
dispensaId, err := h.Appunti.CreateDispensa(template)
if err != nil {
return nil, err
return "", err
}
template.Id = id
if len(template.Tags) > 0 {
h.AppuntiService.SetDispensaTags(id, template.Tags)
}
return &template, nil
return dispensaId, nil
}
func (h *DefaultHandler) HandleGetDispensa(id string) (*model.Dispensa, error) {
return h.Appunti.GetDispensa(id)
}