summaryrefslogtreecommitdiff
path: root/internal/data/users.sql.go
blob: 4411a801e508d24f7919815dce92d2a2780dd827 (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
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.27.0
// source: users.sql

package data

import (
	"context"

	"crypto/ed25519"
	"github.com/kyren223/eko/pkg/snowflake"
)

const createUser = `-- name: CreateUser :one
INSERT INTO users (
  id, name, public_key
) VALUES (
  ?, ?, ?
)
RETURNING id, name, public_key, description, is_public_dm, is_deleted
`

type CreateUserParams struct {
	ID        snowflake.ID
	Name      string
	PublicKey ed25519.PublicKey
}

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error) {
	row := q.db.QueryRowContext(ctx, createUser, arg.ID, arg.Name, arg.PublicKey)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

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

func (q *Queries) DeleteUser(ctx context.Context, id snowflake.ID) error {
	_, err := q.db.ExecContext(ctx, deleteUser, id)
	return err
}

const getDeletedUserById = `-- name: GetDeletedUserById :one
SELECT id, name, public_key, description, is_public_dm, is_deleted FROM users
WHERE id = ? AND is_deleted = true
`

func (q *Queries) GetDeletedUserById(ctx context.Context, id snowflake.ID) (User, error) {
	row := q.db.QueryRowContext(ctx, getDeletedUserById, id)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

const getUserById = `-- name: GetUserById :one
SELECT id, name, public_key, description, is_public_dm, is_deleted FROM users
WHERE id = ? AND is_deleted = false
`

func (q *Queries) GetUserById(ctx context.Context, id snowflake.ID) (User, error) {
	row := q.db.QueryRowContext(ctx, getUserById, id)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

const getUserByPublicKey = `-- name: GetUserByPublicKey :one
SELECT id, name, public_key, description, is_public_dm, is_deleted FROM users
WHERE public_key = ? AND is_deleted = false
`

func (q *Queries) GetUserByPublicKey(ctx context.Context, publicKey ed25519.PublicKey) (User, error) {
	row := q.db.QueryRowContext(ctx, getUserByPublicKey, publicKey)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

const setUserDescription = `-- name: SetUserDescription :one
UPDATE users SET
  description = ?
WHERE id = ? AND is_deleted = false
RETURNING id, name, public_key, description, is_public_dm, is_deleted
`

type SetUserDescriptionParams struct {
	Description *string
	ID          snowflake.ID
}

func (q *Queries) SetUserDescription(ctx context.Context, arg SetUserDescriptionParams) (User, error) {
	row := q.db.QueryRowContext(ctx, setUserDescription, arg.Description, arg.ID)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

const setUserName = `-- name: SetUserName :one
UPDATE users SET
  name = ?
WHERE id = ? AND is_deleted = false
RETURNING id, name, public_key, description, is_public_dm, is_deleted
`

type SetUserNameParams struct {
	Name string
	ID   snowflake.ID
}

func (q *Queries) SetUserName(ctx context.Context, arg SetUserNameParams) (User, error) {
	row := q.db.QueryRowContext(ctx, setUserName, arg.Name, arg.ID)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

const setUserPublicDMs = `-- name: SetUserPublicDMs :one
UPDATE users SET
  is_public_dm = ?
WHERE id = ? AND is_deleted = false
RETURNING id, name, public_key, description, is_public_dm, is_deleted
`

type SetUserPublicDMsParams struct {
	IsPublicDM bool
	ID         snowflake.ID
}

func (q *Queries) SetUserPublicDMs(ctx context.Context, arg SetUserPublicDMsParams) (User, error) {
	row := q.db.QueryRowContext(ctx, setUserPublicDMs, arg.IsPublicDM, arg.ID)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}

const setUserPublicKey = `-- name: SetUserPublicKey :one
UPDATE users SET
  public_key = ?
WHERE id = ? AND is_deleted = false
RETURNING id, name, public_key, description, is_public_dm, is_deleted
`

type SetUserPublicKeyParams struct {
	PublicKey ed25519.PublicKey
	ID        snowflake.ID
}

func (q *Queries) SetUserPublicKey(ctx context.Context, arg SetUserPublicKeyParams) (User, error) {
	row := q.db.QueryRowContext(ctx, setUserPublicKey, arg.PublicKey, arg.ID)
	var i User
	err := row.Scan(
		&i.ID,
		&i.Name,
		&i.PublicKey,
		&i.Description,
		&i.IsPublicDM,
		&i.IsDeleted,
	)
	return i, err
}