feat: Update UserTitle implemented
All checks were successful
Build and Deploy Go App / build (push) Successful in 6m35s
Build and Deploy Go App / deploy (push) Successful in 25s

This commit is contained in:
Iron_Felix 2025-11-27 08:16:12 +03:00
parent 451df61127
commit a25a912ead
3 changed files with 47 additions and 15 deletions

View file

@ -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
} }

View file

@ -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

View file

@ -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: