PUT username now returns also 409

This commit is contained in:
Marco Realacci 2022-11-26 15:14:41 +01:00
parent d068a5389e
commit 758be58b31
24 changed files with 19 additions and 1154 deletions

View file

@ -47,7 +47,7 @@ type AppDatabase interface {
SearchByName(name string, requesting_uid string, start_index int, limit int) (*[]structures.UIDName, error)
UpdateUsername(uid, name string) error
UpdateUsername(uid, name string) (QueryResult, error)
GetUserFollowers(uid string, requesting_uid string, start_index int, limit int) (QueryResult, *[]structures.UIDName, error)
GetUserFollowing(uid string, requesting_uid string, start_index int, offset int) (QueryResult, *[]structures.UIDName, error)

View file

@ -56,9 +56,18 @@ func (db *appdbimpl) CreateUser(name string) (string, error) {
}
// Update username
func (db *appdbimpl) UpdateUsername(uid string, name string) error {
func (db *appdbimpl) UpdateUsername(uid string, name string) (QueryResult, error) {
_, err := db.c.Exec(`UPDATE "users" SET "name" = ? WHERE "uid" = ?`, name, uid)
return err
if db_errors.UniqueViolation(err) {
return ERR_EXISTS, nil
}
if err != nil {
return ERR_INTERNAL, err
}
return SUCCESS, err
}
// Get user followers