summaryrefslogtreecommitdiff
path: root/query/users.sql
blob: ce075cd60241435a3b15b92297f483f90c1076d8 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
-- name: GetUserById :one
SELECT * FROM users
WHERE id = ? AND is_deleted = false;

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

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

-- name: DeleteUser :exec
UPDATE users SET
  is_deleted = true, public_key = ?, name = "Deleted User", description = ""
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: UpdateUser :one
UPDATE users SET
  name = ?, description = ?, is_public_dm = ?
WHERE id = ?
RETURNING *;

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

-- name: GetUsersByIds :many
SELECT * FROM users
WHERE id IN (sqlc.slice('ids'));

-- name: UpdateUserLastActivity :exec
UPDATE users SET last_activity = ? WHERE id = ?;