- Schema: plans, orders subscription cols + plan_id + period_started_at, billing_events log, users.stripe_id + sms_credits, products.price_aud (db/schema.sql + Laravel migration, idempotent) - Laravel/Cashier: Billable User, checkout (annual sub + one-off SKUs with Managed Payments tax_code), webhook controller (signature-verified, idempotent, BILLING_ENABLED kill-switch), account tag transitions, nightly reconcile, Stripe portal link, PlanResource + billing dashboard - Go frontend: account-level gating (paid sub required), SMS pool (included 50/yr + credits, drawn after included), plan caps replace constants, 60s plan cache (credits fresh), 25-tag cap (plan max_tags) - BillingSeeder: personal plan + 3 SKUs + dev paid orders - Verified test-mode e2e: subscribe/paid/active/alerts, pool exhaust + credits resume, lapsed/suspended, cancelled/closed, recover/active, webhook idempotency, 25-cap, one-off SKUs, replacement, kill-switch, invalid signature 400
55 lines
2.9 KiB
Go
55 lines
2.9 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
type Querier interface {
|
|
AddSmsUsed(ctx context.Context, id int64) error
|
|
BindTag(ctx context.Context, arg BindTagParams) (Tag, error)
|
|
ClearTagOwner(ctx context.Context, id int64) (Tag, error)
|
|
// SMS pool draw: alerts sent for any tag owned by the account in the period.
|
|
CountAlertsByAccountSince(ctx context.Context, arg CountAlertsByAccountSinceParams) (int64, error)
|
|
CountAlertsByIPSince(ctx context.Context, arg CountAlertsByIPSinceParams) (int64, error)
|
|
CountAlertsByTagSince(ctx context.Context, arg CountAlertsByTagSinceParams) (int64, error)
|
|
// Live owned-tag count for the per-account cap: everything bound to the
|
|
// account except retired (closed) tags, including bound-but-unset codes.
|
|
CountOwnedTags(ctx context.Context, ownerID pgtype.Int8) (int64, error)
|
|
CountTagsByOwner(ctx context.Context, ownerID pgtype.Int8) (int64, error)
|
|
CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
|
|
// The account's current paid subscription order (if any), with its plan.
|
|
GetActiveOrderByAccount(ctx context.Context, accountID pgtype.Int8) (GetActiveOrderByAccountRow, error)
|
|
// Account-level gating for a tag: resolve the tag's owner account, then the
|
|
// account's active paid subscription order (with plan). Returns zero rows
|
|
// when the tag is unowned or the account has no paid order.
|
|
GetActiveOrderByOwner(ctx context.Context, id int64) (GetActiveOrderByOwnerRow, error)
|
|
GetLastAlertByTag(ctx context.Context, tagID int64) (Scan, error)
|
|
GetLatestScanByTag(ctx context.Context, tagID int64) (Scan, error)
|
|
GetOrderByID(ctx context.Context, id int64) (Order, error)
|
|
GetRecentScanByFingerprint(ctx context.Context, arg GetRecentScanByFingerprintParams) (Scan, error)
|
|
GetScanByID(ctx context.Context, id int64) (Scan, error)
|
|
GetShortCode(ctx context.Context, code string) (UrlShortened, error)
|
|
GetTagByCode(ctx context.Context, tagCode string) (Tag, error)
|
|
GetTagByID(ctx context.Context, id int64) (Tag, error)
|
|
GetUserByEmail(ctx context.Context, email string) (User, error)
|
|
GetUserByID(ctx context.Context, id int64) (User, error)
|
|
InsertScan(ctx context.Context, arg InsertScanParams) (Scan, error)
|
|
InsertShortCode(ctx context.Context, arg InsertShortCodeParams) (UrlShortened, error)
|
|
InsertTag(ctx context.Context, tagCode string) (Tag, error)
|
|
ListRecentScansWithTag(ctx context.Context, limit int32) ([]ListRecentScansWithTagRow, error)
|
|
ListTagsByOwner(ctx context.Context, ownerID pgtype.Int8) ([]Tag, error)
|
|
SetScanAlertSent(ctx context.Context, arg SetScanAlertSentParams) error
|
|
SetScanPhone(ctx context.Context, arg SetScanPhoneParams) error
|
|
SetTagStatus(ctx context.Context, arg SetTagStatusParams) error
|
|
UpdateTagDetails(ctx context.Context, arg UpdateTagDetailsParams) (Tag, error)
|
|
UpsertAdmin(ctx context.Context, arg UpsertAdminParams) (User, error)
|
|
}
|
|
|
|
var _ Querier = (*Queries)(nil)
|