Some checks are pending
offline / test (push) Waiting to run
Internal billing now uses verae.billing.* request-reply and pubs. zappier-account-balance tracks prepaid, credits, usage, and payments. Portal, admin, CS, and sales all review the same statement. Independent Forgejo repos stay split via push-module-repos.
66 lines
2.4 KiB
Markdown
66 lines
2.4 KiB
Markdown
# `zappier/portal`
|
||
|
||
**Package:** `zappier`
|
||
**Source:** `packages/zappier/src/portal.ts`
|
||
**Lines:** 321
|
||
|
||
## What this module is
|
||
|
||
Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc).
|
||
|
||
## Exports
|
||
|
||
`PaymentResult`, `PaymentClient`, `PortalDeps`, `portalRouter`
|
||
|
||
## Types / interfaces / classes
|
||
|
||
| Kind | Name |
|
||
|------|------|
|
||
| interface | `PaymentResult` |
|
||
| interface | `PaymentClient` |
|
||
| interface | `PortalDeps` |
|
||
|
||
## Functions
|
||
|
||
| Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) |
|
||
|------|------------|---------------------|---------|-----------------------------|
|
||
| `publicProfile` | `c: Customer` | — | `unknown` | see Call graph |
|
||
| | _Profile payload safe to return to the customer (no hashes/secrets)._ | | | |
|
||
| `sessionAuth` | `deps: PortalDeps` | — | `unknown` | see Call graph |
|
||
| `save` | `deps: PortalDeps, customer: Customer` | — | `unknown` | see Call graph |
|
||
| `portalRouter` | `deps: PortalDeps` | — | `unknown` | see Call graph |
|
||
|
||
## Methods (class / object)
|
||
|
||
| Name | Parameters |
|
||
|------|------------|
|
||
| `reload` | `customer: Customer, amountCents: number` |
|
||
| `return` | `req, res, next` |
|
||
|
||
## What it imports / requires
|
||
|
||
- `crypto`
|
||
- `express`
|
||
- `./accounts`
|
||
- `./admin`
|
||
- `./auth`
|
||
- `./billing/credit`
|
||
- `./invoicing`
|
||
- `./pricing`
|
||
- `./usage`
|
||
- `./credits`
|
||
- `./statement`
|
||
- `./billing-nats`
|
||
|
||
## Call graph (identifiers invoked)
|
||
|
||
`now`, `reload`, `customer`, `publicProfile`, `sessionAuth`, `header`, `startsWith`, `slice`, `get`, `list`, `find`, `status`, `json`, `next`, `save`, `portalRouter`, `post`, `trim`, `test`, `hashPassword`, `findByEmail`, `randomBytes`, `toString`, `create`, `verifyPassword`, `verifyTotp`, `use`, `delete`, `setUTCDate`, `setUTCHours`, `summaryFor`, `tiers`, `applyMonthlyCredit`, `rateCard`, `async`, `natsStatement`, `composeStatement`, `listFor`, `type`, `send`, `renderInvoiceHtml`, `generateTotpSecret`, `totpUri`, `qr`, `isInteger`, `natsPublish`, `natsAdjust`, `put`
|
||
|
||
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`.
|
||
|