master-zapier-plan-draft/docs/modules/verae-zapier-middleware/services/entitlementService.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

47 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# `verae-zapier-middleware/services/entitlementService`
**Package:** `verae-zapier-middleware`
**Source:** `packages/verae-zapier-middleware/src/services/entitlementService.js`
**Lines:** 161
## What this module is
Implementation module in `verae-zapier-middleware`. The tables below are extracted from the source (signatures + JSDoc).
## Exports
`checkEntitlement`, `recordUsage`
## Types / interfaces / classes
_None extracted._
## Functions
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|------|------------|---------------------|---------|-----------------------------|
| `isUnlimited` | `value` | — | `unknown` | see Call graph |
| `quotaExceeded` | `{ limit, used, allowOverage }` | — | `unknown` | see Call graph |
| `checkEntitlement` | `tenantId, action, { amount = 1 } = {}` | tenantId: `string`, action: `'timestamp'|'verify'|'batch_timestamp'` | `{ tenant: object, limits: object, usage: object ` — } | see Call graph |
| `recordUsage` | `tenantId, action, { amount = 1 } = {}` | tenantId: `string`, action: `string` | `void` | see Call graph |
## What it imports / requires
- `../config.js`
- `../errors.js`
- `../store/tenants.js`
- `../store/usage.js`
- `../debug/logger.js`
## Call graph (identifiers invoked)
`createDebugger`, `isUnlimited`, `quotaExceeded`, `checkEntitlement`, `getTenant`, `resolveLimits`, `getUsage`, `debug`, `recordUsage`, `incrementUsage`
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`.