summaryrefslogtreecommitdiff
path: root/query/users.sql
blob: 0d58b2d59206426ef7006145afa045fbf6b93429 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-- name: GetUserById :one
SELECT * FROM users
WHERE id = ? AND is_deleted = false;

-- name: GetUserByPublicKey :one
SELECT * FROM users
WHERE public_key = ? AND is_deleted = false;

-- name: CreateUser :one
INSERT INTO users (
  id, name, public_key
) VALUES (
  ?, ?, ?
)
RETURNING *;

-- name: DeleteUser :exec
UPDATE users SET
  is_deleted = true
WHERE id = ? AND is_deleted = false;

-- name: SetUserData :one
INSERT INTO user_data (
  user_id, data
) VALUES (
  @user_id, @data
)
ON CONFLICT DO
UPDATE SET
  user_id = EXCLUDED.user_id, data = EXCLUDED.data
WHERE user_id = EXCLUDED.user_id
RETURNING *;

-- name: GetUserData :one
SELECT data FROM user_data
WHERE user_id = ?;