diff options
| author | Kyren223 <Kyren223@proton.me> | 2024-11-23 17:10:29 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2024-11-23 17:10:29 +0200 |
| commit | 63a1d24295122728820a61aa93b3da6cd6d401d9 (patch) | |
| tree | 04f0ecce4fb19682cbab969d20861eadeefff59b /query/users.sql | |
| parent | ae6362c91f2d5d51cc606c9baed9c76b50e7ddfe (diff) | |
Updated user queries and added trigger on user delete
Diffstat (limited to 'query/users.sql')
| -rw-r--r-- | query/users.sql | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/query/users.sql b/query/users.sql index 4d6275c..9866c8a 100644 --- a/query/users.sql +++ b/query/users.sql @@ -1,10 +1,14 @@ -- name: GetUserById :one SELECT * FROM users -WHERE id = ?; +WHERE id = ? AND is_deleted = false; -- name: GetUserByPublicKey :one SELECT * FROM users -WHERE public_key = ?; +WHERE public_key = ? AND is_deleted = false; + +-- name: GetDeletedUserById :one +SELECT * FROM users +WHERE id = ? AND is_deleted = true; -- name: CreateUser :one INSERT INTO users ( @@ -17,11 +21,38 @@ RETURNING *; -- name: SetUserName :one UPDATE users SET name = ? -WHERE id = ? +WHERE id = ? AND is_deleted = false RETURNING *; -- name: SetUserPublicKey :one UPDATE users SET public_key = ? -WHERE id = ? +WHERE id = ? AND is_deleted = false +RETURNING *; + +-- name: SetUserDescription :one +UPDATE users SET + description = ? +WHERE id = ? AND is_deleted = false +RETURNING *; + +-- name: SerUserPublicDMs :one +UPDATE users SET + is_public_dm = ? +WHERE id = ? AND is_deleted = false +RETURNING *; + +-- name: UpdateUser :one +UPDATE users SET + name = COALESCE(?, name), + public_key = COALESCE(?, public_key), + description = COALESCE(?, description), + is_public_dm = COALESCE(?, is_public_dm) +WHERE id = ? AND is_deleted = false +RETURNING *; + +-- name: DeleteUser :one +UPDATE users SET + is_deleted = true +WHERE id = ? AND is_deleted = false RETURNING *; |
