feat: query for update usertitle
This commit is contained in:
parent
f2589e05e8
commit
658d666fec
3 changed files with 49 additions and 19 deletions
|
|
@ -179,6 +179,6 @@ END;
|
|||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER set_ctime_on_update
|
||||
AFTER UPDATE ON usertitles
|
||||
BEFORE UPDATE ON usertitles
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION set_ctime();
|
||||
|
|
@ -925,3 +925,41 @@ func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (UpdateU
|
|||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const updateUserTitle = `-- name: UpdateUserTitle :one
|
||||
UPDATE usertitles
|
||||
SET
|
||||
status = COALESCE($1::usertitle_status_t, status),
|
||||
rate = COALESCE($2::int, rate)
|
||||
WHERE
|
||||
user_id = $3
|
||||
AND title_id = $4
|
||||
RETURNING user_id, title_id, status, rate, review_id, ctime
|
||||
`
|
||||
|
||||
type UpdateUserTitleParams struct {
|
||||
Status NullUsertitleStatusT `json:"status"`
|
||||
Rate *int32 `json:"rate"`
|
||||
UserID int64 `json:"user_id"`
|
||||
TitleID int64 `json:"title_id"`
|
||||
}
|
||||
|
||||
// Fails with sql.ErrNoRows if (user_id, title_id) not found
|
||||
func (q *Queries) UpdateUserTitle(ctx context.Context, arg UpdateUserTitleParams) (Usertitle, error) {
|
||||
row := q.db.QueryRow(ctx, updateUserTitle,
|
||||
arg.Status,
|
||||
arg.Rate,
|
||||
arg.UserID,
|
||||
arg.TitleID,
|
||||
)
|
||||
var i Usertitle
|
||||
err := row.Scan(
|
||||
&i.UserID,
|
||||
&i.TitleID,
|
||||
&i.Status,
|
||||
&i.Rate,
|
||||
&i.ReviewID,
|
||||
&i.Ctime,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue