Files
eko/internal/data/trusted_and_blocked_users.sql.go
Kyren223 f793203e04 Added session duration metrics with device analytics along with device
analytics metrics in the DB to aggregate and DeviceID abuse prevention
2025-07-19 18:32:12 +03:00

200 lines
5.2 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: trusted_and_blocked_users.sql
package data
import (
"context"
"crypto/ed25519"
"github.com/kyren223/eko/pkg/snowflake"
)
const blockUser = `-- name: BlockUser :exec
INSERT OR IGNORE INTO blocked_users (
blocking_user_id, blocked_user_id
) VALUES (?, ?)
`
type BlockUserParams struct {
BlockingUserID snowflake.ID
BlockedUserID snowflake.ID
}
func (q *Queries) BlockUser(ctx context.Context, arg BlockUserParams) error {
_, err := q.db.ExecContext(ctx, blockUser, arg.BlockingUserID, arg.BlockedUserID)
return err
}
const getBlockedUsers = `-- name: GetBlockedUsers :many
SELECT blocked_user_id FROM blocked_users
WHERE blocking_user_id = ?
`
func (q *Queries) GetBlockedUsers(ctx context.Context, blockingUserID snowflake.ID) ([]snowflake.ID, error) {
rows, err := q.db.QueryContext(ctx, getBlockedUsers, blockingUserID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []snowflake.ID
for rows.Next() {
var blocked_user_id snowflake.ID
if err := rows.Scan(&blocked_user_id); err != nil {
return nil, err
}
items = append(items, blocked_user_id)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getBlockingUsers = `-- name: GetBlockingUsers :many
SELECT blocking_user_id FROM blocked_users
WHERE blocked_user_id = ?
`
func (q *Queries) GetBlockingUsers(ctx context.Context, blockedUserID snowflake.ID) ([]snowflake.ID, error) {
rows, err := q.db.QueryContext(ctx, getBlockingUsers, blockedUserID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []snowflake.ID
for rows.Next() {
var blocking_user_id snowflake.ID
if err := rows.Scan(&blocking_user_id); err != nil {
return nil, err
}
items = append(items, blocking_user_id)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getTrustedPublicKey = `-- name: GetTrustedPublicKey :one
SELECT trusted_public_key FROM trusted_users
WHERE trusting_user_id = ? AND trusted_user_id = ?
`
type GetTrustedPublicKeyParams struct {
TrustingUserID snowflake.ID
TrustedUserID snowflake.ID
}
func (q *Queries) GetTrustedPublicKey(ctx context.Context, arg GetTrustedPublicKeyParams) (ed25519.PublicKey, error) {
row := q.db.QueryRowContext(ctx, getTrustedPublicKey, arg.TrustingUserID, arg.TrustedUserID)
var trusted_public_key ed25519.PublicKey
err := row.Scan(&trusted_public_key)
return trusted_public_key, err
}
const getTrustedUsers = `-- name: GetTrustedUsers :many
SELECT trusted_user_id, trusted_public_key FROM trusted_users
WHERE trusting_user_id = ?
`
type GetTrustedUsersRow struct {
TrustedUserID snowflake.ID
TrustedPublicKey ed25519.PublicKey
}
func (q *Queries) GetTrustedUsers(ctx context.Context, trustingUserID snowflake.ID) ([]GetTrustedUsersRow, error) {
rows, err := q.db.QueryContext(ctx, getTrustedUsers, trustingUserID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetTrustedUsersRow
for rows.Next() {
var i GetTrustedUsersRow
if err := rows.Scan(&i.TrustedUserID, &i.TrustedPublicKey); 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 isUserBlocked = `-- name: IsUserBlocked :one
SELECT blocked_user_id FROM blocked_users
WHERE blocking_user_id = ? AND blocked_user_id = ?
`
type IsUserBlockedParams struct {
BlockingUserID snowflake.ID
BlockedUserID snowflake.ID
}
func (q *Queries) IsUserBlocked(ctx context.Context, arg IsUserBlockedParams) (snowflake.ID, error) {
row := q.db.QueryRowContext(ctx, isUserBlocked, arg.BlockingUserID, arg.BlockedUserID)
var blocked_user_id snowflake.ID
err := row.Scan(&blocked_user_id)
return blocked_user_id, err
}
const trustUser = `-- name: TrustUser :exec
INSERT OR IGNORE INTO trusted_users (
trusting_user_id, trusted_user_id, trusted_public_key
) VALUES (?, ?, ?)
`
type TrustUserParams struct {
TrustingUserID snowflake.ID
TrustedUserID snowflake.ID
TrustedPublicKey ed25519.PublicKey
}
func (q *Queries) TrustUser(ctx context.Context, arg TrustUserParams) error {
_, err := q.db.ExecContext(ctx, trustUser, arg.TrustingUserID, arg.TrustedUserID, arg.TrustedPublicKey)
return err
}
const unblockUser = `-- name: UnblockUser :exec
DELETE FROM blocked_users
WHERE blocking_user_id = ? AND blocked_user_id = ?
`
type UnblockUserParams struct {
BlockingUserID snowflake.ID
BlockedUserID snowflake.ID
}
func (q *Queries) UnblockUser(ctx context.Context, arg UnblockUserParams) error {
_, err := q.db.ExecContext(ctx, unblockUser, arg.BlockingUserID, arg.BlockedUserID)
return err
}
const untrustUser = `-- name: UntrustUser :exec
DELETE FROM trusted_users
WHERE trusting_user_id = ? AND trusted_user_id = ?
`
type UntrustUserParams struct {
TrustingUserID snowflake.ID
TrustedUserID snowflake.ID
}
func (q *Queries) UntrustUser(ctx context.Context, arg UntrustUserParams) error {
_, err := q.db.ExecContext(ctx, untrustUser, arg.TrustingUserID, arg.TrustedUserID)
return err
}