# `zappier/admin` **Package:** `zappier` **Source:** `packages/zappier/src/admin.ts` **Lines:** 591 ## What this module is Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc). ## Exports `adminLoginRouter`, `adminAuth`, `AccountingDeps`, `renderInvoiceHtml`, `adminRouter` ## Types / interfaces / classes | Kind | Name | |------|------| | interface | `AccountingDeps` | ## Functions | Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) | |------|------------|---------------------|---------|-----------------------------| | `adminLoginRouter` | `users: AdminUserRepo` | — | `unknown` | see Call graph | | `adminAuth` | `(none)` | — | `unknown` | see Call graph | | `isValidRule` | `rule: unknown` | — | `unknown` | see Call graph | | `isValidTier` | `tier: unknown` | — | `unknown` | see Call graph | | `periodWindow` | `period: string` | — | `unknown` | see Call graph | | `parseDate` | `value: unknown` | — | `unknown` | see Call graph | | `escapeHtml` | `s: string` | — | `unknown` | see Call graph | | `renderInvoiceHtml` | `invoice: Invoice, customerName: string` | — | `unknown` | see Call graph | | `adminRouter` | `store: PricingStore, customers: CustomerRepo, accounting: AccountingDeps, credits: CreditLedger = new CreditLedger(` | — | `unknown` | see Call graph | ## Methods (class / object) | Name | Parameters | |------|------------| | `return` | `req, res, next` | | `return` | `typeof t.name === 'string' && typeof t.multiplier === 'number' && typeof t.monthlyCreditCents === 'number' && (t.defaultRule === undefined || isValidRule(t.defaultRule` | ## What it imports / requires - `crypto` - `fs` - `path` - `express` - `./accounts` - `./admin-users` - `./auth` - `./invoicing` - `./pricing` - `./paths` - `./reports` - `./usage` - `./credits` - `./accounting-export` - `./statement` - `./billing-nats` ## Call graph (identifiers invoked) `tokens`, `adminLoginRouter`, `post`, `status`, `json`, `findByUsername`, `verifyPassword`, `randomBytes`, `toString`, `set`, `now`, `adminAuth`, `header`, `next`, `startsWith`, `slice`, `has`, `isValidRule`, `every`, `isValidTier`, `periodWindow`, `split`, `map`, `parseDate`, `trim`, `isNaN`, `getTime`, `escapeHtml`, `replace`, `toFixed`, `renderInvoiceHtml`, `dollars`, `join`, `toISOString`, `toUpperCase`, `adminRouter`, `get`, `getRateCard`, `getTiers`, `put`, `upsertEndpoint`, `delete`, `deleteEndpoint`, `upsertTier`, `deleteTier`, `list`, `randomUUID`, `save`, `find`, `isFinite`, `trunc`, `add`, `natsPublish`, `natsAdjust`, `async`, `natsStatement`, `composeStatement`, `listFor`, `type`, `send` 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`.