feat: delete usertitle implemented
This commit is contained in:
parent
246fdc86b5
commit
451df61127
7 changed files with 160 additions and 492 deletions
|
|
@ -132,25 +132,25 @@ func (s Server) GetTagsByTitleId(ctx context.Context, id int64) (oapi.Tags, erro
|
|||
// return &oapi_studio, nil
|
||||
// }
|
||||
|
||||
func (s Server) GetTitlesTitleId(ctx context.Context, request oapi.GetTitlesTitleIdRequestObject) (oapi.GetTitlesTitleIdResponseObject, error) {
|
||||
func (s Server) GetTitle(ctx context.Context, request oapi.GetTitleRequestObject) (oapi.GetTitleResponseObject, error) {
|
||||
var oapi_title oapi.Title
|
||||
|
||||
sqlc_title, err := s.db.GetTitleByID(ctx, request.TitleId)
|
||||
if err != nil {
|
||||
if err == pgx.ErrNoRows {
|
||||
return oapi.GetTitlesTitleId204Response{}, nil
|
||||
return oapi.GetTitle204Response{}, nil
|
||||
}
|
||||
log.Errorf("%v", err)
|
||||
return oapi.GetTitlesTitleId500Response{}, nil
|
||||
return oapi.GetTitle500Response{}, nil
|
||||
}
|
||||
|
||||
oapi_title, err = s.mapTitle(sqlc_title)
|
||||
if err != nil {
|
||||
log.Errorf("%v", err)
|
||||
return oapi.GetTitlesTitleId500Response{}, nil
|
||||
return oapi.GetTitle500Response{}, nil
|
||||
}
|
||||
|
||||
return oapi.GetTitlesTitleId200JSONResponse(oapi_title), nil
|
||||
return oapi.GetTitle200JSONResponse(oapi_title), nil
|
||||
}
|
||||
|
||||
func (s Server) GetTitles(ctx context.Context, request oapi.GetTitlesRequestObject) (oapi.GetTitlesResponseObject, error) {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,10 @@ import (
|
|||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
const (
|
||||
pgErrDuplicateKey = "23505"
|
||||
)
|
||||
|
||||
func mapUser(u sqlc.GetUserByIDRow) (oapi.User, error) {
|
||||
i := oapi.Image{
|
||||
Id: u.AvatarID,
|
||||
|
|
@ -37,24 +41,24 @@ func mapUser(u sqlc.GetUserByIDRow) (oapi.User, error) {
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (s Server) GetUsersUserId(ctx context.Context, req oapi.GetUsersUserIdRequestObject) (oapi.GetUsersUserIdResponseObject, error) {
|
||||
func (s Server) GetUsersId(ctx context.Context, req oapi.GetUsersIdRequestObject) (oapi.GetUsersIdResponseObject, error) {
|
||||
userID, err := parseInt64(req.UserId)
|
||||
if err != nil {
|
||||
return oapi.GetUsersUserId404Response{}, nil
|
||||
return oapi.GetUsersId404Response{}, nil
|
||||
}
|
||||
_user, err := s.db.GetUserByID(context.TODO(), userID)
|
||||
if err != nil {
|
||||
if err == pgx.ErrNoRows {
|
||||
return oapi.GetUsersUserId404Response{}, nil
|
||||
return oapi.GetUsersId404Response{}, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
user, err := mapUser(_user)
|
||||
if err != nil {
|
||||
log.Errorf("%v", err)
|
||||
return oapi.GetUsersUserId500Response{}, err
|
||||
return oapi.GetUsersId500Response{}, err
|
||||
}
|
||||
return oapi.GetUsersUserId200JSONResponse(user), nil
|
||||
return oapi.GetUsersId200JSONResponse(user), nil
|
||||
}
|
||||
|
||||
func sqlDate2oapi(p_date pgtype.Timestamptz) *time.Time {
|
||||
|
|
@ -369,7 +373,7 @@ func (s Server) AddUserTitle(ctx context.Context, request oapi.AddUserTitleReque
|
|||
if errors.As(err, &pgErr) {
|
||||
// fmt.Println(pgErr.Message) // => syntax error at end of input
|
||||
// fmt.Println(pgErr.Code) // => 42601
|
||||
if pgErr.Code == "23505" { //duplicate key value
|
||||
if pgErr.Code == pgErrDuplicateKey { //duplicate key value
|
||||
return oapi.AddUserTitle409Response{}, nil
|
||||
}
|
||||
} else {
|
||||
|
|
@ -405,7 +409,19 @@ func (s Server) AddUserTitle(ctx context.Context, request oapi.AddUserTitleReque
|
|||
|
||||
// DeleteUserTitle implements oapi.StrictServerInterface.
|
||||
func (s Server) DeleteUserTitle(ctx context.Context, request oapi.DeleteUserTitleRequestObject) (oapi.DeleteUserTitleResponseObject, error) {
|
||||
panic("unimplemented")
|
||||
params := sqlc.DeleteUserTitleParams{
|
||||
UserID: request.UserId,
|
||||
TitleID: request.Params.TitleId,
|
||||
}
|
||||
_, err := s.db.DeleteUserTitle(ctx, params)
|
||||
if err != nil {
|
||||
if err == pgx.ErrNoRows {
|
||||
return oapi.DeleteUserTitle404Response{}, nil
|
||||
}
|
||||
log.Errorf("%v", err)
|
||||
return oapi.DeleteUserTitle500Response{}, nil
|
||||
}
|
||||
return oapi.DeleteUserTitle200Response{}, nil
|
||||
}
|
||||
|
||||
// UpdateUserTitle implements oapi.StrictServerInterface.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue