feat: UpdateUser implemented
This commit is contained in:
parent
cfb2523cfd
commit
e999534b3f
4 changed files with 193 additions and 33 deletions
|
|
@ -33,7 +33,7 @@ func mapUser(u sqlc.GetUserByIDRow) oapi.User {
|
|||
CreationDate: &u.CreationDate,
|
||||
DispName: u.DispName,
|
||||
Id: &u.ID,
|
||||
Mail: (*types.Email)(u.Mail),
|
||||
Mail: StringToEmail(u.Mail),
|
||||
Nickname: u.Nickname,
|
||||
UserDesc: u.UserDesc,
|
||||
}
|
||||
|
|
@ -270,3 +270,49 @@ func (s Server) GetUsersUserIdTitles(ctx context.Context, request oapi.GetUsersU
|
|||
|
||||
return oapi.GetUsersUserIdTitles200JSONResponse{Cursor: new_cursor, Data: oapi_usertitles}, nil
|
||||
}
|
||||
|
||||
func EmailToStringPtr(e *types.Email) *string {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
s := string(*e)
|
||||
return &s
|
||||
}
|
||||
|
||||
func StringToEmail(e *string) *types.Email {
|
||||
if e == nil {
|
||||
return nil
|
||||
}
|
||||
s := types.Email(*e)
|
||||
return &s
|
||||
}
|
||||
|
||||
// UpdateUser implements oapi.StrictServerInterface.
|
||||
func (s Server) UpdateUser(ctx context.Context, request oapi.UpdateUserRequestObject) (oapi.UpdateUserResponseObject, error) {
|
||||
|
||||
params := sqlc.UpdateUserParams{
|
||||
AvatarID: request.Body.AvatarId,
|
||||
DispName: request.Body.DispName,
|
||||
UserDesc: request.Body.UserDesc,
|
||||
Mail: EmailToStringPtr(request.Body.Mail),
|
||||
UserID: request.UserId,
|
||||
}
|
||||
|
||||
user, err := s.db.UpdateUser(ctx, params)
|
||||
if err != nil {
|
||||
log.Errorf("%v", err)
|
||||
return oapi.UpdateUser500Response{}, nil
|
||||
}
|
||||
|
||||
oapi_user := oapi.User{ // maybe its possible to make one sqlc type and use one map func iinstead of this shit
|
||||
AvatarId: user.AvatarID,
|
||||
CreationDate: &user.CreationDate,
|
||||
DispName: user.DispName,
|
||||
Id: &user.ID,
|
||||
Mail: StringToEmail(user.Mail),
|
||||
Nickname: user.Nickname,
|
||||
UserDesc: user.UserDesc,
|
||||
}
|
||||
|
||||
return oapi.UpdateUser200JSONResponse(oapi_user), nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue