@managemint-solutions/sdk 0.17.0 → 0.18.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/dist/audit/index.d.ts +23 -2
- package/dist/audit/index.js +56 -21
- package/dist/audit/index.js.map +1 -1
- package/dist/auth-client/index.d.ts +1 -6
- package/dist/auth-client/index.js +3 -18
- package/dist/auth-client/index.js.map +1 -1
- package/dist/auth.d.ts +36 -1
- package/dist/auth.js +52 -22
- package/dist/auth.js.map +1 -1
- package/dist/billing/index.d.ts +0 -1
- package/dist/billing/index.js +2 -12
- package/dist/billing/index.js.map +1 -1
- package/dist/client.d.ts +16 -1
- package/dist/client.js +8 -6
- package/dist/client.js.map +1 -1
- package/dist/clients/index.js +13 -75
- package/dist/clients/index.js.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.js +7 -58
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +48 -22
- package/dist/index.js +116 -36
- package/dist/index.js.map +1 -1
- package/dist/nest/index.d.ts +26 -3
- package/dist/nest/index.js +54 -15
- package/dist/nest/index.js.map +1 -1
- package/dist/notifications/index.d.ts +0 -1
- package/dist/notifications/index.js +4 -16
- package/dist/notifications/index.js.map +1 -1
- package/dist/organization-invites/index.d.ts +29 -0
- package/dist/organization-invites/index.js +48 -0
- package/dist/organization-invites/index.js.map +1 -0
- package/dist/organizations/index.js +4 -9
- package/dist/organizations/index.js.map +1 -1
- package/dist/permissions/index.d.ts +8 -0
- package/dist/permissions/index.js +16 -1
- package/dist/permissions/index.js.map +1 -1
- package/dist/projects/index.js +12 -75
- package/dist/projects/index.js.map +1 -1
- package/dist/service-client/index.d.ts +2 -0
- package/dist/service-client/index.js +7 -6
- package/dist/service-client/index.js.map +1 -1
- package/dist/supporting-files/index.js +31 -15
- package/dist/supporting-files/index.js.map +1 -1
- package/dist/supporting-files/paths.d.ts +19 -5
- package/dist/supporting-files/paths.js +46 -10
- package/dist/supporting-files/paths.js.map +1 -1
- package/dist/tasks/index.js +7 -33
- package/dist/tasks/index.js.map +1 -1
- package/dist/transforms.d.ts +43 -0
- package/dist/transforms.js +73 -2
- package/dist/transforms.js.map +1 -1
- package/dist/users/index.js +4 -14
- package/dist/users/index.js.map +1 -1
- package/package.json +6 -2
package/dist/audit/index.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ export type AuditActor = {
|
|
|
14
14
|
};
|
|
15
15
|
/** A flat database row — always `select('*')`, never an entity shape with embedded joins. */
|
|
16
16
|
export type AuditRow = Record<string, unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* Drops the internal `id bigint` from a row on its way out of the SDK. Every table has one
|
|
19
|
+
* alongside its public `mms_id uuid`, and only the database is meant to see it — a caller that
|
|
20
|
+
* never learns the sequence cannot come to depend on it, or leak how many rows there are.
|
|
21
|
+
*/
|
|
22
|
+
export declare const withoutInternalId: <T extends Record<string, unknown>>(row: T) => Omit<T, "id">;
|
|
17
23
|
export type AuditChanges = Record<string, {
|
|
18
24
|
old: unknown;
|
|
19
25
|
new: unknown;
|
|
@@ -34,15 +40,30 @@ export type AuditErrorHandler = (error: unknown, entries: AuditEntry[]) => void;
|
|
|
34
40
|
* pair, which becomes `related_entity_*` on the audit row instead.
|
|
35
41
|
*/
|
|
36
42
|
export declare const AUDIT_EXCLUDED_COLUMNS: ReadonlySet<string>;
|
|
43
|
+
/**
|
|
44
|
+
* Columns whose *value* never reaches the trail. `audit_logs` is readable by any member with
|
|
45
|
+
* `read_logs`, so a value copied into `changes` is a value published to the whole organization —
|
|
46
|
+
* and these are either provider credentials and identifiers (the `paystack_*` customer and
|
|
47
|
+
* subscription codes, card metadata, tokens, an idempotency key that would let a replay be
|
|
48
|
+
* forged) or content the base table deliberately withholds (`authenticated` has no grant on
|
|
49
|
+
* `notifications.rendered_content`, so the rendered email must not arrive by the back door).
|
|
50
|
+
* The column still shows up in the trail — that it changed is the point — with both sides
|
|
51
|
+
* replaced by `'[redacted]'`.
|
|
52
|
+
*/
|
|
53
|
+
export declare const AUDIT_REDACTED_COLUMNS: ReadonlySet<string>;
|
|
54
|
+
/** True for a named redacted column, and for every provider-issued `paystack_*` identifier. */
|
|
55
|
+
export declare const isRedactedColumn: (name: string) => boolean;
|
|
37
56
|
/**
|
|
38
57
|
* The fields that differ between two flat rows, as `{ field: { old, new } }`. Values stay real
|
|
39
58
|
* JSON (booleans stay booleans, jsonb stays an object) and are compared by serialized value, so
|
|
40
|
-
* arrays and objects are equal when their contents are.
|
|
59
|
+
* arrays and objects are equal when their contents are. A redacted column is compared on its
|
|
60
|
+
* real values and only then redacted, so it is reported when — and only when — it truly moved.
|
|
41
61
|
*/
|
|
42
62
|
export declare const diffChanges: (before: AuditRow, after: AuditRow) => AuditChanges;
|
|
43
63
|
/**
|
|
44
64
|
* A whole row as a change set — `'new'` for an insert, `'old'` for a hard delete — so the trail
|
|
45
|
-
* stays self-contained once the row is gone. Columns that hold nothing are left out
|
|
65
|
+
* stays self-contained once the row is gone. Columns that hold nothing are left out; a redacted
|
|
66
|
+
* column that holds something is present, as `'[redacted]'`.
|
|
46
67
|
*/
|
|
47
68
|
export declare const snapshotChanges: (row: AuditRow, side: "new" | "old") => AuditChanges;
|
|
48
69
|
/**
|
package/dist/audit/index.js
CHANGED
|
@@ -14,10 +14,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.auditedTable = exports.AuditResource = exports.snapshotChanges = exports.diffChanges = exports.AUDIT_EXCLUDED_COLUMNS = void 0;
|
|
17
|
+
exports.auditedTable = exports.AuditResource = exports.snapshotChanges = exports.diffChanges = exports.isRedactedColumn = exports.AUDIT_REDACTED_COLUMNS = exports.AUDIT_EXCLUDED_COLUMNS = exports.withoutInternalId = void 0;
|
|
18
18
|
const enum_1 = require("@managemint-solutions/entities/audit-trail/enum");
|
|
19
19
|
const errors_1 = require("../errors");
|
|
20
|
+
const transforms_1 = require("../transforms");
|
|
20
21
|
__exportStar(require("./dto"), exports);
|
|
22
|
+
/**
|
|
23
|
+
* Drops the internal `id bigint` from a row on its way out of the SDK. Every table has one
|
|
24
|
+
* alongside its public `mms_id uuid`, and only the database is meant to see it — a caller that
|
|
25
|
+
* never learns the sequence cannot come to depend on it, or leak how many rows there are.
|
|
26
|
+
*/
|
|
27
|
+
const withoutInternalId = (row) => {
|
|
28
|
+
const { id: _id, ...rest } = row;
|
|
29
|
+
return rest;
|
|
30
|
+
};
|
|
31
|
+
exports.withoutInternalId = withoutInternalId;
|
|
21
32
|
/**
|
|
22
33
|
* Bookkeeping columns a diff never reports: identity, tenancy and the who/when stamps of the
|
|
23
34
|
* transition itself (the action already says what happened), plus the `entity_type`/`entity_id`
|
|
@@ -43,12 +54,40 @@ exports.AUDIT_EXCLUDED_COLUMNS = new Set([
|
|
|
43
54
|
'entity_type',
|
|
44
55
|
'entity_id',
|
|
45
56
|
]);
|
|
57
|
+
/**
|
|
58
|
+
* Columns whose *value* never reaches the trail. `audit_logs` is readable by any member with
|
|
59
|
+
* `read_logs`, so a value copied into `changes` is a value published to the whole organization —
|
|
60
|
+
* and these are either provider credentials and identifiers (the `paystack_*` customer and
|
|
61
|
+
* subscription codes, card metadata, tokens, an idempotency key that would let a replay be
|
|
62
|
+
* forged) or content the base table deliberately withholds (`authenticated` has no grant on
|
|
63
|
+
* `notifications.rendered_content`, so the rendered email must not arrive by the back door).
|
|
64
|
+
* The column still shows up in the trail — that it changed is the point — with both sides
|
|
65
|
+
* replaced by `'[redacted]'`.
|
|
66
|
+
*/
|
|
67
|
+
exports.AUDIT_REDACTED_COLUMNS = new Set([
|
|
68
|
+
'rendered_content',
|
|
69
|
+
'template_variables',
|
|
70
|
+
'idempotency_key',
|
|
71
|
+
'provider_message_id',
|
|
72
|
+
'card_expiry_date',
|
|
73
|
+
'card_description',
|
|
74
|
+
'card_brand',
|
|
75
|
+
'access_token',
|
|
76
|
+
'refresh_token',
|
|
77
|
+
'password',
|
|
78
|
+
]);
|
|
79
|
+
/** True for a named redacted column, and for every provider-issued `paystack_*` identifier. */
|
|
80
|
+
const isRedactedColumn = (name) => exports.AUDIT_REDACTED_COLUMNS.has(name) || name.startsWith('paystack_');
|
|
81
|
+
exports.isRedactedColumn = isRedactedColumn;
|
|
82
|
+
/** What a redacted column shows instead of its value. */
|
|
83
|
+
const REDACTED = '[redacted]';
|
|
46
84
|
/** `undefined` and `null` are the same absent value as far as a row diff is concerned. */
|
|
47
85
|
const normalize = (value) => value ?? null;
|
|
48
86
|
/**
|
|
49
87
|
* The fields that differ between two flat rows, as `{ field: { old, new } }`. Values stay real
|
|
50
88
|
* JSON (booleans stay booleans, jsonb stays an object) and are compared by serialized value, so
|
|
51
|
-
* arrays and objects are equal when their contents are.
|
|
89
|
+
* arrays and objects are equal when their contents are. A redacted column is compared on its
|
|
90
|
+
* real values and only then redacted, so it is reported when — and only when — it truly moved.
|
|
52
91
|
*/
|
|
53
92
|
const diffChanges = (before, after) => {
|
|
54
93
|
const changes = {};
|
|
@@ -59,21 +98,25 @@ const diffChanges = (before, after) => {
|
|
|
59
98
|
const newValue = normalize(after[key]);
|
|
60
99
|
if (JSON.stringify(oldValue) === JSON.stringify(newValue))
|
|
61
100
|
continue;
|
|
62
|
-
changes[key] =
|
|
101
|
+
changes[key] = (0, exports.isRedactedColumn)(key)
|
|
102
|
+
? { old: REDACTED, new: REDACTED }
|
|
103
|
+
: { old: oldValue, new: newValue };
|
|
63
104
|
}
|
|
64
105
|
return changes;
|
|
65
106
|
};
|
|
66
107
|
exports.diffChanges = diffChanges;
|
|
67
108
|
/**
|
|
68
109
|
* A whole row as a change set — `'new'` for an insert, `'old'` for a hard delete — so the trail
|
|
69
|
-
* stays self-contained once the row is gone. Columns that hold nothing are left out
|
|
110
|
+
* stays self-contained once the row is gone. Columns that hold nothing are left out; a redacted
|
|
111
|
+
* column that holds something is present, as `'[redacted]'`.
|
|
70
112
|
*/
|
|
71
113
|
const snapshotChanges = (row, side) => {
|
|
72
114
|
const changes = {};
|
|
73
115
|
for (const [key, value] of Object.entries(row)) {
|
|
74
116
|
if (exports.AUDIT_EXCLUDED_COLUMNS.has(key) || value === null || value === undefined)
|
|
75
117
|
continue;
|
|
76
|
-
|
|
118
|
+
const recorded = (0, exports.isRedactedColumn)(key) ? REDACTED : value;
|
|
119
|
+
changes[key] = side === 'new' ? { old: null, new: recorded } : { old: recorded, new: null };
|
|
77
120
|
}
|
|
78
121
|
return changes;
|
|
79
122
|
};
|
|
@@ -163,17 +206,7 @@ class AuditResource {
|
|
|
163
206
|
const { data, error, count } = await auditTrailQuery;
|
|
164
207
|
if (error)
|
|
165
208
|
throw (0, errors_1.mapPostgrestError)(error);
|
|
166
|
-
|
|
167
|
-
const totalPages = totalEstimated > 0 ? Math.ceil(totalEstimated / pageSize) : 0;
|
|
168
|
-
return {
|
|
169
|
-
results: (data ?? []),
|
|
170
|
-
page,
|
|
171
|
-
per_page: pageSize,
|
|
172
|
-
count: totalEstimated,
|
|
173
|
-
total_pages: totalPages,
|
|
174
|
-
has_next_page: page < totalPages,
|
|
175
|
-
has_previous_page: page > 1,
|
|
176
|
-
};
|
|
209
|
+
return (0, transforms_1.toMmsList)(data, page, pageSize, count);
|
|
177
210
|
}
|
|
178
211
|
}
|
|
179
212
|
exports.AuditResource = AuditResource;
|
|
@@ -224,7 +257,9 @@ const auditedTable = (supabase, actor, audit, options) => {
|
|
|
224
257
|
throw (0, errors_1.mapPostgrestError)(error);
|
|
225
258
|
const after = data;
|
|
226
259
|
await recordWrite(id, action, before, after);
|
|
227
|
-
|
|
260
|
+
// `before` stays whole — it is internal to the diff — but what the caller gets does not
|
|
261
|
+
// carry the internal `id`.
|
|
262
|
+
return (0, exports.withoutInternalId)(after);
|
|
228
263
|
};
|
|
229
264
|
const writeWhere = async (id, guard, payload) => {
|
|
230
265
|
const before = await read(id);
|
|
@@ -239,7 +274,7 @@ const auditedTable = (supabase, actor, audit, options) => {
|
|
|
239
274
|
return null;
|
|
240
275
|
const after = data;
|
|
241
276
|
await recordWrite(id, enum_1.AuditTrailAction.UPDATE, before, after);
|
|
242
|
-
return after;
|
|
277
|
+
return (0, exports.withoutInternalId)(after);
|
|
243
278
|
};
|
|
244
279
|
return {
|
|
245
280
|
async insert(payload) {
|
|
@@ -258,7 +293,7 @@ const auditedTable = (supabase, actor, audit, options) => {
|
|
|
258
293
|
changes: (0, exports.snapshotChanges)(row, 'new'),
|
|
259
294
|
...relatedOf(row),
|
|
260
295
|
});
|
|
261
|
-
return row;
|
|
296
|
+
return (0, exports.withoutInternalId)(row);
|
|
262
297
|
},
|
|
263
298
|
async insertMany(payloads) {
|
|
264
299
|
if (payloads.length === 0)
|
|
@@ -274,7 +309,7 @@ const auditedTable = (supabase, actor, audit, options) => {
|
|
|
274
309
|
changes: (0, exports.snapshotChanges)(row, 'new'),
|
|
275
310
|
...relatedOf(row),
|
|
276
311
|
})));
|
|
277
|
-
return rows;
|
|
312
|
+
return rows.map(exports.withoutInternalId);
|
|
278
313
|
},
|
|
279
314
|
update(id, payload) {
|
|
280
315
|
return write(id, enum_1.AuditTrailAction.UPDATE, payload);
|
|
@@ -300,7 +335,7 @@ const auditedTable = (supabase, actor, audit, options) => {
|
|
|
300
335
|
changes: (0, exports.snapshotChanges)(before, 'old'),
|
|
301
336
|
...relatedOf(before),
|
|
302
337
|
});
|
|
303
|
-
return before;
|
|
338
|
+
return (0, exports.withoutInternalId)(before);
|
|
304
339
|
},
|
|
305
340
|
};
|
|
306
341
|
};
|
package/dist/audit/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SupabaseClient as SupabaseJsClient } from '@supabase/supabase-js';
|
|
2
2
|
import type { ExchangeTokenResponse, LoginResponse } from '@managemint-solutions/entities/auth';
|
|
3
3
|
import type { ExchangeRefreshTokenDto, ExchangeTokenHashDto, loginDto, ResetPasswordDto, SendPasswordResetEmailDto } from '@managemint-solutions/entities/auth/dto';
|
|
4
4
|
import { PricebooksResource } from '../pricebooks';
|
|
@@ -20,11 +20,6 @@ export declare class SupabaseAuthClient {
|
|
|
20
20
|
constructor(config: SupabaseAuthClientConfig);
|
|
21
21
|
signIn(input: loginDto): Promise<LoginResponse>;
|
|
22
22
|
refreshSession(input: ExchangeRefreshTokenDto): Promise<ExchangeTokenResponse>;
|
|
23
|
-
/**
|
|
24
|
-
* Parity with the api: this client never holds a session (`persistSession` is off), so
|
|
25
|
-
* server-side there is nothing to revoke and the call is a no-op. Kept as the api had it.
|
|
26
|
-
*/
|
|
27
|
-
signOut(): Promise<void>;
|
|
28
23
|
/** `redirectTo` is passed in — the SDK reads no environment variables. */
|
|
29
24
|
sendPasswordResetEmail(input: SendPasswordResetEmailDto, redirectTo: string): Promise<void>;
|
|
30
25
|
exchangeRecoveryToken(input: ExchangeTokenHashDto): Promise<ExchangeTokenResponse>;
|
|
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.createSupabaseAuthClient = exports.SupabaseAuthClient = void 0;
|
|
18
|
-
const
|
|
18
|
+
const auth_1 = require("../auth");
|
|
19
19
|
const errors_1 = require("../errors");
|
|
20
20
|
const pricebooks_1 = require("../pricebooks");
|
|
21
21
|
__exportStar(require("./dto"), exports);
|
|
@@ -37,10 +37,7 @@ class SupabaseAuthClient {
|
|
|
37
37
|
pricebooks;
|
|
38
38
|
constructor(config) {
|
|
39
39
|
this.config = config;
|
|
40
|
-
this.supabase = (0,
|
|
41
|
-
// Server-side and stateless: nothing is stored, refreshed or read out of a URL.
|
|
42
|
-
auth: { persistSession: false, autoRefreshToken: false, detectSessionInUrl: false },
|
|
43
|
-
});
|
|
40
|
+
this.supabase = (0, auth_1.createRawClient)(config.url, config.key);
|
|
44
41
|
this.pricebooks = new pricebooks_1.PricebooksResource(this.supabase);
|
|
45
42
|
}
|
|
46
43
|
async signIn(input) {
|
|
@@ -66,15 +63,6 @@ class SupabaseAuthClient {
|
|
|
66
63
|
throw noSession('Token exchange failed: No session data returned');
|
|
67
64
|
return toTokens(data.session);
|
|
68
65
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Parity with the api: this client never holds a session (`persistSession` is off), so
|
|
71
|
-
* server-side there is nothing to revoke and the call is a no-op. Kept as the api had it.
|
|
72
|
-
*/
|
|
73
|
-
async signOut() {
|
|
74
|
-
const { error } = await this.supabase.auth.signOut();
|
|
75
|
-
if (error)
|
|
76
|
-
throw (0, errors_1.mapAuthError)(error);
|
|
77
|
-
}
|
|
78
66
|
/** `redirectTo` is passed in — the SDK reads no environment variables. */
|
|
79
67
|
async sendPasswordResetEmail(input, redirectTo) {
|
|
80
68
|
const { error } = await this.supabase.auth.resetPasswordForEmail(input.email, { redirectTo });
|
|
@@ -123,10 +111,7 @@ class SupabaseAuthClient {
|
|
|
123
111
|
* ignored, a failed stamp must not fail the login.
|
|
124
112
|
*/
|
|
125
113
|
async stampLastLoggedIn(accessToken, userId) {
|
|
126
|
-
const asUser = (0,
|
|
127
|
-
global: { headers: { Authorization: `Bearer ${accessToken}` } },
|
|
128
|
-
auth: { persistSession: false, autoRefreshToken: false },
|
|
129
|
-
});
|
|
114
|
+
const asUser = (0, auth_1.createRawClient)(this.config.url, this.config.key, accessToken);
|
|
130
115
|
await asUser
|
|
131
116
|
.from('users')
|
|
132
117
|
.update({ last_logged_in: new Date().toISOString() })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth-client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth-client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
|
+
import { type SupabaseClient as SupabaseJsClient } from '@supabase/supabase-js';
|
|
2
|
+
/**
|
|
3
|
+
* A raw supabase-js client, built the one way the SDK ever needs one: server-side and stateless —
|
|
4
|
+
* nothing is stored, refreshed or read out of a URL — carrying the caller's bearer token when
|
|
5
|
+
* there is one, so RLS sees them.
|
|
6
|
+
*/
|
|
7
|
+
export declare const createRawClient: (url: string, key: string, accessToken?: string) => SupabaseJsClient;
|
|
8
|
+
/** Who a request is running as: the GoTrue subject and the tenant its `users` row belongs to. */
|
|
1
9
|
export type AuthContext = {
|
|
2
10
|
mms_id: string;
|
|
3
11
|
organization_id: string;
|
|
4
12
|
};
|
|
5
|
-
|
|
13
|
+
/** What a verified bearer token resolves to: the GoTrue subject plus the caller's `users` row. */
|
|
14
|
+
export type VerifiedAuth = AuthContext & {
|
|
15
|
+
email: string | null;
|
|
16
|
+
name: string | null;
|
|
17
|
+
surname: string | null;
|
|
18
|
+
};
|
|
19
|
+
export type VerifyAccessTokenConfig = {
|
|
20
|
+
url: string;
|
|
21
|
+
key: string;
|
|
22
|
+
accessToken: string;
|
|
23
|
+
/**
|
|
24
|
+
* A raw client already built for this url/key/token, so a caller that goes on to build a
|
|
25
|
+
* `SupabaseClient` from the same token has one supabase-js client rather than two. Defaults to
|
|
26
|
+
* building its own.
|
|
27
|
+
*/
|
|
28
|
+
client?: SupabaseJsClient;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Establishes who the caller is, from a token whose signature is actually checked.
|
|
32
|
+
*
|
|
33
|
+
* Identity comes from the verified JWT and tenancy comes from `public.users` — never from
|
|
34
|
+
* `user_metadata`, which the end user can rewrite through GoTrue. The profile read runs under the
|
|
35
|
+
* caller's own RLS (a user may read their own row), so the `organization_id` returned here is the
|
|
36
|
+
* same one `current_user_organization_id()` gives every policy.
|
|
37
|
+
*
|
|
38
|
+
* The token itself is never logged: a failure says only that it was rejected.
|
|
39
|
+
*/
|
|
40
|
+
export declare const verifyAccessToken: ({ url, key, accessToken, client, }: VerifyAccessTokenConfig) => Promise<VerifiedAuth>;
|
package/dist/auth.js
CHANGED
|
@@ -1,30 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.verifyAccessToken = exports.createRawClient = void 0;
|
|
4
|
+
const supabase_js_1 = require("@supabase/supabase-js");
|
|
4
5
|
const errors_1 = require("./errors");
|
|
6
|
+
/**
|
|
7
|
+
* A raw supabase-js client, built the one way the SDK ever needs one: server-side and stateless —
|
|
8
|
+
* nothing is stored, refreshed or read out of a URL — carrying the caller's bearer token when
|
|
9
|
+
* there is one, so RLS sees them.
|
|
10
|
+
*/
|
|
11
|
+
const createRawClient = (url, key, accessToken) => (0, supabase_js_1.createClient)(url, key, {
|
|
12
|
+
...(accessToken ? { global: { headers: { Authorization: `Bearer ${accessToken}` } } } : {}),
|
|
13
|
+
auth: { persistSession: false, autoRefreshToken: false, detectSessionInUrl: false },
|
|
14
|
+
});
|
|
15
|
+
exports.createRawClient = createRawClient;
|
|
5
16
|
const authError = (message) => new errors_1.SupabaseClientError({ status: 401, error: 'Authentication Error', message });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Establishes who the caller is, from a token whose signature is actually checked.
|
|
19
|
+
*
|
|
20
|
+
* Identity comes from the verified JWT and tenancy comes from `public.users` — never from
|
|
21
|
+
* `user_metadata`, which the end user can rewrite through GoTrue. The profile read runs under the
|
|
22
|
+
* caller's own RLS (a user may read their own row), so the `organization_id` returned here is the
|
|
23
|
+
* same one `current_user_organization_id()` gives every policy.
|
|
24
|
+
*
|
|
25
|
+
* The token itself is never logged: a failure says only that it was rejected.
|
|
26
|
+
*/
|
|
27
|
+
const verifyAccessToken = async ({ url, key, accessToken, client = (0, exports.createRawClient)(url, key, accessToken), }) => {
|
|
28
|
+
// Verifies the signature locally against the project's JWKS for asymmetric keys, and against
|
|
29
|
+
// the auth server for HS256 projects. Either way the token is checked, not merely decoded.
|
|
30
|
+
const { data, error } = await client.auth.getClaims(accessToken);
|
|
31
|
+
const mms_id = data?.claims?.sub;
|
|
32
|
+
if (error || typeof mms_id !== 'string' || mms_id === '') {
|
|
33
|
+
throw authError('Invalid or expired token');
|
|
16
34
|
}
|
|
17
|
-
|
|
18
|
-
|
|
35
|
+
const { data: profile, error: profileError } = await client
|
|
36
|
+
.from('users')
|
|
37
|
+
.select('organization_id, active, email, name, surname')
|
|
38
|
+
.eq('mms_id', mms_id)
|
|
39
|
+
.maybeSingle();
|
|
40
|
+
if (profileError)
|
|
41
|
+
throw (0, errors_1.mapPostgrestError)(profileError);
|
|
42
|
+
if (!profile)
|
|
43
|
+
throw authError('No user profile exists for this account');
|
|
44
|
+
if (profile.active === false) {
|
|
45
|
+
throw new errors_1.SupabaseClientError({
|
|
46
|
+
status: 403,
|
|
47
|
+
error: 'Authentication Error',
|
|
48
|
+
message: 'Your account has been deactivated',
|
|
49
|
+
});
|
|
19
50
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
return { mms_id, organization_id };
|
|
51
|
+
return {
|
|
52
|
+
mms_id,
|
|
53
|
+
organization_id: profile.organization_id,
|
|
54
|
+
email: profile.email ?? null,
|
|
55
|
+
name: profile.name ?? null,
|
|
56
|
+
surname: profile.surname ?? null,
|
|
57
|
+
};
|
|
28
58
|
};
|
|
29
|
-
exports.
|
|
59
|
+
exports.verifyAccessToken = verifyAccessToken;
|
|
30
60
|
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;AAAA,uDAA8F;AAC9F,qCAAkE;AAElE;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAC7B,GAAW,EACX,GAAW,EACX,WAAoB,EACF,EAAE,CACpB,IAAA,0BAAY,EAAC,GAAG,EAAE,GAAG,EAAE;IACrB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE;CACpF,CAAC,CAAC;AARQ,QAAA,eAAe,mBAQvB;AAwBL,MAAM,SAAS,GAAG,CAAC,OAAe,EAAuB,EAAE,CACzD,IAAI,4BAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,CAAC;AAEnF;;;;;;;;;GASG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,GAAG,EACH,GAAG,EACH,WAAW,EACX,MAAM,GAAG,IAAA,uBAAe,EAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,GACvB,EAAyB,EAAE;IACnD,6FAA6F;IAC7F,2FAA2F;IAC3F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC;IACjC,IAAI,KAAK,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM;SACxD,IAAI,CAAC,OAAO,CAAC;SACb,MAAM,CAAC,+CAA+C,CAAC;SACvD,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SACpB,WAAW,EAAE,CAAC;IACjB,IAAI,YAAY;QAAE,MAAM,IAAA,0BAAiB,EAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,MAAM,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,4BAAmB,CAAC;YAC5B,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,mCAAmC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,MAAM;QACN,eAAe,EAAE,OAAO,CAAC,eAAyB;QAClD,KAAK,EAAG,OAAO,CAAC,KAAuB,IAAI,IAAI;QAC/C,IAAI,EAAG,OAAO,CAAC,IAAsB,IAAI,IAAI;QAC7C,OAAO,EAAG,OAAO,CAAC,OAAyB,IAAI,IAAI;KACpD,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,iBAAiB,qBAoC5B"}
|
package/dist/billing/index.d.ts
CHANGED
|
@@ -12,7 +12,6 @@ export declare class BillingReadsResource {
|
|
|
12
12
|
protected readonly supabase: TypedSupabaseClient;
|
|
13
13
|
protected readonly actor: AuditActor;
|
|
14
14
|
constructor(supabase: TypedSupabaseClient, actor: AuditActor);
|
|
15
|
-
getTransaction(transactionId: string): Promise<BillingTransactionRow | null>;
|
|
16
15
|
/** The one open transaction, if the organization has one. */
|
|
17
16
|
openTransaction(openStatuses: string[]): Promise<BillingTransactionRow | null>;
|
|
18
17
|
/** The replay lookup: the same key must never raise a second charge. */
|
package/dist/billing/index.js
CHANGED
|
@@ -37,16 +37,6 @@ class BillingReadsResource {
|
|
|
37
37
|
this.supabase = supabase;
|
|
38
38
|
this.actor = actor;
|
|
39
39
|
}
|
|
40
|
-
async getTransaction(transactionId) {
|
|
41
|
-
const { data, error } = await this.supabase
|
|
42
|
-
.from('billing_transactions')
|
|
43
|
-
.select('*')
|
|
44
|
-
.eq('mms_id', transactionId)
|
|
45
|
-
.maybeSingle();
|
|
46
|
-
if (error)
|
|
47
|
-
throw (0, errors_1.mapPostgrestError)(error);
|
|
48
|
-
return (data ?? null);
|
|
49
|
-
}
|
|
50
40
|
/** The one open transaction, if the organization has one. */
|
|
51
41
|
async openTransaction(openStatuses) {
|
|
52
42
|
const { data, error } = await this.supabase
|
|
@@ -57,7 +47,7 @@ class BillingReadsResource {
|
|
|
57
47
|
.maybeSingle();
|
|
58
48
|
if (error)
|
|
59
49
|
throw (0, errors_1.mapPostgrestError)(error);
|
|
60
|
-
return (data
|
|
50
|
+
return data ? (0, audit_1.withoutInternalId)(data) : null;
|
|
61
51
|
}
|
|
62
52
|
/** The replay lookup: the same key must never raise a second charge. */
|
|
63
53
|
async transactionByIdempotencyKey(idempotencyKey) {
|
|
@@ -69,7 +59,7 @@ class BillingReadsResource {
|
|
|
69
59
|
.maybeSingle();
|
|
70
60
|
if (error)
|
|
71
61
|
throw (0, errors_1.mapPostgrestError)(error);
|
|
72
|
-
return (data
|
|
62
|
+
return data ? (0, audit_1.withoutInternalId)(data) : null;
|
|
73
63
|
}
|
|
74
64
|
/** Whether a catalog module is still on sale. The catalog is public, not tenant-scoped. */
|
|
75
65
|
async isModuleActive(moduleId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/billing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0EAAuF;AAEvF,sEAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/billing/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SupabaseClient as SupabaseJsClient } from '@supabase/supabase-js';
|
|
2
2
|
import { type AuthContext } from './auth';
|
|
3
3
|
import { AuditResource, type AuditErrorHandler } from './audit';
|
|
4
4
|
import { AdditionalDetailsResource } from './additional-details';
|
|
@@ -18,9 +18,24 @@ export type SupabaseClientConfig = {
|
|
|
18
18
|
url: string;
|
|
19
19
|
key: string;
|
|
20
20
|
accessToken: string;
|
|
21
|
+
/**
|
|
22
|
+
* Who the request runs as. The caller must already have **verified** the token this came from
|
|
23
|
+
* (`verifyAccessToken`) — the client trusts this outright and scopes every query to it.
|
|
24
|
+
*/
|
|
25
|
+
auth: AuthContext;
|
|
21
26
|
/** Where a failed audit insert is reported. Defaults to `console.error`. */
|
|
22
27
|
onAuditError?: AuditErrorHandler;
|
|
28
|
+
/**
|
|
29
|
+
* A raw client already built for this url/key/token — what `verifyAccessToken` was handed, so
|
|
30
|
+
* one request builds one supabase-js client. Defaults to building its own.
|
|
31
|
+
*/
|
|
32
|
+
client?: TypedSupabaseClient;
|
|
23
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* The caller's data client: every query carries their bearer token, so RLS decides what they
|
|
36
|
+
* may see. It performs no authentication of its own — build it from a `VerifiedAuth`, never from
|
|
37
|
+
* a token you have only decoded.
|
|
38
|
+
*/
|
|
24
39
|
export declare class SupabaseClient {
|
|
25
40
|
readonly supabase: TypedSupabaseClient;
|
|
26
41
|
readonly auth: AuthContext;
|
package/dist/client.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createSupabaseClient = exports.SupabaseClient = void 0;
|
|
4
|
-
const supabase_js_1 = require("@supabase/supabase-js");
|
|
5
4
|
const auth_1 = require("./auth");
|
|
6
5
|
const audit_1 = require("./audit");
|
|
7
6
|
const additional_details_1 = require("./additional-details");
|
|
@@ -16,6 +15,11 @@ const statuses_1 = require("./statuses");
|
|
|
16
15
|
const supporting_files_1 = require("./supporting-files");
|
|
17
16
|
const tasks_1 = require("./tasks");
|
|
18
17
|
const users_1 = require("./users");
|
|
18
|
+
/**
|
|
19
|
+
* The caller's data client: every query carries their bearer token, so RLS decides what they
|
|
20
|
+
* may see. It performs no authentication of its own — build it from a `VerifiedAuth`, never from
|
|
21
|
+
* a token you have only decoded.
|
|
22
|
+
*/
|
|
19
23
|
class SupabaseClient {
|
|
20
24
|
supabase; // escape hatch for not-yet-migrated queries
|
|
21
25
|
auth;
|
|
@@ -33,11 +37,9 @@ class SupabaseClient {
|
|
|
33
37
|
projects;
|
|
34
38
|
tasks;
|
|
35
39
|
constructor(config) {
|
|
36
|
-
this.auth =
|
|
37
|
-
this.supabase =
|
|
38
|
-
|
|
39
|
-
auth: { persistSession: false, autoRefreshToken: false },
|
|
40
|
-
});
|
|
40
|
+
this.auth = config.auth;
|
|
41
|
+
this.supabase =
|
|
42
|
+
config.client ?? (0, auth_1.createRawClient)(config.url, config.key, config.accessToken);
|
|
41
43
|
// Built before the resources: every write they make goes through it.
|
|
42
44
|
this.audit = new audit_1.AuditResource(this.supabase, this.auth, config.onAuditError);
|
|
43
45
|
this.statuses = new statuses_1.StatusesResource(this.supabase, this.auth, this.audit);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|