Fixed returning of user infos when updating a todo item

This commit is contained in:
kolaente 2018-06-13 12:18:55 +02:00
parent b11a6b912e
commit 0652125c25
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B
6 changed files with 14 additions and 11 deletions

View File

@ -41,7 +41,7 @@ Ab v0.3 können wir mit clients anfangen.
* [x] Löschen * [x] Löschen
* [x] Überall nochmal überprüfen dass der Nutzer auch das Recht hat die Liste zu löschen * [x] Überall nochmal überprüfen dass der Nutzer auch das Recht hat die Liste zu löschen
* [ ] "Apiformat" Methoden, damit in der Ausgabe zb kein Passwort drin ist..., oder created/updated von Nutzern * [ ] "Apiformat" Methoden, damit in der Ausgabe zb kein Passwort drin ist..., oder created/updated von Nutzern... oder ownerID nicht drin ist sondern nur das ownerobject
* [ ] Swaggerdocs !!!! * [ ] Swaggerdocs !!!!
#### v0.2 #### v0.2

View File

@ -8,7 +8,7 @@ type ListItem struct {
Done bool `json:"done"` Done bool `json:"done"`
DueDateUnix int64 `xorm:"int(11)" json:"dueDate"` DueDateUnix int64 `xorm:"int(11)" json:"dueDate"`
ReminderUnix int64 `xorm:"int(11)" json:"reminderDate"` ReminderUnix int64 `xorm:"int(11)" json:"reminderDate"`
CreatedByID int64 `xorm:"int(11)" json:"createdByID"` // ID of the user who put that item on the list CreatedByID int64 `xorm:"int(11)" json:"-"` // ID of the user who put that item on the list
ListID int64 `xorm:"int(11)" json:"listID"` ListID int64 `xorm:"int(11)" json:"listID"`
Created int64 `xorm:"created" json:"created"` Created int64 `xorm:"created" json:"created"`
Updated int64 `xorm:"updated" json:"updated"` Updated int64 `xorm:"updated" json:"updated"`

View File

@ -1,7 +1,7 @@
package models package models
// CreateOrUpdateListItem adds or updates a todo item to a list // CreateOrUpdateListItem adds or updates a todo item to a list
func CreateOrUpdateListItem(item *ListItem) (err error) { func CreateOrUpdateListItem(item *ListItem) (newItem *ListItem, err error) {
// Check if the list exists // Check if the list exists
_, err = GetListByID(item.ListID) _, err = GetListByID(item.ListID)
@ -30,9 +30,12 @@ func CreateOrUpdateListItem(item *ListItem) (err error) {
// Check if we have at least a text // Check if we have at least a text
if item.Text == "" { if item.Text == "" {
return ErrListItemCannotBeEmpty{} return newItem, ErrListItemCannotBeEmpty{}
} }
} }
return // Get the new/updated item
finalItem, err := GetListItemByID(item.ID)
return &finalItem, err
} }

View File

@ -5,7 +5,7 @@ type List struct {
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"` ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
Title string `xorm:"varchar(250)" json:"title"` Title string `xorm:"varchar(250)" json:"title"`
Description string `xorm:"varchar(1000)" json:"description"` Description string `xorm:"varchar(1000)" json:"description"`
OwnerID int64 `xorm:"int(11)" json:"ownerID"` OwnerID int64 `xorm:"int(11)" json:"-"`
Owner User `xorm:"-" json:"owner"` Owner User `xorm:"-" json:"owner"`
Created int64 `xorm:"created" json:"created"` Created int64 `xorm:"created" json:"created"`
Updated int64 `xorm:"updated" json:"updated"` Updated int64 `xorm:"updated" json:"updated"`

View File

@ -16,10 +16,10 @@ type UserLogin struct {
type User struct { type User struct {
ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"` ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"`
Username string `xorm:"varchar(250) not null unique" json:"username"` Username string `xorm:"varchar(250) not null unique" json:"username"`
Password string `xorm:"varchar(250) not null" json:"password"` Password string `xorm:"varchar(250) not null" json:"-"`
Email string `xorm:"varchar(250)" json:"email"` Email string `xorm:"varchar(250)" json:"email"`
Created int64 `xorm:"created" json:"created"` Created int64 `xorm:"created" json:"-"`
Updated int64 `xorm:"updated" json:"updated"` Updated int64 `xorm:"updated" json:"-"`
} }
// TableName returns the table name for users // TableName returns the table name for users

View File

@ -57,7 +57,7 @@ func updateOrCreateListItemHelper(listID, itemID int64, c echo.Context) error {
listItem.ID = itemID listItem.ID = itemID
} }
err := models.CreateOrUpdateListItem(listItem) finalItem, err := models.CreateOrUpdateListItem(listItem)
if err != nil { if err != nil {
if models.IsErrListDoesNotExist(err) { if models.IsErrListDoesNotExist(err) {
return c.JSON(http.StatusBadRequest, models.Message{"The list does not exist."}) return c.JSON(http.StatusBadRequest, models.Message{"The list does not exist."})
@ -72,5 +72,5 @@ func updateOrCreateListItemHelper(listID, itemID int64, c echo.Context) error {
return c.JSON(http.StatusInternalServerError, models.Message{"An error occured."}) return c.JSON(http.StatusInternalServerError, models.Message{"An error occured."})
} }
return c.JSON(http.StatusOK, listItem) return c.JSON(http.StatusOK, finalItem)
} }