// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 package admindb import ( "context" ) type Querier interface { // Mark a job dead without running it. Caller has already confirmed. AdminDiscardJob(ctx context.Context, db DBTX, id int64) error // Re-arm a failed/dead job for immediate retry: clear failure state, // reset attempts, and set run_at to now() so the pool picks it up // on the next tick. AdminRetryJob(ctx context.Context, db DBTX, id int64) error CountActiveOrgs(ctx context.Context, db DBTX) (int64, error) CountActiveRepos(ctx context.Context, db DBTX) (int64, error) // SPDX-License-Identifier: AGPL-3.0-or-later // // Admin-only query surface for /admin/*. Non-admin handlers should // use the per-domain packages (usersdb, reposdb, …) directly. This // file collects the cross-cutting reads + writes the admin UI needs: // * dashboard counts // * user/repo listings with admin-only filters (suspended, deleted) // * site-admin flag toggle // * transactional_email_log read/write // // Queries that already exist in their domain package (e.g. // users.SuspendUser) are reused directly — no duplication here. // ─── dashboard counts ──────────────────────────────────────────── CountActiveUsers(ctx context.Context, db DBTX) (int64, error) // Status is derived from the timestamp columns since the jobs table // doesn't carry an enum: completed > failed > running > queued. CountJobsByStatus(ctx context.Context, db DBTX) ([]CountJobsByStatusRow, error) CountSiteAdmins(ctx context.Context, db DBTX) (int64, error) CountSuspendedUsers(ctx context.Context, db DBTX) (int64, error) GetJobForAdmin(ctx context.Context, db DBTX, id int64) (Job, error) // ─── transactional email log ───────────────────────────────────── InsertTransactionalEmail(ctx context.Context, db DBTX, arg InsertTransactionalEmailParams) (int64, error) // ─── audit log viewer ──────────────────────────────────────────── // Filters: actor, action prefix, target type+id, time range. Keyset // pagination on (created_at, id) keeps deep pages cheap. ListAuditForAdmin(ctx context.Context, db DBTX, arg ListAuditForAdminParams) ([]AuthAuditLog, error) // ─── jobs queue inspector ──────────────────────────────────────── // The admin can filter by kind + status (computed from the timestamp // columns). Status filter values: queued | running | failed | completed. ListJobsForAdmin(ctx context.Context, db DBTX, arg ListJobsForAdminParams) ([]ListJobsForAdminRow, error) // Admin email-queue surface. Most recent first; status filter optional. ListRecentTransactionalEmails(ctx context.Context, db DBTX, arg ListRecentTransactionalEmailsParams) ([]TransactionalEmailLog, error) // ─── repos list ────────────────────────────────────────────────── ListReposForAdmin(ctx context.Context, db DBTX, arg ListReposForAdminParams) ([]ListReposForAdminRow, error) // ─── users list ────────────────────────────────────────────────── // Filters: optional username prefix, optional suspended/deleted-only. // All filters use sqlc.narg so the empty case is "no filter". ListUsersForAdmin(ctx context.Context, db DBTX, arg ListUsersForAdminParams) ([]ListUsersForAdminRow, error) MarkTransactionalEmailDelivered(ctx context.Context, db DBTX, id int64) error MarkTransactionalEmailFailed(ctx context.Context, db DBTX, arg MarkTransactionalEmailFailedParams) error SetUserSiteAdmin(ctx context.Context, db DBTX, arg SetUserSiteAdminParams) error } var _ Querier = (*Queries)(nil)