# `zappier/app` **Package:** `zappier` **Source:** `packages/zappier/src/app.ts` **Lines:** 272 ## What this module is Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc). ## Exports `StoredItem`, `DEFAULT_CUSTOMERS`, `AppDeps`, `buildApp` ## Types / interfaces / classes | Kind | Name | |------|------| | interface | `StoredItem` | | interface | `AppDeps` | ## Functions | Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) | |------|------------|---------------------|---------|-----------------------------| | `buildApp` | `deps: AppDeps = {}` | — | `unknown` | see Call graph | | `onUsage` | `e: { customerId: string; endpointId: string; cents: number }` | — | `unknown` | see Call graph | ## What it imports / requires - `path` - `crypto` - `express` - `express-openapi-validator` - `swagger-ui-express` - `yamljs` - `./auth` - `./meter` - `./billing/credit` - `./pricing` - `./usage` - `./admin` - `./admin-users` - `./accounts` - `./invoicing` - `./paths` - `./portal` - `./upstream` - `./credits` - `./statement` - `./billing-nats` ## Call graph (identifiers invoked) `join`, `next`, `parse`, `status`, `json`, `buildApp`, `seeded`, `seedAdminUsersFromEnv`, `rateCard`, `getRateCard`, `tiers`, `getTiers`, `natsPublish`, `toISOString`, `express`, `use`, `load`, `setup`, `adminLoginRouter`, `adminAuth`, `adminRouter`, `static`, `async`, `import`, `toDataURL`, `portalRouter`, `get`, `apiKeyAuth`, `middleware`, `meter`, `post`, `toUpperCase`, `proxyVerae`, `toLowerCase`, `createHash`, `update`, `digest`, `randomUUID`, `set`, `isFinite`, `map`, `unshift`, `filter`, `setUTCDate`, `setUTCHours`, `summaryFor`, `find`, `applyMonthlyCredit` 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`.