// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: zoom.sql package db import ( "context" "database/sql" ) const CleanupOldZoomLevels = `-- name: CleanupOldZoomLevels :exec DELETE FROM zoom_levels WHERE updated_at < datetime('now', '-' || ? || ' days') ` // Cleanup zoom level entries older than specified days func (q *Queries) CleanupOldZoomLevels(ctx context.Context, dollar_1 sql.NullString) error { _, err := q.db.ExecContext(ctx, CleanupOldZoomLevels, dollar_1) return err } const DeleteZoomLevel = `-- name: DeleteZoomLevel :exec DELETE FROM zoom_levels WHERE domain = ? ` // Delete zoom level setting for a domain func (q *Queries) DeleteZoomLevel(ctx context.Context, domain string) error { _, err := q.db.ExecContext(ctx, DeleteZoomLevel, domain) return err } const GetZoomLevel = `-- name: GetZoomLevel :one SELECT zoom_factor FROM zoom_levels WHERE domain = ? LIMIT 1 ` // Get zoom level for a specific domain func (q *Queries) GetZoomLevel(ctx context.Context, domain string) (float64, error) { row := q.db.QueryRowContext(ctx, GetZoomLevel, domain) var zoom_factor float64 err := row.Scan(&zoom_factor) return zoom_factor, err } const GetZoomLevelWithDefault = `-- name: GetZoomLevelWithDefault :one SELECT COALESCE( (SELECT zoom_factor FROM zoom_levels WHERE domain = ? LIMIT 1), 1.0 ) as zoom_factor ` // Get zoom level for domain with default fallback func (q *Queries) GetZoomLevelWithDefault(ctx context.Context, domain string) (interface{}, error) { row := q.db.QueryRowContext(ctx, GetZoomLevelWithDefault, domain) var zoom_factor interface{} err := row.Scan(&zoom_factor) return zoom_factor, err } const ListZoomLevels = `-- name: ListZoomLevels :many SELECT domain, zoom_factor, updated_at FROM zoom_levels ORDER BY updated_at DESC ` // List all zoom level settings ordered by most recently updated func (q *Queries) ListZoomLevels(ctx context.Context) ([]ZoomLevel, error) { rows, err := q.db.QueryContext(ctx, ListZoomLevels) if err != nil { return nil, err } defer rows.Close() items := []ZoomLevel{} for rows.Next() { var i ZoomLevel if err := rows.Scan(&i.Domain, &i.ZoomFactor, &i.UpdatedAt); 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 SetZoomLevel = `-- name: SetZoomLevel :exec INSERT INTO zoom_levels (domain, zoom_factor, updated_at) VALUES (?, ?, CURRENT_TIMESTAMP) ON CONFLICT(domain) DO UPDATE SET zoom_factor = excluded.zoom_factor, updated_at = excluded.updated_at ` // Set or update zoom level for a domain with validation func (q *Queries) SetZoomLevel(ctx context.Context, domain string, zoomFactor float64) error { _, err := q.db.ExecContext(ctx, SetZoomLevel, domain, zoomFactor) return err }