-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery.sql
154 lines (123 loc) · 3 KB
/
query.sql
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
-- name: GetUser :one
SELECT * FROM users
WHERE id = $1 LIMIT 1;
-- name: GetUserFromEmail :one
SELECT * FROM users
WHERE email = $1 LIMIT 1;
-- name: GetUserFromSubscriptionID :one
SELECT * FROM users
WHERE subscription_id = $1 LIMIT 1;
-- name: ListUsers :many
SELECT * FROM users
ORDER BY name;
-- name: CreateUser :one
INSERT INTO users (
name, token, refresh_token, email, expire_at
) VALUES (
$1, $2, $3, $4, $5
)
RETURNING *;
-- name: UpdateUser :exec
UPDATE users
set token = $2,
refresh_token = $3,
expire_at = $4,
subscription_id = $5,
subscription_expire_at = $6,
subscription_disabled = $7,
check_spam = $8
WHERE id = $1;
-- name: DeleteUser :exec
DELETE FROM users
WHERE id = $1;
-- name: GetTask :one
SELECT * FROM tasks
WHERE id = $1 LIMIT 1;
-- name: GetTaskFromUserID :many
SELECT * FROM tasks
WHERE user_id = $1 ORDER BY created_at DESC;
-- name: GetTaskFromConversationID :one
SELECT * FROM tasks
WHERE conversation_id = $1 LIMIT 1;
-- name: CreateTask :one
INSERT INTO tasks (
user_id, name, state, description, tool_definition, context, message_id, message_body, context_ids
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9
)
RETURNING *;
-- name: UpdateTaskState :exec
UPDATE tasks
set state = $2
WHERE id = $1;
-- name: UpdateTaskStateToNull :exec
UPDATE tasks
set state = null
WHERE id = $1;
-- name: UpdateTaskConversationID :exec
UPDATE tasks
set conversation_id = $2
WHERE id = $1;
-- name: UpdateTask :exec
UPDATE tasks
SET name = $2,
description = $3,
context = $4,
context_ids = $5
WHERE id = $1;
-- name: DeleteTask :exec
DELETE FROM tasks
WHERE id = $1;
-- name: CreateMessage :exec
INSERT INTO messages (
message_id, task_id, content, user_id
) VALUES (
$1, $2, $3, $4
)
RETURNING *;
-- name: GetMessageFromMessageID :one
SELECT * FROM messages
WHERE message_id = $1 LIMIT 1;
-- name: GetMessageFromUserID :many
SELECT * FROM messages
WHERE user_id = $1 ORDER BY created_at DESC;
-- name: GetMessageFromUserIDAndTaskID :many
SELECT * FROM messages
WHERE user_id = $1 and task_id = $2 ORDER BY created_at DESC;
-- name: UpdateMessageRead :exec
UPDATE messages
set read = $2
WHERE id = $1;
-- name: CreateContext :one
INSERT INTO contexts (
name, description, content, user_id
) VALUES (
$1, $2, $3, $4
)
RETURNING *;
-- name: ListContextsForUser :many
SELECT * FROM contexts WHERE user_id = $1 ORDER BY created_at DESC;
-- name: UpdateContext :exec
UPDATE contexts
SET name = $2,
description = $3,
content = $4
WHERE id = $1;
-- name: DeleteContext :exec
DELETE FROM contexts
WHERE id = $1;
-- name: GetContext :one
SELECT * FROM contexts
WHERE id = $1 LIMIT 1;
-- name: CreateSpamEmailRecord :exec
INSERT INTO spam_emails (
subject, email_body, user_id, message_id
) VALUES (
$1, $2, $3, $4
);
-- name: ListSpamEmails :many
SELECT * FROM spam_emails WHERE user_id = $1;
-- name: GetSpamEmail :one
SELECT * FROM spam_emails WHERE id = $1;
-- name: DeleteSpamEmail :exec
DELETE FROM spam_emails WHERE id = $1;