summaryrefslogtreecommitdiff
path: root/internal/data/messages.sql.go
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-11-23 22:43:41 +0200
committerKyren223 <Kyren223@proton.me>2024-11-23 22:43:41 +0200
commitc17319d6fd23a0c85668ec55ee2a3cea9995b6fe (patch)
treeb8aa323fb2b0bb694696fc6455d10b68242e87e1 /internal/data/messages.sql.go
parent91bbd29dbe2738459cef83b5204844a2c136a84f (diff)
Fixed typo and generated sqlc code
Diffstat (limited to 'internal/data/messages.sql.go')
-rw-r--r--internal/data/messages.sql.go87
1 files changed, 84 insertions, 3 deletions
diff --git a/internal/data/messages.sql.go b/internal/data/messages.sql.go
index 33e010d..43edb7d 100644
--- a/internal/data/messages.sql.go
+++ b/internal/data/messages.sql.go
@@ -48,13 +48,94 @@ func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (M
return i, err
}
-const listMessages = `-- name: ListMessages :many
+const deleteMessage = `-- name: DeleteMessage :exec
+DELETE FROM messages
+WHERE id = ?
+`
+
+func (q *Queries) DeleteMessage(ctx context.Context, id snowflake.ID) error {
+ _, err := q.db.ExecContext(ctx, deleteMessage, id)
+ return err
+}
+
+const editMessage = `-- name: EditMessage :one
+UPDATE messages SET
+ edited = true,
+ content = ?
+WHERE id = ?
+RETURNING id, sender_id, content, edited, frequency_id, receiver_id
+`
+
+type EditMessageParams struct {
+ Content string
+ ID snowflake.ID
+}
+
+func (q *Queries) EditMessage(ctx context.Context, arg EditMessageParams) (Message, error) {
+ row := q.db.QueryRowContext(ctx, editMessage, arg.Content, arg.ID)
+ var i Message
+ err := row.Scan(
+ &i.ID,
+ &i.SenderID,
+ &i.Content,
+ &i.Edited,
+ &i.FrequencyID,
+ &i.ReceiverID,
+ )
+ return i, err
+}
+
+const getDirectMessages = `-- name: GetDirectMessages :many
+SELECT id, sender_id, content, edited, frequency_id, receiver_id FROM messages
+WHERE
+ (sender_id = ?1 AND receiver_id = ?2) OR
+ (sender_id = ?2 AND receiver_id = ?1)
+ORDER BY id
+`
+
+type GetDirectMessagesParams struct {
+ User1 snowflake.ID
+ User2 *snowflake.ID
+}
+
+func (q *Queries) GetDirectMessages(ctx context.Context, arg GetDirectMessagesParams) ([]Message, error) {
+ rows, err := q.db.QueryContext(ctx, getDirectMessages, arg.User1, arg.User2)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+ var items []Message
+ for rows.Next() {
+ var i Message
+ if err := rows.Scan(
+ &i.ID,
+ &i.SenderID,
+ &i.Content,
+ &i.Edited,
+ &i.FrequencyID,
+ &i.ReceiverID,
+ ); err != nil {
+ return nil, err
+ }
+ items = append(items, i)
+ }
+ if err := rows.Close(); err != nil {
+ return nil, err
+ }
+ if err := rows.Err(); err != nil {
+ return nil, err
+ }
+ return items, nil
+}
+
+const getFrequencyMessages = `-- name: GetFrequencyMessages :many
SELECT id, sender_id, content, edited, frequency_id, receiver_id FROM messages
+WHERE frequency_id = ?
ORDER BY id
`
-func (q *Queries) ListMessages(ctx context.Context) ([]Message, error) {
- rows, err := q.db.QueryContext(ctx, listMessages)
+func (q *Queries) GetFrequencyMessages(ctx context.Context, frequencyID *snowflake.ID) ([]Message, error) {
+ rows, err := q.db.QueryContext(ctx, getFrequencyMessages, frequencyID)
if err != nil {
return nil, err
}