zappier.db.billing-repo

Generated API sheet for zappier/db/billing-repo.

# `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 module’s 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`.