master-zapier-plan-draft/docs/sphinx/modules/zappier/db/billing-repo.md
George Lambert 10c663cc0c Milestone 2: module/model docs (MD, Sphinx RST, PDF) and work log
74 source modules documented with extracted signatures, JSDoc params,
imports, and call graphs. 10 first-class models (PriceRule through
StatusResponse) have their own MD/RST/PDF. Sphinx HTML builds from
docs/sphinx. Per-module PDFs in docs/modules-pdf and docs/models-pdf.

Middleware gates 2–6 and 10 pass on MOCK_VERAE without NATS.

Learned: RST includes are relative to the RST file; keep one PDF per
module; Add Numbers remains the only push required tomorrow.
2026-09-09 02:44:51 -04:00

1.8 KiB
Raw Permalink Blame History

zappier/db/billing-repo

Package: zappier
Source: packages/zappier/src/db/billing-repo.ts
Lines: 69

What this module is

Implementation module in zappier. The tables below are extracted from the source (signatures + JSDoc).

Exports

BillingReportRepo, JobLockRepo, SqliteBillingReportRepo

Types / interfaces / classes

Kind Name
interface BillingReportRepo
interface JobLockRepo
class SqliteBillingReportRepo

Functions

No top-level functions extracted.

Methods (class / object)

Name Parameters
getReportedCents customerId: string, period: string
upsertReportedCents customerId: string, period: string, cumulativeCents: number
tryAcquireLock name: string, ttlMs: number
releaseLock name: string
constructor `private db: Database.Database,
private now: (`
getReportedCents customerId: string, period: string
upsertReportedCents customerId: string, period: string, cumulativeCents: number
tryAcquireLock name: string, ttlMs: number
releaseLock name: string

What it imports / requires

  • better-sqlite3

Call graph (identifiers invoked)

getReportedCents, upsertReportedCents, tryAcquireLock, releaseLock, constructor, exec, billing_reports, job_locks, prepare, get, run, now

Each identifier is a call site in this file. Follow the import list to see the defining module; open that modules MD for parameter and return types.

Return values (how to read this)

  • HTTP route handlers return Express res.json(...) bodies (see route docs).
  • Zapier perform functions return a single object (creates) or an array (triggers/searches).
  • Pricing functions return integer cents on Quote.totalCents.