28 lines
550 B
SQL
28 lines
550 B
SQL
-- name: GetUser :one
|
|
SELECT * FROM users
|
|
WHERE id = $1;
|
|
|
|
-- name: GetUserByUsername :one
|
|
SELECT * FROM users
|
|
WHERE username = $1;
|
|
|
|
-- name: ListUsers :many
|
|
SELECT * FROM users
|
|
ORDER BY id;
|
|
|
|
-- name: CreateUser :one
|
|
INSERT INTO users (id, username, biography)
|
|
VALUES ($1, $2, $3)
|
|
RETURNING *;
|
|
|
|
-- name: UpdateUser :one
|
|
UPDATE users
|
|
SET
|
|
username = coalesce(sqlc.narg('username'), username),
|
|
biography = coalesce(sqlc.narg('biography'), biography)
|
|
WHERE id = sqlc.arg('id')
|
|
RETURNING *;
|
|
|
|
-- name: DeleteUser :exec
|
|
DELETE FROM users
|
|
WHERE id = $1;
|