Go · 4104 bytes Raw Blame History
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