Files
eko/internal/data/networks.sql.go

387 lines
8.0 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.27.0
// source: networks.sql
package data
import (
"context"
"github.com/kyren223/eko/pkg/snowflake"
)
const createNetwork = `-- name: CreateNetwork :one
INSERT INTO networks (
id, owner_id, name, is_public,
icon, bg_hex_color, fg_hex_color
) VALUES (
?, ?, ?, ?,
?, ?, ?
)
RETURNING id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public
`
type CreateNetworkParams struct {
ID snowflake.ID
OwnerID snowflake.ID
Name string
IsPublic bool
Icon string
BgHexColor string
FgHexColor string
}
func (q *Queries) CreateNetwork(ctx context.Context, arg CreateNetworkParams) (Network, error) {
row := q.db.QueryRowContext(ctx, createNetwork,
arg.ID,
arg.OwnerID,
arg.Name,
arg.IsPublic,
arg.Icon,
arg.BgHexColor,
arg.FgHexColor,
)
var i Network
err := row.Scan(
&i.ID,
&i.OwnerID,
&i.Name,
&i.Icon,
&i.BgHexColor,
&i.FgHexColor,
&i.IsPublic,
)
return i, err
}
const deleteNetwork = `-- name: DeleteNetwork :exec
DELETE FROM networks WHERE id = ?
`
func (q *Queries) DeleteNetwork(ctx context.Context, id snowflake.ID) error {
_, err := q.db.ExecContext(ctx, deleteNetwork, id)
return err
}
const getNetworkBannedUsers = `-- name: GetNetworkBannedUsers :many
SELECT
users.id, users.name, users.public_key, users.description, users.is_public_dm, users.is_deleted,
users_networks.ban_reason
FROM users_networks
JOIN users ON users.id = users_networks.user_id
WHERE users_networks.network_id = ?
`
type GetNetworkBannedUsersRow struct {
User User
BanReason *string
}
func (q *Queries) GetNetworkBannedUsers(ctx context.Context, networkID snowflake.ID) ([]GetNetworkBannedUsersRow, error) {
rows, err := q.db.QueryContext(ctx, getNetworkBannedUsers, networkID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetNetworkBannedUsersRow
for rows.Next() {
var i GetNetworkBannedUsersRow
if err := rows.Scan(
&i.User.ID,
&i.User.Name,
&i.User.PublicKey,
&i.User.Description,
&i.User.IsPublicDM,
&i.User.IsDeleted,
&i.BanReason,
); 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 getNetworkById = `-- name: GetNetworkById :one
SELECT id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public FROM networks
WHERE id = ?
`
func (q *Queries) GetNetworkById(ctx context.Context, id snowflake.ID) (Network, error) {
row := q.db.QueryRowContext(ctx, getNetworkById, 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 getNetworkMembers = `-- name: GetNetworkMembers :many
SELECT
users.id, users.name, users.public_key, users.description, users.is_public_dm, users.is_deleted,
users_networks.joined_at,
users_networks.is_admin,
users_networks.is_muted
FROM users_networks
JOIN users ON users.id = users_networks.user_id
WHERE users_networks.network_id = ? AND is_member = true
`
type GetNetworkMembersRow struct {
User User
JoinedAt string
IsAdmin bool
IsMuted bool
}
func (q *Queries) GetNetworkMembers(ctx context.Context, networkID snowflake.ID) ([]GetNetworkMembersRow, error) {
rows, err := q.db.QueryContext(ctx, getNetworkMembers, networkID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetNetworkMembersRow
for rows.Next() {
var i GetNetworkMembersRow
if err := rows.Scan(
&i.User.ID,
&i.User.Name,
&i.User.PublicKey,
&i.User.Description,
&i.User.IsPublicDM,
&i.User.IsDeleted,
&i.JoinedAt,
&i.IsAdmin,
&i.IsMuted,
); 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 getPublicNetworks = `-- name: GetPublicNetworks :many
SELECT id, owner_id, name, icon, bg_hex_color, fg_hex_color, is_public FROM networks
WHERE is_public = true
`
func (q *Queries) GetPublicNetworks(ctx context.Context) ([]Network, error) {
rows, err := q.db.QueryContext(ctx, getPublicNetworks)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Network
for rows.Next() {
var i Network
if err := rows.Scan(
&i.ID,
&i.OwnerID,
&i.Name,
&i.Icon,
&i.BgHexColor,
&i.FgHexColor,
&i.IsPublic,
); 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 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 setNetworkUser = `-- name: SetNetworkUser :one
INSERT INTO users_networks (
user_id, network_id,
is_member, is_admin, is_muted,
is_banned, ban_reason
) VALUES (
?, ?,
?, ?, ?,
?, ?
)
ON CONFLICT DO
UPDATE SET
is_member = ?, is_admin = ?, is_muted = ?,
is_banned = ?, ban_reason = ?
WHERE user_id = ? AND network_id = ?
RETURNING user_id, network_id, joined_at, is_member, is_admin, is_muted, is_banned, ban_reason
`
type SetNetworkUserParams struct {
UserID snowflake.ID
NetworkID snowflake.ID
IsMember bool
IsAdmin bool
IsMuted bool
IsBanned bool
BanReason *string
}
func (q *Queries) SetNetworkUser(ctx context.Context, arg SetNetworkUserParams) (UsersNetwork, error) {
row := q.db.QueryRowContext(ctx, setNetworkUser,
arg.UserID,
arg.NetworkID,
arg.IsMember,
arg.IsAdmin,
arg.IsMuted,
arg.IsBanned,
arg.BanReason,
)
var i UsersNetwork
err := row.Scan(
&i.UserID,
&i.NetworkID,
&i.JoinedAt,
&i.IsMember,
&i.IsAdmin,
&i.IsMuted,
&i.IsBanned,
&i.BanReason,
)
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
}