feat: get user titles described

This commit is contained in:
Iron_Felix 2025-11-18 04:59:19 +03:00
parent 8deba7afd9
commit 09d0d1eb4d
5 changed files with 461 additions and 124 deletions

View file

@ -25,11 +25,11 @@ func TitleStatus2Sqlc(s *oapi.TitleStatus) (*sqlc.TitleStatusT, error) {
}
var t sqlc.TitleStatusT
switch *s {
case oapi.Finished:
case oapi.TitleStatusFinished:
t = sqlc.TitleStatusTFinished
case oapi.Ongoing:
case oapi.TitleStatusOngoing:
t = sqlc.TitleStatusTOngoing
case oapi.Planned:
case oapi.TitleStatusPlanned:
t = sqlc.TitleStatusTPlanned
default:
return nil, fmt.Errorf("unexpected tittle status: %s", *s)
@ -195,40 +195,40 @@ func (s Server) mapTitle(ctx context.Context, title sqlc.Title) (oapi.Title, err
return oapi_title, nil
}
func (s Server) GetTitleTitleId(ctx context.Context, request oapi.GetTitleTitleIdRequestObject) (oapi.GetTitleTitleIdResponseObject, error) {
func (s Server) GetTitlesTitleId(ctx context.Context, request oapi.GetTitlesTitleIdRequestObject) (oapi.GetTitlesTitleIdResponseObject, error) {
var oapi_title oapi.Title
sqlc_title, err := s.db.GetTitleByID(ctx, request.TitleId)
if err != nil {
if err == pgx.ErrNoRows {
return oapi.GetTitleTitleId204Response{}, nil
return oapi.GetTitlesTitleId204Response{}, nil
}
log.Errorf("%v", err)
return oapi.GetTitleTitleId500Response{}, nil
return oapi.GetTitlesTitleId500Response{}, nil
}
oapi_title, err = s.mapTitle(ctx, sqlc_title)
if err != nil {
log.Errorf("%v", err)
return oapi.GetTitleTitleId500Response{}, nil
return oapi.GetTitlesTitleId500Response{}, nil
}
return oapi.GetTitleTitleId200JSONResponse(oapi_title), nil
return oapi.GetTitlesTitleId200JSONResponse(oapi_title), nil
}
func (s Server) GetTitle(ctx context.Context, request oapi.GetTitleRequestObject) (oapi.GetTitleResponseObject, error) {
func (s Server) GetTitles(ctx context.Context, request oapi.GetTitlesRequestObject) (oapi.GetTitlesResponseObject, error) {
opai_titles := make([]oapi.Title, 0)
word := Word2Sqlc(request.Params.Word)
status, err := TitleStatus2Sqlc(request.Params.Status)
if err != nil {
log.Errorf("%v", err)
return oapi.GetTitle400Response{}, err
return oapi.GetTitles400Response{}, err
}
season, err := ReleaseSeason2sqlc(request.Params.ReleaseSeason)
if err != nil {
log.Errorf("%v", err)
return oapi.GetTitle400Response{}, err
return oapi.GetTitles400Response{}, err
}
// param = nil means it will not be used
titles, err := s.db.SearchTitles(ctx, sqlc.SearchTitlesParams{
@ -242,10 +242,10 @@ func (s Server) GetTitle(ctx context.Context, request oapi.GetTitleRequestObject
})
if err != nil {
log.Errorf("%v", err)
return oapi.GetTitle500Response{}, nil
return oapi.GetTitles500Response{}, nil
}
if len(titles) == 0 {
return oapi.GetTitle204Response{}, nil
return oapi.GetTitles204Response{}, nil
}
for _, title := range titles {
@ -253,10 +253,10 @@ func (s Server) GetTitle(ctx context.Context, request oapi.GetTitleRequestObject
t, err := s.mapTitle(ctx, title)
if err != nil {
log.Errorf("%v", err)
return oapi.GetTitle500Response{}, nil
return oapi.GetTitles500Response{}, nil
}
opai_titles = append(opai_titles, t)
}
return oapi.GetTitle200JSONResponse(opai_titles), nil
return oapi.GetTitles200JSONResponse(opai_titles), nil
}

View file

@ -48,3 +48,10 @@ func (s Server) GetUsersUserId(ctx context.Context, req oapi.GetUsersUserIdReque
}
return oapi.GetUsersUserId200JSONResponse(mapUser(user)), nil
}
func (s Server) GetUsersUserIdTitles(ctx context.Context, request oapi.GetUsersUserIdTitlesRequestObject) (oapi.GetUsersUserIdTitlesResponseObject, error) {
// oapi_user_titles := make([]oapi.UserTitle, 0)
return nil, nil
}