pipework 0.76.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/data/write/audit/infra-audit.d.ts +11 -0
- package/dist/data/write/audit/infra-audit.d.ts.map +1 -0
- package/dist/data/write/audit/infra-audit.js +27 -0
- package/dist/data/write/audit/infra-audit.js.map +1 -0
- package/dist/infra/access-links/handle.d.ts.map +1 -1
- package/dist/infra/access-links/handle.js +5 -31
- package/dist/infra/access-links/handle.js.map +1 -1
- package/dist/infra/credits/handle.d.ts +4 -0
- package/dist/infra/credits/handle.d.ts.map +1 -1
- package/dist/infra/credits/handle.js +24 -2
- package/dist/infra/credits/handle.js.map +1 -1
- package/dist/request/flow/act-as.d.ts +18 -0
- package/dist/request/flow/act-as.d.ts.map +1 -0
- package/dist/request/flow/act-as.js +69 -0
- package/dist/request/flow/act-as.js.map +1 -0
- package/dist/request/flow/namespace.d.ts +3 -0
- package/dist/request/flow/namespace.d.ts.map +1 -1
- package/dist/request/flow/namespace.js +3 -0
- package/dist/request/flow/namespace.js.map +1 -1
- package/dist/trace/entry/child-trace.d.ts +5 -0
- package/dist/trace/entry/child-trace.d.ts.map +1 -0
- package/dist/trace/entry/child-trace.js +19 -0
- package/dist/trace/entry/child-trace.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.78.0
|
|
4
|
+
|
|
5
|
+
- **New: every credits ledger change is in the audit record.** When `grant`, `reserve`, `settle`, `release` or `expire` writes a ledger entry under an open trace step, an `audit_record` row is written in the same transaction: entity `CreditLedger`, verb the entry's kind, `entity_id` the entry id, `after` with the kind, signed amount, job id, grant id, reservation id and the balance after, and the Flow's actor. A grant's `metadata` is never included (#492).
|
|
6
|
+
- **New: `credits.held()` / `heldFor(tenantId)`** list the reservations still held, oldest first.
|
|
7
|
+
|
|
8
|
+
## 0.77.0
|
|
9
|
+
|
|
10
|
+
- **New: `flow.actAs({ tenant, userId }, fn)`** for code that has just chosen a tenant in a Flow with none: a sign-up founding a tenant, a public sign-in recording into its org. `fn` runs as that tenant and user (row-level security, audit tenant and actor) in a savepoint of the request's own transaction, so a failed sign-up leaves nothing behind; its work is recorded in a child trace the tenant can read. Afterwards the request is tenantless again. Refused when the Flow already has a tenant (#489).
|
|
11
|
+
|
|
3
12
|
## 0.76.0
|
|
4
13
|
|
|
5
14
|
- **New: browser sessions.** `SessionConfig.accessToken.cookie` also delivers the access token as an HttpOnly cookie (`__pipework_access`, SameSite Lax, Path `/`), set, replaced and cleared alongside the refresh cookie by `issueTokensHttp`, `refreshHttp`, `revokeHttp`, `revokeAllHttp` and multi-org sign-in, select and switch, so a plain link, image or form reaches a route signed in. Without it nothing changes (#487).
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DB } from '../../db/index.js';
|
|
2
|
+
import type { Flow } from '../../../request/context/types.js';
|
|
3
|
+
export interface InfraAudit {
|
|
4
|
+
readonly tenantId: string;
|
|
5
|
+
readonly entity: string;
|
|
6
|
+
readonly verb: string;
|
|
7
|
+
readonly entityId: string;
|
|
8
|
+
readonly after: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export declare function writeInfraAudit(flow: Flow, tx: DB, record: InfraAudit): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=infra-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra-audit.d.ts","sourceRoot":"","sources":["../../../../src/data/write/audit/infra-audit.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAA;AAI7D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACxC;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB3F"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Writes one audit_record for an infrastructure operation (access links,
|
|
2
|
+
// credits) into the open trace step, in the operation's own transaction.
|
|
3
|
+
// No trace or no open step: nothing is written. A failed write is logged and
|
|
4
|
+
// rolled back to a savepoint; it never fails the operation.
|
|
5
|
+
import { sql } from '../../db/sql.js';
|
|
6
|
+
import { getBaseLogger } from '../../../core/logging/index.js';
|
|
7
|
+
import { resolveActorId } from './actor.js';
|
|
8
|
+
export async function writeInfraAudit(flow, tx, record) {
|
|
9
|
+
const trace = flow.trace;
|
|
10
|
+
const stepId = trace?.buffer.openStepId ?? null;
|
|
11
|
+
if (trace === null || stepId === null)
|
|
12
|
+
return;
|
|
13
|
+
try {
|
|
14
|
+
await tx.transaction(async (sp) => {
|
|
15
|
+
await sp.execute(sql `
|
|
16
|
+
INSERT INTO audit_record
|
|
17
|
+
(trace_day, trace_id, trace_step_id, tenant_id, actor_id, entity, verb, entity_id, after, occurred_at)
|
|
18
|
+
VALUES (${trace.openedDay}, ${trace.id}, ${stepId}, ${record.tenantId}, ${resolveActorId(flow)},
|
|
19
|
+
${record.entity}, ${record.verb}, ${record.entityId}, ${JSON.stringify(record.after)}::jsonb, now())
|
|
20
|
+
`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
getBaseLogger().error({ err, traceId: trace.id }, `Failed to write the ${record.entity} ${record.verb} audit record`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=infra-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra-audit.js","sourceRoot":"","sources":["../../../../src/data/write/audit/infra-audit.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,4DAA4D;AAE5D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAU3C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,EAAM,EAAE,MAAkB;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACxB,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAA;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAM;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAM,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;kBAGR,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM,KAAK,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAAC;YAC1F,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;OACvF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,eAAe,CAAC,CAAA;IACvH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../src/infra/access-links/handle.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../src/infra/access-links/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import {
|
|
2
|
+
import { openChildTrace } from '../../trace/entry/child-trace.js';
|
|
3
3
|
import { finalizeTrace } from '../../trace/entry/finalize-trace.js';
|
|
4
4
|
import { sql } from '../../data/db/sql.js';
|
|
5
5
|
import { pipe, pipeRaw, pipeSystem } from '../../data/db/db.js';
|
|
6
6
|
import { requireContext, runInContext } from '../../request/context/store.js';
|
|
7
7
|
import { bindTransaction } from '../../request/context/guard.js';
|
|
8
8
|
import { propagateLocals } from '../../request/context/run-in-transaction.js';
|
|
9
|
+
import { writeInfraAudit } from '../../data/write/audit/infra-audit.js';
|
|
9
10
|
import { resolveActorId } from '../../data/write/audit/actor.js';
|
|
10
11
|
import { getBaseLogger } from '../../core/logging/index.js';
|
|
11
12
|
import { ValidationError } from '../../core/errors/index.js';
|
|
@@ -159,24 +160,8 @@ export function createAccessLinks(config) {
|
|
|
159
160
|
getBaseLogger().error({ err }, 'accessLinks onMiss callback threw');
|
|
160
161
|
}
|
|
161
162
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
const stepId = trace?.buffer.openStepId ?? null;
|
|
165
|
-
if (trace === null || stepId === null)
|
|
166
|
-
return;
|
|
167
|
-
try {
|
|
168
|
-
await tx.transaction(async (sp) => {
|
|
169
|
-
await sp.execute(sql `
|
|
170
|
-
INSERT INTO audit_record
|
|
171
|
-
(trace_day, trace_id, trace_step_id, tenant_id, actor_id, entity, verb, entity_id, after, occurred_at)
|
|
172
|
-
VALUES (${trace.openedDay}, ${trace.id}, ${stepId}, ${tenantId}, ${resolveActorId(flow)},
|
|
173
|
-
'AccessLink', ${verb}, ${linkId}, ${JSON.stringify(details)}::jsonb, now())
|
|
174
|
-
`);
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
catch (err) {
|
|
178
|
-
getBaseLogger().error({ err, traceId: trace.id }, `Failed to write the access link ${verb} audit record`);
|
|
179
|
-
}
|
|
163
|
+
function audit(flow, tx, tenantId, verb, linkId, details) {
|
|
164
|
+
return writeInfraAudit(flow, tx, { tenantId, entity: 'AccessLink', verb, entityId: linkId, after: details });
|
|
180
165
|
}
|
|
181
166
|
function auditProjection(link) {
|
|
182
167
|
return {
|
|
@@ -486,18 +471,7 @@ export function createAccessLinks(config) {
|
|
|
486
471
|
const flow = requireContext();
|
|
487
472
|
const dbName = flow.instance.config.defaultDatabaseName();
|
|
488
473
|
const auth = { userId: `link:${issued.linkId}`, accessLinkId: issued.linkId };
|
|
489
|
-
const
|
|
490
|
-
const childTrace = parentTrace === null
|
|
491
|
-
? null
|
|
492
|
-
: openTrace({
|
|
493
|
-
instance: flow.instance,
|
|
494
|
-
entryKind: parentTrace.entryKind,
|
|
495
|
-
parent: { id: parentTrace.id, rootId: parentTrace.rootId, stepId: parentTrace.buffer.openStepId },
|
|
496
|
-
tenant: issued.tenantId,
|
|
497
|
-
auth,
|
|
498
|
-
requestId: flow.requestId,
|
|
499
|
-
sessionId: flow.metadata?.sessionId ?? null,
|
|
500
|
-
});
|
|
474
|
+
const childTrace = openChildTrace(flow, issued.tenantId, auth);
|
|
501
475
|
const child = {
|
|
502
476
|
...flow,
|
|
503
477
|
_nonce: randomUUID(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../src/infra/access-links/handle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../src/infra/access-links/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,6 +136,10 @@ export interface Credits {
|
|
|
136
136
|
released: boolean;
|
|
137
137
|
reservation: CreditReservation | null;
|
|
138
138
|
}>;
|
|
139
|
+
/** The tenant's reservations still held, oldest first. */
|
|
140
|
+
held(): Promise<CreditReservation[]>;
|
|
141
|
+
/** The given tenant's reservations still held, oldest first. */
|
|
142
|
+
heldFor(tenantId: string): Promise<CreditReservation[]>;
|
|
139
143
|
balance(): Promise<CreditBalance>;
|
|
140
144
|
balanceFor(tenantId: string): Promise<CreditBalance>;
|
|
141
145
|
/** Ledger entries newest first. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../src/infra/credits/handle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../src/infra/credits/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { sql } from '../../data/db/sql.js';
|
|
2
2
|
import { pipe } from '../../data/db/db.js';
|
|
3
|
-
import { requireContext } from '../../request/context/store.js';
|
|
3
|
+
import { requireContext, getContext } from '../../request/context/store.js';
|
|
4
|
+
import { writeInfraAudit } from '../../data/write/audit/infra-audit.js';
|
|
4
5
|
import { inTenant } from '../../auth/tenant/in-tenant.js';
|
|
5
6
|
import { getBaseLogger } from '../../core/logging/index.js';
|
|
6
7
|
import { ValidationError } from '../../core/errors/index.js';
|
|
@@ -119,11 +120,22 @@ export function createCredits(config = {}) {
|
|
|
119
120
|
}
|
|
120
121
|
async function writeLedger(tx, tenantId, entry) {
|
|
121
122
|
const availableAfter = await availableOf(tx, tenantId);
|
|
122
|
-
await tx.execute(sql `
|
|
123
|
+
const written = await tx.execute(sql `
|
|
123
124
|
INSERT INTO credit_ledger (tenant_id, at, kind, amount, grant_id, reservation_id, job_id, available_after)
|
|
124
125
|
VALUES (${tenantId}, clock_timestamp(), ${entry.kind}, ${entry.amount}, ${entry.grantId ?? null},
|
|
125
126
|
${entry.reservationId ?? null}, ${entry.jobId ?? null}, ${availableAfter})
|
|
127
|
+
RETURNING id
|
|
126
128
|
`);
|
|
129
|
+
const flow = getContext();
|
|
130
|
+
if (flow === undefined)
|
|
131
|
+
return;
|
|
132
|
+
await writeInfraAudit(flow, tx, {
|
|
133
|
+
tenantId, entity: 'CreditLedger', verb: entry.kind, entityId: written[0]['id'],
|
|
134
|
+
after: {
|
|
135
|
+
kind: entry.kind, amount: entry.amount, jobId: entry.jobId ?? null, grantId: entry.grantId ?? null,
|
|
136
|
+
reservationId: entry.reservationId ?? null, availableAfter,
|
|
137
|
+
},
|
|
138
|
+
});
|
|
127
139
|
}
|
|
128
140
|
// Draws up to `need` from live grants, soonest-expiring first; returns what it drew.
|
|
129
141
|
async function drawFrom(tx, tenantId, reservationId, need, firstSeq) {
|
|
@@ -341,6 +353,14 @@ export function createCredits(config = {}) {
|
|
|
341
353
|
return { available: list.reduce((sum, g) => sum + g.remaining, 0), held: num(held[0]['n']), grants: list };
|
|
342
354
|
});
|
|
343
355
|
}
|
|
356
|
+
async function doHeld(explicit) {
|
|
357
|
+
return run(explicit, async (tx, tenantId) => {
|
|
358
|
+
const found = await tx.execute(sql `
|
|
359
|
+
SELECT * FROM credit_reservation WHERE tenant_id = ${tenantId} AND status = 'held' ORDER BY created_at, id
|
|
360
|
+
`);
|
|
361
|
+
return found.map(rowToReservation);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
344
364
|
async function doHistory(explicit, options = {}) {
|
|
345
365
|
const limit = options.limit ?? DEFAULT_HISTORY_LIMIT;
|
|
346
366
|
if (!Number.isSafeInteger(limit) || limit < 1 || limit > MAX_HISTORY_LIMIT) {
|
|
@@ -394,6 +414,8 @@ export function createCredits(config = {}) {
|
|
|
394
414
|
settleFor: (t, o) => doSettle(t, o),
|
|
395
415
|
release: o => doRelease(null, o),
|
|
396
416
|
releaseFor: (t, o) => doRelease(t, o),
|
|
417
|
+
held: () => doHeld(null),
|
|
418
|
+
heldFor: t => doHeld(t),
|
|
397
419
|
balance: () => doBalance(null),
|
|
398
420
|
balanceFor: t => doBalance(t),
|
|
399
421
|
history: o => doHistory(null, o),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../src/infra/credits/handle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../src/infra/credits/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs `fn` as `as.tenant` and `as.userId` from a Flow that has no tenant: a
|
|
3
|
+
* sign-up that has just founded a tenant, a public sign-in recording into its
|
|
4
|
+
* org. Row-level security, audit rows (tenant and actor) and the trace all
|
|
5
|
+
* carry that tenant and user.
|
|
6
|
+
*
|
|
7
|
+
* `fn` runs in a savepoint of the request's own transaction, so it commits or
|
|
8
|
+
* rolls back with the request. If `fn` throws, its writes are undone, the
|
|
9
|
+
* request's transaction stays usable and the error is rethrown. When `actAs`
|
|
10
|
+
* returns the Flow and the transaction are tenantless again. A Flow with no
|
|
11
|
+
* transaction on the default database gets a new app-role transaction instead.
|
|
12
|
+
* Refused when the Flow already has a tenant.
|
|
13
|
+
*/
|
|
14
|
+
export declare function actAs<T>(as: {
|
|
15
|
+
readonly tenant: string;
|
|
16
|
+
readonly userId: string;
|
|
17
|
+
}, fn: () => Promise<T>): Promise<T>;
|
|
18
|
+
//# sourceMappingURL=act-as.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"act-as.d.ts","sourceRoot":"","sources":["../../../src/request/flow/act-as.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;GAYG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAC3B,EAAE,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACxD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAmDZ"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { requireContext, runInContext } from '../context/store.js';
|
|
3
|
+
import { bindTransaction } from '../context/guard.js';
|
|
4
|
+
import { sql } from '../../data/db/sql.js';
|
|
5
|
+
import { propagateLocals } from '../context/run-in-transaction.js';
|
|
6
|
+
import { openChildTrace } from '../../trace/entry/child-trace.js';
|
|
7
|
+
import { finalizeTrace } from '../../trace/entry/finalize-trace.js';
|
|
8
|
+
/**
|
|
9
|
+
* Runs `fn` as `as.tenant` and `as.userId` from a Flow that has no tenant: a
|
|
10
|
+
* sign-up that has just founded a tenant, a public sign-in recording into its
|
|
11
|
+
* org. Row-level security, audit rows (tenant and actor) and the trace all
|
|
12
|
+
* carry that tenant and user.
|
|
13
|
+
*
|
|
14
|
+
* `fn` runs in a savepoint of the request's own transaction, so it commits or
|
|
15
|
+
* rolls back with the request. If `fn` throws, its writes are undone, the
|
|
16
|
+
* request's transaction stays usable and the error is rethrown. When `actAs`
|
|
17
|
+
* returns the Flow and the transaction are tenantless again. A Flow with no
|
|
18
|
+
* transaction on the default database gets a new app-role transaction instead.
|
|
19
|
+
* Refused when the Flow already has a tenant.
|
|
20
|
+
*/
|
|
21
|
+
export async function actAs(as, fn) {
|
|
22
|
+
const flow = requireContext();
|
|
23
|
+
if (flow.tenant !== null) {
|
|
24
|
+
throw new Error(`[pipework] flow.actAs runs only in a Flow with no tenant; this Flow is tenant "${flow.tenant}", ` +
|
|
25
|
+
`asked for "${as.tenant}".\n\n` +
|
|
26
|
+
' actAs is for code that has just chosen a tenant (sign-up, a public sign-in). ' +
|
|
27
|
+
'Code already running as a tenant keeps that tenant.\n');
|
|
28
|
+
}
|
|
29
|
+
const dbName = flow.instance.config.defaultDatabaseName();
|
|
30
|
+
const auth = { userId: as.userId, tenantId: as.tenant };
|
|
31
|
+
const childTrace = openChildTrace(flow, as.tenant, auth);
|
|
32
|
+
const child = {
|
|
33
|
+
...flow,
|
|
34
|
+
_nonce: randomUUID(),
|
|
35
|
+
tenant: as.tenant,
|
|
36
|
+
user: null,
|
|
37
|
+
auth,
|
|
38
|
+
transactions: new Map(),
|
|
39
|
+
trace: childTrace,
|
|
40
|
+
};
|
|
41
|
+
const run = async (tx) => {
|
|
42
|
+
child.transactions.set(dbName, bindTransaction(child, dbName, tx));
|
|
43
|
+
await propagateLocals(tx, child, child.tenantConfig);
|
|
44
|
+
return runInContext(child, fn);
|
|
45
|
+
};
|
|
46
|
+
const parentBound = flow.transactions.get(dbName);
|
|
47
|
+
if (parentBound === undefined) {
|
|
48
|
+
const conn = flow.instance.pool.getOrCreate(flow.instance.config.database(dbName), 'app');
|
|
49
|
+
return finalizeTrace(flow.instance, childTrace, conn.drizzle.transaction(run));
|
|
50
|
+
}
|
|
51
|
+
const parentTx = parentBound.drizzle;
|
|
52
|
+
const names = [
|
|
53
|
+
'pipework.request_id', 'pipework.tenant_id', 'pipework.user_id', 'pipework.asof',
|
|
54
|
+
...Object.keys(flow.tenantConfig?.sessionVars ?? {}),
|
|
55
|
+
];
|
|
56
|
+
const before = new Map();
|
|
57
|
+
for (const name of names) {
|
|
58
|
+
const rows = await parentTx.execute(sql `SELECT current_setting(${name}, true) AS value`);
|
|
59
|
+
before.set(name, rows[0]?.['value'] ?? '');
|
|
60
|
+
}
|
|
61
|
+
const work = parentTx.transaction(run).then(async (value) => {
|
|
62
|
+
// Releasing the savepoint keeps its SET LOCALs; put the request's own back.
|
|
63
|
+
for (const [name, value] of before)
|
|
64
|
+
await parentTx.execute(sql `SELECT set_config(${name}, ${value}, true)`);
|
|
65
|
+
return value;
|
|
66
|
+
});
|
|
67
|
+
return finalizeTrace(flow.instance, childTrace, work);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=act-as.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"act-as.js","sourceRoot":"","sources":["../../../src/request/flow/act-as.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { runInContext, requireContext, getContext } from '../context/store.js';
|
|
2
2
|
import { createTestContext } from '../context/create.js';
|
|
3
|
+
import { actAs } from './act-as.js';
|
|
3
4
|
/** AsyncLocalStorage context namespace — manages request/job/test contexts that carry auth, tenant, transactions. */
|
|
4
5
|
export declare const flow: {
|
|
5
6
|
/** Executes a function within a Flow context (AsyncLocalStorage). All pipe() calls inside will use this context. */
|
|
@@ -10,5 +11,7 @@ export declare const flow: {
|
|
|
10
11
|
get: typeof getContext;
|
|
11
12
|
/** Creates a Flow for test isolation with optional auth and tenant overrides. */
|
|
12
13
|
createTest: typeof createTestContext;
|
|
14
|
+
/** Runs `fn` as a tenant and user chosen inside a tenantless Flow (sign-up, a public sign-in): RLS, audit and trace under that tenant, on the request's transaction. */
|
|
15
|
+
actAs: typeof actAs;
|
|
13
16
|
};
|
|
14
17
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/request/flow/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/request/flow/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,qHAAqH;AACrH,eAAO,MAAM,IAAI;IACf,oHAAoH;;IAEpH,+FAA+F;;IAE/F,kFAAkF;;IAElF,iFAAiF;;IAEjF,wKAAwK;;CAEzK,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { runInContext, requireContext, getContext } from '../context/store.js';
|
|
2
2
|
import { createTestContext } from '../context/create.js';
|
|
3
|
+
import { actAs } from './act-as.js';
|
|
3
4
|
/** AsyncLocalStorage context namespace — manages request/job/test contexts that carry auth, tenant, transactions. */
|
|
4
5
|
export const flow = {
|
|
5
6
|
/** Executes a function within a Flow context (AsyncLocalStorage). All pipe() calls inside will use this context. */
|
|
@@ -10,5 +11,7 @@ export const flow = {
|
|
|
10
11
|
get: getContext,
|
|
11
12
|
/** Creates a Flow for test isolation with optional auth and tenant overrides. */
|
|
12
13
|
createTest: createTestContext,
|
|
14
|
+
/** Runs `fn` as a tenant and user chosen inside a tenantless Flow (sign-up, a public sign-in): RLS, audit and trace under that tenant, on the request's transaction. */
|
|
15
|
+
actAs,
|
|
13
16
|
};
|
|
14
17
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/request/flow/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/request/flow/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,qHAAqH;AACrH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,oHAAoH;IACpH,GAAG,EAAE,YAAY;IACjB,+FAA+F;IAC/F,OAAO,EAAE,cAAc;IACvB,kFAAkF;IAClF,GAAG,EAAE,UAAU;IACf,iFAAiF;IACjF,UAAU,EAAE,iBAAiB;IAC7B,wKAAwK;IACxK,KAAK;CACN,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Flow } from '../../request/context/types.js';
|
|
2
|
+
import type { TraceContext } from './trace-context.js';
|
|
3
|
+
/** Opens a child of `flow`'s trace for `tenant` and `auth`, or returns `null` when the Flow is untraced. */
|
|
4
|
+
export declare function openChildTrace(flow: Flow, tenant: string, auth: unknown): TraceContext | null;
|
|
5
|
+
//# sourceMappingURL=child-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-trace.d.ts","sourceRoot":"","sources":["../../../src/trace/entry/child-trace.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,4GAA4G;AAC5G,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAY7F"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// A trace for work a Flow runs under another tenant and principal. It hangs off
|
|
2
|
+
// the Flow's own trace at the step open now, so the tenant it names can read it.
|
|
3
|
+
import { openTrace } from './open-trace.js';
|
|
4
|
+
/** Opens a child of `flow`'s trace for `tenant` and `auth`, or returns `null` when the Flow is untraced. */
|
|
5
|
+
export function openChildTrace(flow, tenant, auth) {
|
|
6
|
+
const parent = flow.trace;
|
|
7
|
+
if (parent === null)
|
|
8
|
+
return null;
|
|
9
|
+
return openTrace({
|
|
10
|
+
instance: flow.instance,
|
|
11
|
+
entryKind: parent.entryKind,
|
|
12
|
+
parent: { id: parent.id, rootId: parent.rootId, stepId: parent.buffer.openStepId },
|
|
13
|
+
tenant,
|
|
14
|
+
auth,
|
|
15
|
+
requestId: flow.requestId,
|
|
16
|
+
sessionId: flow.metadata?.sessionId ?? null,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=child-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-trace.js","sourceRoot":"","sources":["../../../src/trace/entry/child-trace.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iFAAiF;AAGjF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,4GAA4G;AAC5G,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,MAAc,EAAE,IAAa;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAChC,OAAO,SAAS,CAAC;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QAClF,MAAM;QACN,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI;KAC5C,CAAC,CAAA;AACJ,CAAC"}
|