mirror of
https://github.com/Kyren223/eko.git
synced 2026-03-11 10:25:35 +00:00
220 lines
4.7 KiB
Go
220 lines
4.7 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 getBannedUsersInNetwork = `-- name: GetBannedUsersInNetwork :many
|
|
SELECT
|
|
users.id, users.name, users.public_key, users.description, users.is_public_dm, users.is_deleted,
|
|
network_banned_users.banned_at,
|
|
network_banned_users.reason
|
|
FROM network_banned_users
|
|
JOIN users ON users.id = network_banned_users.banned_user_id
|
|
WHERE network_banned_users.network_id = ?
|
|
`
|
|
|
|
type GetBannedUsersInNetworkRow struct {
|
|
User User
|
|
BannedAt string
|
|
Reason *string
|
|
}
|
|
|
|
func (q *Queries) GetBannedUsersInNetwork(ctx context.Context, networkID snowflake.ID) ([]GetBannedUsersInNetworkRow, error) {
|
|
rows, err := q.db.QueryContext(ctx, getBannedUsersInNetwork, networkID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetBannedUsersInNetworkRow
|
|
for rows.Next() {
|
|
var i GetBannedUsersInNetworkRow
|
|
if err := rows.Scan(
|
|
&i.User.ID,
|
|
&i.User.Name,
|
|
&i.User.PublicKey,
|
|
&i.User.Description,
|
|
&i.User.IsPublicDM,
|
|
&i.User.IsDeleted,
|
|
&i.BannedAt,
|
|
&i.Reason,
|
|
); 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 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 getUsersInNetwork = `-- name: GetUsersInNetwork :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 = ?
|
|
`
|
|
|
|
type GetUsersInNetworkRow struct {
|
|
User User
|
|
JoinedAt string
|
|
IsAdmin bool
|
|
IsMuted bool
|
|
}
|
|
|
|
func (q *Queries) GetUsersInNetwork(ctx context.Context, networkID snowflake.ID) ([]GetUsersInNetworkRow, error) {
|
|
rows, err := q.db.QueryContext(ctx, getUsersInNetwork, networkID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetUsersInNetworkRow
|
|
for rows.Next() {
|
|
var i GetUsersInNetworkRow
|
|
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
|
|
}
|