| 1 | // Code generated by sqlc. DO NOT EDIT. |
| 2 | // versions: |
| 3 | // sqlc v1.31.1 |
| 4 | |
| 5 | package admindb |
| 6 | |
| 7 | import ( |
| 8 | "context" |
| 9 | ) |
| 10 | |
| 11 | type Querier interface { |
| 12 | // Mark a job dead without running it. Caller has already confirmed. |
| 13 | AdminDiscardJob(ctx context.Context, db DBTX, id int64) error |
| 14 | // Re-arm a failed/dead job for immediate retry: clear failure state, |
| 15 | // reset attempts, and set run_at to now() so the pool picks it up |
| 16 | // on the next tick. |
| 17 | AdminRetryJob(ctx context.Context, db DBTX, id int64) error |
| 18 | CountActiveOrgs(ctx context.Context, db DBTX) (int64, error) |
| 19 | CountActiveRepos(ctx context.Context, db DBTX) (int64, error) |
| 20 | // SPDX-License-Identifier: AGPL-3.0-or-later |
| 21 | // |
| 22 | // Admin-only query surface for /admin/*. Non-admin handlers should |
| 23 | // use the per-domain packages (usersdb, reposdb, …) directly. This |
| 24 | // file collects the cross-cutting reads + writes the admin UI needs: |
| 25 | // * dashboard counts |
| 26 | // * user/repo listings with admin-only filters (suspended, deleted) |
| 27 | // * site-admin flag toggle |
| 28 | // * transactional_email_log read/write |
| 29 | // |
| 30 | // Queries that already exist in their domain package (e.g. |
| 31 | // users.SuspendUser) are reused directly — no duplication here. |
| 32 | // ─── dashboard counts ──────────────────────────────────────────── |
| 33 | CountActiveUsers(ctx context.Context, db DBTX) (int64, error) |
| 34 | // Status is derived from the timestamp columns since the jobs table |
| 35 | // doesn't carry an enum: completed > failed > running > queued. |
| 36 | CountJobsByStatus(ctx context.Context, db DBTX) ([]CountJobsByStatusRow, error) |
| 37 | CountSiteAdmins(ctx context.Context, db DBTX) (int64, error) |
| 38 | CountSuspendedUsers(ctx context.Context, db DBTX) (int64, error) |
| 39 | GetJobForAdmin(ctx context.Context, db DBTX, id int64) (Job, error) |
| 40 | // ─── transactional email log ───────────────────────────────────── |
| 41 | InsertTransactionalEmail(ctx context.Context, db DBTX, arg InsertTransactionalEmailParams) (int64, error) |
| 42 | // ─── audit log viewer ──────────────────────────────────────────── |
| 43 | // Filters: actor, action prefix, target type+id, time range. Keyset |
| 44 | // pagination on (created_at, id) keeps deep pages cheap. |
| 45 | ListAuditForAdmin(ctx context.Context, db DBTX, arg ListAuditForAdminParams) ([]AuthAuditLog, error) |
| 46 | // ─── jobs queue inspector ──────────────────────────────────────── |
| 47 | // The admin can filter by kind + status (computed from the timestamp |
| 48 | // columns). Status filter values: queued | running | failed | completed. |
| 49 | ListJobsForAdmin(ctx context.Context, db DBTX, arg ListJobsForAdminParams) ([]ListJobsForAdminRow, error) |
| 50 | // Admin email-queue surface. Most recent first; status filter optional. |
| 51 | ListRecentTransactionalEmails(ctx context.Context, db DBTX, arg ListRecentTransactionalEmailsParams) ([]TransactionalEmailLog, error) |
| 52 | // ─── repos list ────────────────────────────────────────────────── |
| 53 | ListReposForAdmin(ctx context.Context, db DBTX, arg ListReposForAdminParams) ([]ListReposForAdminRow, error) |
| 54 | // ─── users list ────────────────────────────────────────────────── |
| 55 | // Filters: optional username prefix, optional suspended/deleted-only. |
| 56 | // All filters use sqlc.narg so the empty case is "no filter". |
| 57 | ListUsersForAdmin(ctx context.Context, db DBTX, arg ListUsersForAdminParams) ([]ListUsersForAdminRow, error) |
| 58 | MarkTransactionalEmailDelivered(ctx context.Context, db DBTX, id int64) error |
| 59 | MarkTransactionalEmailFailed(ctx context.Context, db DBTX, arg MarkTransactionalEmailFailedParams) error |
| 60 | SetUserSiteAdmin(ctx context.Context, db DBTX, arg SetUserSiteAdminParams) error |
| 61 | } |
| 62 | |
| 63 | var _ Querier = (*Queries)(nil) |
| 64 |