feat: Update UserTitle implemented
This commit is contained in:
parent
451df61127
commit
a25a912ead
3 changed files with 47 additions and 15 deletions
|
|
@ -386,16 +386,7 @@ func (s Server) AddUserTitle(ctx context.Context, request oapi.AddUserTitleReque
|
||||||
log.Errorf("%v", err)
|
log.Errorf("%v", err)
|
||||||
return oapi.AddUserTitle500Response{}, nil
|
return oapi.AddUserTitle500Response{}, nil
|
||||||
}
|
}
|
||||||
oapi_usertitle := struct {
|
oapi_usertitle := oapi.UserTitleMini{
|
||||||
Ctime *time.Time `json:"ctime,omitempty"`
|
|
||||||
Rate *int32 `json:"rate,omitempty"`
|
|
||||||
ReviewId *int64 `json:"review_id,omitempty"`
|
|
||||||
|
|
||||||
// Status User's title status
|
|
||||||
Status oapi.UserTitleStatus `json:"status"`
|
|
||||||
TitleId int64 `json:"title_id"`
|
|
||||||
UserId int64 `json:"user_id"`
|
|
||||||
}{
|
|
||||||
Ctime: &user_title.Ctime,
|
Ctime: &user_title.Ctime,
|
||||||
Rate: user_title.Rate,
|
Rate: user_title.Rate,
|
||||||
ReviewId: user_title.ReviewID,
|
ReviewId: user_title.ReviewID,
|
||||||
|
|
@ -426,5 +417,41 @@ func (s Server) DeleteUserTitle(ctx context.Context, request oapi.DeleteUserTitl
|
||||||
|
|
||||||
// UpdateUserTitle implements oapi.StrictServerInterface.
|
// UpdateUserTitle implements oapi.StrictServerInterface.
|
||||||
func (s Server) UpdateUserTitle(ctx context.Context, request oapi.UpdateUserTitleRequestObject) (oapi.UpdateUserTitleResponseObject, error) {
|
func (s Server) UpdateUserTitle(ctx context.Context, request oapi.UpdateUserTitleRequestObject) (oapi.UpdateUserTitleResponseObject, error) {
|
||||||
panic("unimplemented")
|
|
||||||
|
status, err := UserTitleStatus2Sqlc1(request.Body.Status)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("%v", err)
|
||||||
|
return oapi.UpdateUserTitle400Response{}, nil
|
||||||
|
}
|
||||||
|
params := sqlc.UpdateUserTitleParams{
|
||||||
|
Status: status,
|
||||||
|
Rate: request.Body.Rate,
|
||||||
|
UserID: request.UserId,
|
||||||
|
TitleID: request.Body.TitleId,
|
||||||
|
}
|
||||||
|
|
||||||
|
user_title, err := s.db.UpdateUserTitle(ctx, params)
|
||||||
|
if err != nil {
|
||||||
|
if err == pgx.ErrNoRows {
|
||||||
|
return oapi.UpdateUserTitle404Response{}, nil
|
||||||
|
}
|
||||||
|
log.Errorf("%v", err)
|
||||||
|
return oapi.UpdateUserTitle500Response{}, nil
|
||||||
|
}
|
||||||
|
oapi_status, err := sql2usertitlestatus(user_title.Status)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("%v", err)
|
||||||
|
return oapi.UpdateUserTitle500Response{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
oapi_usertitle := oapi.UserTitleMini{
|
||||||
|
Ctime: &user_title.Ctime,
|
||||||
|
Rate: user_title.Rate,
|
||||||
|
ReviewId: user_title.ReviewID,
|
||||||
|
Status: oapi_status,
|
||||||
|
TitleId: user_title.TitleID,
|
||||||
|
UserId: user_title.UserID,
|
||||||
|
}
|
||||||
|
|
||||||
|
return oapi.UpdateUserTitle200JSONResponse(oapi_usertitle), nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -874,10 +874,10 @@ RETURNING user_id, title_id, status, rate, review_id, ctime
|
||||||
`
|
`
|
||||||
|
|
||||||
type UpdateUserTitleParams struct {
|
type UpdateUserTitleParams struct {
|
||||||
Status NullUsertitleStatusT `json:"status"`
|
Status *UsertitleStatusT `json:"status"`
|
||||||
Rate *int32 `json:"rate"`
|
Rate *int32 `json:"rate"`
|
||||||
UserID int64 `json:"user_id"`
|
UserID int64 `json:"user_id"`
|
||||||
TitleID int64 `json:"title_id"`
|
TitleID int64 `json:"title_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fails with sql.ErrNoRows if (user_id, title_id) not found
|
// Fails with sql.ErrNoRows if (user_id, title_id) not found
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,11 @@ sql:
|
||||||
emit_pointers_for_null_types: true
|
emit_pointers_for_null_types: true
|
||||||
emit_empty_slices: true #slices returned by :many queries will be empty instead of nil
|
emit_empty_slices: true #slices returned by :many queries will be empty instead of nil
|
||||||
overrides:
|
overrides:
|
||||||
|
- db_type: "usertitle_status_t"
|
||||||
|
nullable: true
|
||||||
|
go_type:
|
||||||
|
type: "UsertitleStatusT"
|
||||||
|
pointer: true
|
||||||
- db_type: "storage_type_t"
|
- db_type: "storage_type_t"
|
||||||
nullable: true
|
nullable: true
|
||||||
go_type:
|
go_type:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue