// 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 }