summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/data/frequencies.sql.go98
-rw-r--r--internal/data/messages.sql.go87
-rw-r--r--internal/data/networks.sql.go117
3 files changed, 298 insertions, 4 deletions
diff --git a/internal/data/frequencies.sql.go b/internal/data/frequencies.sql.go
index ae7cd43..3782309 100644
--- a/internal/data/frequencies.sql.go
+++ b/internal/data/frequencies.sql.go
@@ -60,10 +60,28 @@ func (q *Queries) DeleteFrequency(ctx context.Context, id snowflake.ID) error {
return err
}
+const getFrequencyById = `-- name: GetFrequencyById :one
+SELECT id, network_id, name, hex_color, perms, position FROM frequencies
+WHERE id = ?
+`
+
+func (q *Queries) GetFrequencyById(ctx context.Context, id snowflake.ID) (Frequency, error) {
+ row := q.db.QueryRowContext(ctx, getFrequencyById, id)
+ var i Frequency
+ err := row.Scan(
+ &i.ID,
+ &i.NetworkID,
+ &i.Name,
+ &i.HexColor,
+ &i.Perms,
+ &i.Position,
+ )
+ return i, err
+}
+
const getNetworkFrequencies = `-- name: GetNetworkFrequencies :many
SELECT id, network_id, name, hex_color, perms, position FROM frequencies
WHERE network_id = ?
-ORDER BY id
`
func (q *Queries) GetNetworkFrequencies(ctx context.Context, networkID snowflake.ID) ([]Frequency, error) {
@@ -96,6 +114,84 @@ func (q *Queries) GetNetworkFrequencies(ctx context.Context, networkID snowflake
return items, nil
}
+const setFrequencyColor = `-- name: SetFrequencyColor :one
+UPDATE frequencies SET
+ hex_color = ?
+WHERE id = ?
+RETURNING id, network_id, name, hex_color, perms, position
+`
+
+type SetFrequencyColorParams struct {
+ HexColor *string
+ ID snowflake.ID
+}
+
+func (q *Queries) SetFrequencyColor(ctx context.Context, arg SetFrequencyColorParams) (Frequency, error) {
+ row := q.db.QueryRowContext(ctx, setFrequencyColor, arg.HexColor, arg.ID)
+ var i Frequency
+ err := row.Scan(
+ &i.ID,
+ &i.NetworkID,
+ &i.Name,
+ &i.HexColor,
+ &i.Perms,
+ &i.Position,
+ )
+ return i, err
+}
+
+const setFrequencyName = `-- name: SetFrequencyName :one
+UPDATE frequencies SET
+ name = ?
+WHERE id = ?
+RETURNING id, network_id, name, hex_color, perms, position
+`
+
+type SetFrequencyNameParams struct {
+ Name string
+ ID snowflake.ID
+}
+
+func (q *Queries) SetFrequencyName(ctx context.Context, arg SetFrequencyNameParams) (Frequency, error) {
+ row := q.db.QueryRowContext(ctx, setFrequencyName, arg.Name, arg.ID)
+ var i Frequency
+ err := row.Scan(
+ &i.ID,
+ &i.NetworkID,
+ &i.Name,
+ &i.HexColor,
+ &i.Perms,
+ &i.Position,
+ )
+ return i, err
+}
+
+const setFrequencyPerms = `-- name: SetFrequencyPerms :one
+UPDATE frequencies SET
+ perms = ?
+WHERE id = ?
+RETURNING id, network_id, name, hex_color, perms, position
+`
+
+type SetFrequencyPermsParams struct {
+ Perms int64
+ ID snowflake.ID
+}
+
+func (q *Queries) SetFrequencyPerms(ctx context.Context, arg SetFrequencyPermsParams) (Frequency, error) {
+ row := q.db.QueryRowContext(ctx, setFrequencyPerms, arg.Perms, arg.ID)
+ var i Frequency
+ err := row.Scan(
+ &i.ID,
+ &i.NetworkID,
+ &i.Name,
+ &i.HexColor,
+ &i.Perms,
+ &i.Position,
+ )
+ return i, err
+}
+
const swapFrequencies = `-- name: SwapFrequencies :exec
UPDATE frequencies SET
position = CASE
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
}
diff --git a/internal/data/networks.sql.go b/internal/data/networks.sql.go
index 0752609..4b9e390 100644
--- a/internal/data/networks.sql.go
+++ b/internal/data/networks.sql.go
@@ -217,3 +217,120 @@ func (q *Queries) GetUsersInNetwork(ctx context.Context, networkID snowflake.ID)
}
return items, nil
}
+
+const setNetworkIcon = `-- name: SetNetworkIcon :one
+UPDATE networks SET
+ icon = ?,
+ bg_hex_color = ?,
+ fg_hex_color = ?
+WHERE id = ?
+RETURNING id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public
+`
+
+type SetNetworkIconParams struct {
+ Icon string
+ BgHexColor *string
+ FgHexColor string
+ ID snowflake.ID
+}
+
+func (q *Queries) SetNetworkIcon(ctx context.Context, arg SetNetworkIconParams) (Network, error) {
+ row := q.db.QueryRowContext(ctx, setNetworkIcon,
+ arg.Icon,
+ arg.BgHexColor,
+ arg.FgHexColor,
+ arg.ID,
+ )
+ var i Network
+ err := row.Scan(
+ &i.ID,
+ &i.OwnerID,
+ &i.Name,
+ &i.Icon,
+ &i.BgHexColor,
+ &i.FgHexColor,
+ &i.IsPublic,
+ )
+ return i, err
+}
+
+const setNetworkIsPublic = `-- name: SetNetworkIsPublic :one
+UPDATE networks SET
+ is_public = ?
+WHERE id = ?
+RETURNING id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public
+`
+
+type SetNetworkIsPublicParams struct {
+ IsPublic bool
+ ID snowflake.ID
+}
+
+func (q *Queries) SetNetworkIsPublic(ctx context.Context, arg SetNetworkIsPublicParams) (Network, error) {
+ row := q.db.QueryRowContext(ctx, setNetworkIsPublic, arg.IsPublic, arg.ID)
+ var i Network
+ err := row.Scan(
+ &i.ID,
+ &i.OwnerID,
+ &i.Name,
+ &i.Icon,
+ &i.BgHexColor,
+ &i.FgHexColor,
+ &i.IsPublic,
+ )
+ return i, err
+}
+
+const setNetworkName = `-- name: SetNetworkName :one
+UPDATE networks SET
+ name = ?
+WHERE id = ?
+RETURNING id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public
+`
+
+type SetNetworkNameParams struct {
+ Name string
+ ID snowflake.ID
+}
+
+func (q *Queries) SetNetworkName(ctx context.Context, arg SetNetworkNameParams) (Network, error) {
+ row := q.db.QueryRowContext(ctx, setNetworkName, arg.Name, arg.ID)
+ var i Network
+ err := row.Scan(
+ &i.ID,
+ &i.OwnerID,
+ &i.Name,
+ &i.Icon,
+ &i.BgHexColor,
+ &i.FgHexColor,
+ &i.IsPublic,
+ )
+ return i, err
+}
+
+const transferNetwork = `-- name: TransferNetwork :one
+UPDATE networks SET
+ owner_id = ?
+WHERE id = ?
+RETURNING id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public
+`
+
+type TransferNetworkParams struct {
+ OwnerID snowflake.ID
+ ID snowflake.ID
+}
+
+func (q *Queries) TransferNetwork(ctx context.Context, arg TransferNetworkParams) (Network, error) {
+ row := q.db.QueryRowContext(ctx, transferNetwork, arg.OwnerID, arg.ID)
+ var i Network
+ err := row.Scan(
+ &i.ID,
+ &i.OwnerID,
+ &i.Name,
+ &i.Icon,
+ &i.BgHexColor,
+ &i.FgHexColor,
+ &i.IsPublic,
+ )
+ return i, err
+}