mirror of
https://github.com/Kyren223/eko.git
synced 2026-03-10 09:55:36 +00:00
387 lines
8.0 KiB
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
|
|
}
|