dbots/internal/db/bot_co_owners.sql.go
2026-04-17 22:05:05 +02:00

138 lines
3.3 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: bot_co_owners.sql
package db
import (
"context"
)
const addBotCoOwner = `-- name: AddBotCoOwner :exec
INSERT INTO bot_co_owners (bot_id, user_id)
VALUES ($1, $2)
ON CONFLICT DO NOTHING
`
type AddBotCoOwnerParams struct {
BotID string `json:"bot_id"`
UserID string `json:"user_id"`
}
func (q *Queries) AddBotCoOwner(ctx context.Context, arg AddBotCoOwnerParams) error {
_, err := q.db.Exec(ctx, addBotCoOwner, arg.BotID, arg.UserID)
return err
}
const getBotCoOwner = `-- name: GetBotCoOwner :one
SELECT bot_id, user_id FROM bot_co_owners
WHERE bot_id = $1 AND user_id = $2
`
type GetBotCoOwnerParams struct {
BotID string `json:"bot_id"`
UserID string `json:"user_id"`
}
func (q *Queries) GetBotCoOwner(ctx context.Context, arg GetBotCoOwnerParams) (*BotCoOwner, error) {
row := q.db.QueryRow(ctx, getBotCoOwner, arg.BotID, arg.UserID)
var i BotCoOwner
err := row.Scan(&i.BotID, &i.UserID)
return &i, err
}
const listBotsByCoOwner = `-- name: ListBotsByCoOwner :many
SELECT b.id, b.username, b.avatar, b.overview, b.description, b.is_slash, b.install_context, b.guild_count, b.install_count, b.imported_from, b.prefix, b.created_at, b.updated_at, b.status, b.main_owner_id
FROM bot_co_owners bco
JOIN bots b ON b.id = bco.bot_id
WHERE bco.user_id = $1
`
func (q *Queries) ListBotsByCoOwner(ctx context.Context, userID string) ([]*Bot, error) {
rows, err := q.db.Query(ctx, listBotsByCoOwner, userID)
if err != nil {
return nil, err
}
defer rows.Close()
items := []*Bot{}
for rows.Next() {
var i Bot
if err := rows.Scan(
&i.ID,
&i.Username,
&i.Avatar,
&i.Overview,
&i.Description,
&i.IsSlash,
&i.InstallContext,
&i.GuildCount,
&i.InstallCount,
&i.ImportedFrom,
&i.Prefix,
&i.CreatedAt,
&i.UpdatedAt,
&i.Status,
&i.MainOwnerID,
); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listCoOwnersByBot = `-- name: ListCoOwnersByBot :many
SELECT u.id, u.username, u.biography
FROM bot_co_owners bco
JOIN users u ON u.id = bco.user_id
WHERE bco.bot_id = $1
`
func (q *Queries) ListCoOwnersByBot(ctx context.Context, botID string) ([]*User, error) {
rows, err := q.db.Query(ctx, listCoOwnersByBot, botID)
if err != nil {
return nil, err
}
defer rows.Close()
items := []*User{}
for rows.Next() {
var i User
if err := rows.Scan(&i.ID, &i.Username, &i.Biography); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const removeAllCoOwnersByBot = `-- name: RemoveAllCoOwnersByBot :exec
DELETE FROM bot_co_owners
WHERE bot_id = $1
`
func (q *Queries) RemoveAllCoOwnersByBot(ctx context.Context, botID string) error {
_, err := q.db.Exec(ctx, removeAllCoOwnersByBot, botID)
return err
}
const removeBotCoOwner = `-- name: RemoveBotCoOwner :exec
DELETE FROM bot_co_owners
WHERE bot_id = $1 AND user_id = $2
`
type RemoveBotCoOwnerParams struct {
BotID string `json:"bot_id"`
UserID string `json:"user_id"`
}
func (q *Queries) RemoveBotCoOwner(ctx context.Context, arg RemoveBotCoOwnerParams) error {
_, err := q.db.Exec(ctx, removeBotCoOwner, arg.BotID, arg.UserID)
return err
}