@endorr/core-sdk 0.1.0 → 0.2.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 +27 -0
- package/README.md +76 -0
- package/dist/billing-sync.d.ts +74 -0
- package/dist/billing-sync.d.ts.map +1 -0
- package/dist/billing-sync.js +86 -0
- package/dist/billing-sync.js.map +1 -0
- package/dist/client.d.ts +111 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +61 -2
- package/dist/client.js.map +1 -1
- package/dist/entitlements.d.ts +17 -0
- package/dist/entitlements.d.ts.map +1 -0
- package/dist/entitlements.js +44 -0
- package/dist/entitlements.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +20 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/nextjs.d.ts +16 -1
- package/dist/nextjs.d.ts.map +1 -1
- package/dist/nextjs.js +37 -0
- package/dist/nextjs.js.map +1 -1
- package/dist/oauth.d.ts +6 -0
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +20 -1
- package/dist/oauth.js.map +1 -1
- package/dist/react.d.ts +34 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +29 -1
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +302 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -25
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AccessCheck, Entitlements, FeatureKey, ProductKey } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Offline helpers over data you already fetched. Good for rendering (cache entitlements for a
|
|
4
|
+
* minute); anything that costs tokens must still go through `billing.spend`, which Core enforces.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PRODUCT_NAMES: Record<ProductKey, string>;
|
|
7
|
+
/** Phrased to complete "Studio does not include …". */
|
|
8
|
+
export declare const FEATURE_NAMES: Record<FeatureKey, string>;
|
|
9
|
+
/** Whether the organisation's entitlements include the product. */
|
|
10
|
+
export declare function hasProduct(ent: Pick<Entitlements, 'products'> | null | undefined, product: ProductKey): boolean;
|
|
11
|
+
/** Whether the organisation's plan includes the feature. */
|
|
12
|
+
export declare function hasFeature(ent: Pick<Entitlements, 'features'> | null | undefined, feature: FeatureKey): boolean;
|
|
13
|
+
/** One sentence for a denied check, the same text Core uses in its 402 errors. */
|
|
14
|
+
export declare function describeDenial(check: AccessCheck): string;
|
|
15
|
+
/** Throw the same error Core would for a denied check, so live and cached checks are handled alike. */
|
|
16
|
+
export declare function assertAllowed(check: AccessCheck): AccessCheck;
|
|
17
|
+
//# sourceMappingURL=entitlements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGjF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAEpD,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAGpD,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAE/G;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAE/G;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAczD;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAG7D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EndorrEntitlementError } from './errors';
|
|
2
|
+
/**
|
|
3
|
+
* Offline helpers over data you already fetched. Good for rendering (cache entitlements for a
|
|
4
|
+
* minute); anything that costs tokens must still go through `billing.spend`, which Core enforces.
|
|
5
|
+
*/
|
|
6
|
+
export const PRODUCT_NAMES = {
|
|
7
|
+
printreadysheets: 'PrintReadySheets', filefixer: 'FileFixer', easymockup: 'Easy Mockup', pixlpilot: 'PixlPilot', endorrcloud: 'Endorr Cloud',
|
|
8
|
+
};
|
|
9
|
+
/** Phrased to complete "Studio does not include …". */
|
|
10
|
+
export const FEATURE_NAMES = {
|
|
11
|
+
sharing: 'sharing', collaboration: 'collaboration', filefixer_full: 'every FileFixer feature', team_workspace: 'a team workspace',
|
|
12
|
+
permissions: 'permissions', batch_workflows: 'batch workflows', priority_processing: 'priority processing',
|
|
13
|
+
};
|
|
14
|
+
/** Whether the organisation's entitlements include the product. */
|
|
15
|
+
export function hasProduct(ent, product) {
|
|
16
|
+
return !!ent?.products.includes(product);
|
|
17
|
+
}
|
|
18
|
+
/** Whether the organisation's plan includes the feature. */
|
|
19
|
+
export function hasFeature(ent, feature) {
|
|
20
|
+
return !!ent?.features.includes(feature);
|
|
21
|
+
}
|
|
22
|
+
/** One sentence for a denied check, the same text Core uses in its 402 errors. */
|
|
23
|
+
export function describeDenial(check) {
|
|
24
|
+
const up = check.upgrade?.plan_name;
|
|
25
|
+
switch (check.reason) {
|
|
26
|
+
case 'addon_required': return `${PRODUCT_NAMES[check.product]} is an add-on to ${check.plan.name}.${up ? ` It is included in ${up}.` : ''}`;
|
|
27
|
+
case 'not_in_plan': {
|
|
28
|
+
const what = check.product ? PRODUCT_NAMES[check.product] : FEATURE_NAMES[check.feature];
|
|
29
|
+
return `${check.plan.name} does not include ${what}.${up ? ` Upgrade to ${up} to use it.` : ''}`;
|
|
30
|
+
}
|
|
31
|
+
case 'insufficient_tokens': {
|
|
32
|
+
const t = check.tokens;
|
|
33
|
+
return `This needs ${t.cost} tokens and ${t.balance} ${t.balance === 1 ? 'is' : 'are'} left. Top up with a token pack${up ? ` or upgrade to ${up}` : ''}.`;
|
|
34
|
+
}
|
|
35
|
+
default: return 'Included.';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** Throw the same error Core would for a denied check, so live and cached checks are handled alike. */
|
|
39
|
+
export function assertAllowed(check) {
|
|
40
|
+
if (!check.allowed)
|
|
41
|
+
throw new EndorrEntitlementError(check.reason === 'insufficient_tokens' ? 'insufficient_tokens' : 'not_entitled', describeDenial(check), check);
|
|
42
|
+
return check;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=entitlements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc;CAC7I,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB;IACjI,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB;CAC3G,CAAC;AAEF,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,GAAsD,EAAE,OAAmB;IACpG,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,UAAU,CAAC,GAAsD,EAAE,OAAmB;IACpG,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;IACpC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,gBAAgB,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAQ,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7I,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;YAC1F,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnG,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAO,CAAC;YACxB,OAAO,cAAc,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,kCAAkC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC7J,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACpK,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AccessCheck } from './types';
|
|
1
2
|
/** Error returned by the Core API: `code` is stable and documented, `details` carries field errors for 422. */
|
|
2
3
|
export declare class EndorrApiError extends Error {
|
|
3
4
|
readonly status: number;
|
|
@@ -14,9 +15,24 @@ export declare class EndorrApiError extends Error {
|
|
|
14
15
|
/** Field-level message for 422 responses. */
|
|
15
16
|
fieldError(path: string): string | undefined;
|
|
16
17
|
get isUnauthorized(): boolean;
|
|
18
|
+
get isPaymentRequired(): boolean;
|
|
17
19
|
get isForbidden(): boolean;
|
|
18
20
|
get isNotFound(): boolean;
|
|
19
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* 402 from Core: the organisation may not use the product or feature (`not_entitled`), or cannot
|
|
24
|
+
* afford the action (`insufficient_tokens`). `check` carries what fixes it: `addon`, `upgrade`, `top_up`.
|
|
25
|
+
*/
|
|
26
|
+
export declare class EndorrEntitlementError extends EndorrApiError {
|
|
27
|
+
readonly check: AccessCheck;
|
|
28
|
+
constructor(code: 'not_entitled' | 'insufficient_tokens', message: string, check: AccessCheck, requestId?: string);
|
|
29
|
+
get reason(): import("./types").AccessReason;
|
|
30
|
+
get upgrade(): {
|
|
31
|
+
plan_key: import("./types").PlanKey;
|
|
32
|
+
plan_name: string;
|
|
33
|
+
amount: import("./types").Money;
|
|
34
|
+
} | null;
|
|
35
|
+
}
|
|
20
36
|
/** Error from the OAuth token/authorization endpoints (RFC 6749 §5.2). */
|
|
21
37
|
export declare class EndorrOAuthError extends Error {
|
|
22
38
|
readonly error: string;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,qBAAa,cAAe,SAAQ,KAAK;aAErB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;aAC9C,SAAS,CAAC,EAAE,MAAM;gBAJlB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,YAAA,EAC9C,SAAS,CAAC,EAAE,MAAM,YAAA;IAKpC,6CAA6C;IAC7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAG5C,IAAI,cAAc,YAAkC;IACpD,IAAI,WAAW,YAAkC;IACjD,IAAI,UAAU,YAAkC;CACjD;AAED,0EAA0E;AAC1E,qBAAa,gBAAiB,SAAQ,KAAK;aACb,KAAK,EAAE,MAAM;aAAkB,WAAW,CAAC,EAAE,MAAM;aAAkB,MAAM,CAAC,EAAE,MAAM;gBAApF,KAAK,EAAE,MAAM,EAAkB,WAAW,CAAC,EAAE,MAAM,YAAA,EAAkB,MAAM,CAAC,EAAE,MAAM,YAAA;CAIjH;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,+GAA+G;AAC/G,qBAAa,cAAe,SAAQ,KAAK;aAErB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;aAC9C,SAAS,CAAC,EAAE,MAAM;gBAJlB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,YAAA,EAC9C,SAAS,CAAC,EAAE,MAAM,YAAA;IAKpC,6CAA6C;IAC7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAG5C,IAAI,cAAc,YAAkC;IACpD,IAAI,iBAAiB,YAAkC;IACvD,IAAI,WAAW,YAAkC;IACjD,IAAI,UAAU,YAAkC;CACjD;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;aACmC,KAAK,EAAE,WAAW;gBAAjG,IAAI,EAAE,cAAc,GAAG,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAkB,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM;IAIjI,IAAI,MAAM,mCAAgC;IAC1C,IAAI,OAAO;;;;aAAiC;CAC7C;AAED,0EAA0E;AAC1E,qBAAa,gBAAiB,SAAQ,KAAK;aACb,KAAK,EAAE,MAAM;aAAkB,WAAW,CAAC,EAAE,MAAM;aAAkB,MAAM,CAAC,EAAE,MAAM;gBAApF,KAAK,EAAE,MAAM,EAAkB,WAAW,CAAC,EAAE,MAAM,YAAA,EAAkB,MAAM,CAAC,EAAE,MAAM,YAAA;CAIjH;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CASpE"}
|
package/dist/errors.js
CHANGED
|
@@ -17,9 +17,24 @@ export class EndorrApiError extends Error {
|
|
|
17
17
|
return this.details?.find((d) => d.path === path)?.message;
|
|
18
18
|
}
|
|
19
19
|
get isUnauthorized() { return this.status === 401; }
|
|
20
|
+
get isPaymentRequired() { return this.status === 402; }
|
|
20
21
|
get isForbidden() { return this.status === 403; }
|
|
21
22
|
get isNotFound() { return this.status === 404; }
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* 402 from Core: the organisation may not use the product or feature (`not_entitled`), or cannot
|
|
26
|
+
* afford the action (`insufficient_tokens`). `check` carries what fixes it: `addon`, `upgrade`, `top_up`.
|
|
27
|
+
*/
|
|
28
|
+
export class EndorrEntitlementError extends EndorrApiError {
|
|
29
|
+
check;
|
|
30
|
+
constructor(code, message, check, requestId) {
|
|
31
|
+
super(402, code, message, undefined, requestId);
|
|
32
|
+
this.check = check;
|
|
33
|
+
this.name = 'EndorrEntitlementError';
|
|
34
|
+
}
|
|
35
|
+
get reason() { return this.check.reason; }
|
|
36
|
+
get upgrade() { return this.check.upgrade; }
|
|
37
|
+
}
|
|
23
38
|
/** Error from the OAuth token/authorization endpoints (RFC 6749 §5.2). */
|
|
24
39
|
export class EndorrOAuthError extends Error {
|
|
25
40
|
error;
|
|
@@ -40,6 +55,10 @@ export async function throwForResponse(res) {
|
|
|
40
55
|
}
|
|
41
56
|
catch { /* not json */ }
|
|
42
57
|
const e = body?.error;
|
|
43
|
-
|
|
58
|
+
const requestId = e?.request_id ?? res.headers.get('x-request-id') ?? undefined;
|
|
59
|
+
if (res.status === 402 && (e?.code === 'not_entitled' || e?.code === 'insufficient_tokens') && e.details && typeof e.details === 'object') {
|
|
60
|
+
throw new EndorrEntitlementError(e.code, e.message ?? 'Not included in the current plan.', e.details, requestId);
|
|
61
|
+
}
|
|
62
|
+
throw new EndorrApiError(res.status, e?.code ?? 'http_error', e?.message ?? `Endorr Core answered ${res.status}`, e?.details, requestId);
|
|
44
63
|
}
|
|
45
64
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export { EndorrOAuth, generatePkce, randomState, DEFAULT_SCOPES } from './oauth';
|
|
2
2
|
export type { OAuthConfig, AuthorizationUrlOptions } from './oauth';
|
|
3
3
|
export { EndorrClient } from './client';
|
|
4
|
-
export type { ClientConfig } from './client';
|
|
4
|
+
export type { ClientConfig, AccessQuery } from './client';
|
|
5
|
+
export { hasProduct, hasFeature, describeDenial, assertAllowed, PRODUCT_NAMES, FEATURE_NAMES } from './entitlements';
|
|
5
6
|
export { uploadFile } from './upload';
|
|
7
|
+
export { EndorrBillingSync } from './billing-sync';
|
|
8
|
+
export type { BillingSyncConfig } from './billing-sync';
|
|
6
9
|
export type { UploadOptions } from './upload';
|
|
7
|
-
export { EndorrApiError, EndorrOAuthError } from './errors';
|
|
10
|
+
export { EndorrApiError, EndorrOAuthError, EndorrEntitlementError } from './errors';
|
|
8
11
|
export * from './types';
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACpF,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { EndorrOAuth, generatePkce, randomState, DEFAULT_SCOPES } from './oauth';
|
|
2
2
|
export { EndorrClient } from './client';
|
|
3
|
+
export { hasProduct, hasFeature, describeDenial, assertAllowed, PRODUCT_NAMES, FEATURE_NAMES } from './entitlements';
|
|
3
4
|
export { uploadFile } from './upload';
|
|
4
|
-
export {
|
|
5
|
+
export { EndorrBillingSync } from './billing-sync';
|
|
6
|
+
export { EndorrApiError, EndorrOAuthError, EndorrEntitlementError } from './errors';
|
|
5
7
|
export * from './types';
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACpF,cAAc,SAAS,CAAC"}
|
package/dist/nextjs.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EndorrOAuth, type OAuthConfig } from './oauth';
|
|
2
|
-
import type { IdTokenClaims, TokenSet } from './types';
|
|
2
|
+
import type { AccessCheck, IdTokenClaims, TokenSet } from './types';
|
|
3
|
+
import type { AccessQuery, EndorrClient } from './client';
|
|
3
4
|
/**
|
|
4
5
|
* Next.js (App Router) helpers for the Login with Endorr dance.
|
|
5
6
|
*
|
|
@@ -41,4 +42,18 @@ export declare function endorrLoginHandler(auth: EndorrAuth): {
|
|
|
41
42
|
export declare function endorrCallbackHandler(auth: EndorrAuth, handlers: CallbackHandlers): {
|
|
42
43
|
GET: (req: Request) => Promise<Response>;
|
|
43
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Gate a server action, page or handler: `await requireEntitlement(core, { product: 'printreadysheets' })`.
|
|
47
|
+
* Throws EndorrEntitlementError when denied; `entitlementErrorResponse` turns it into a 402.
|
|
48
|
+
*/
|
|
49
|
+
export declare function requireEntitlement(client: EndorrClient, q: AccessQuery): Promise<AccessCheck>;
|
|
50
|
+
/** 402 JSON carrying the check (reason, usage, upgrade), or null when `err` is not an entitlement error. */
|
|
51
|
+
export declare function entitlementErrorResponse(err: unknown): Response | null;
|
|
52
|
+
/**
|
|
53
|
+
* Route-handler wrapper: runs `handler` only when the organisation may, answers 402 otherwise
|
|
54
|
+
* (also when the handler's own `recordUsage` hits the limit).
|
|
55
|
+
*
|
|
56
|
+
* export const POST = withEntitlement((req) => coreFor(req), { metric: 'filefixer_fixes' }, async (req, access) => { … });
|
|
57
|
+
*/
|
|
58
|
+
export declare function withEntitlement<Ctx = unknown>(clientFor: (req: Request) => EndorrClient | Promise<EndorrClient>, q: AccessQuery, handler: (req: Request, access: AccessCheck, ctx: Ctx) => Promise<Response> | Response): (req: Request, ctx: Ctx) => Promise<Response>;
|
|
44
59
|
//# sourceMappingURL=nextjs.d.ts.map
|
package/dist/nextjs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../src/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA6B,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../src/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA6B,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG1D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAwCD,MAAM,WAAW,eAAe;IAAG,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AAChH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAClE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;CAC5E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc;;iBAKxB,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;oBAkBxB,OAAO,YAAY,gBAAgB,KAAG,OAAO,CAAC,QAAQ,CAAC;EAqBrF;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU;eAC7B,OAAO;EAC5B;AACD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB;eAC5D,OAAO;EAC5B;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAE7F;AAED,4GAA4G;AAC5G,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAKtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAG,OAAO,EAC3C,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,EACjE,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAExE,KAAK,OAAO,EAAE,KAAK,GAAG,KAAG,OAAO,CAAC,QAAQ,CAAC,CAUzD"}
|
package/dist/nextjs.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EndorrOAuth, generatePkce, randomState } from './oauth';
|
|
2
|
+
import { EndorrEntitlementError } from './errors';
|
|
2
3
|
const enc = new TextEncoder();
|
|
3
4
|
async function hmac(secret, data) {
|
|
4
5
|
const key = await crypto.subtle.importKey('raw', enc.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign']);
|
|
@@ -89,4 +90,40 @@ export function endorrLoginHandler(auth) {
|
|
|
89
90
|
export function endorrCallbackHandler(auth, handlers) {
|
|
90
91
|
return { GET: (req) => auth.callback(req, handlers) };
|
|
91
92
|
}
|
|
93
|
+
/* ── Entitlements ─────────────────────────────────────────────────────────────── */
|
|
94
|
+
/**
|
|
95
|
+
* Gate a server action, page or handler: `await requireEntitlement(core, { product: 'printreadysheets' })`.
|
|
96
|
+
* Throws EndorrEntitlementError when denied; `entitlementErrorResponse` turns it into a 402.
|
|
97
|
+
*/
|
|
98
|
+
export function requireEntitlement(client, q) {
|
|
99
|
+
return client.billing.require(q);
|
|
100
|
+
}
|
|
101
|
+
/** 402 JSON carrying the check (reason, usage, upgrade), or null when `err` is not an entitlement error. */
|
|
102
|
+
export function entitlementErrorResponse(err) {
|
|
103
|
+
if (!(err instanceof EndorrEntitlementError))
|
|
104
|
+
return null;
|
|
105
|
+
return new Response(JSON.stringify({ error: { code: err.code, message: err.message, details: err.check } }), {
|
|
106
|
+
status: 402, headers: { 'content-type': 'application/json' },
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Route-handler wrapper: runs `handler` only when the organisation may, answers 402 otherwise
|
|
111
|
+
* (also when the handler's own `recordUsage` hits the limit).
|
|
112
|
+
*
|
|
113
|
+
* export const POST = withEntitlement((req) => coreFor(req), { metric: 'filefixer_fixes' }, async (req, access) => { … });
|
|
114
|
+
*/
|
|
115
|
+
export function withEntitlement(clientFor, q, handler) {
|
|
116
|
+
return async (req, ctx) => {
|
|
117
|
+
try {
|
|
118
|
+
const access = await (await clientFor(req)).billing.require(q);
|
|
119
|
+
return await handler(req, access, ctx);
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
const res = entitlementErrorResponse(err);
|
|
123
|
+
if (res)
|
|
124
|
+
return res;
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
92
129
|
//# sourceMappingURL=nextjs.js.map
|
package/dist/nextjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../src/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAoB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../src/nextjs.ts"],"names":[],"mappings":"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"}
|
package/dist/oauth.d.ts
CHANGED
|
@@ -52,6 +52,12 @@ export declare class EndorrOAuth {
|
|
|
52
52
|
nonce?: string;
|
|
53
53
|
}): Promise<IdTokenClaims>;
|
|
54
54
|
userinfo(accessToken: string): Promise<UserInfo>;
|
|
55
|
+
/** OIDC RP-initiated logout URL: ends the Core web session, then returns to a registered post-logout URI. */
|
|
56
|
+
endSessionUrl(o?: {
|
|
57
|
+
idToken?: string;
|
|
58
|
+
postLogoutRedirectUri?: string;
|
|
59
|
+
state?: string;
|
|
60
|
+
}): string;
|
|
55
61
|
/** Where to send the user for Core-hosted screens (they come back via `return_to` when it is a registered origin). */
|
|
56
62
|
pages(returnTo?: string): {
|
|
57
63
|
login: string;
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjE,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,UAAiG,CAAC;AAc7H,gGAAgG;AAChG,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAIrF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjE,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,UAAiG,CAAC;AAc7H,gGAAgG;AAChG,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAIrF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD;;;GAGG;AACH,qBAAa,WAAW;IAKV,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJhC,OAAO,CAAC,IAAI,CAAsD;IAClE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAe;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEK,GAAG,EAAE,WAAW;IAK7C,gBAAgB,CAAC,CAAC,EAAE,uBAAuB,GAAG,MAAM;IAiBpD,qFAAqF;IACrF,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;YAU3D,KAAK;IAUnB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInE,2FAA2F;IAC3F,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnF,sGAAsG;IAChG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAOrF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMtD,6GAA6G;IAC7G,aAAa,CAAC,CAAC,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IASnG,sHAAsH;IACtH,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM;;;;;;;CAUxB"}
|
package/dist/oauth.js
CHANGED
|
@@ -21,6 +21,12 @@ export async function generatePkce() {
|
|
|
21
21
|
export function randomState() {
|
|
22
22
|
return b64url(randomBytes(24));
|
|
23
23
|
}
|
|
24
|
+
function tokenError(body, status) {
|
|
25
|
+
const e = body.error;
|
|
26
|
+
if (e && typeof e === 'object')
|
|
27
|
+
return new EndorrOAuthError(e.code ?? 'server_error', e.message ?? (e.request_id ? `request ${e.request_id}` : undefined), status);
|
|
28
|
+
return new EndorrOAuthError(typeof e === 'string' && e ? e : 'server_error', body.error_description ?? (status >= 500 ? `Endorr Core answered ${status}` : undefined), status);
|
|
29
|
+
}
|
|
24
30
|
/**
|
|
25
31
|
* Login with Endorr for confidential clients (Authorization Code + PKCE).
|
|
26
32
|
* All methods are server-side: the client secret and refresh tokens never reach a browser.
|
|
@@ -77,7 +83,7 @@ export class EndorrOAuth {
|
|
|
77
83
|
const res = await this.f(`${this.issuer}/oauth/token`, { method: 'POST', headers, body: new URLSearchParams(form).toString() });
|
|
78
84
|
const body = (await res.json().catch(() => ({})));
|
|
79
85
|
if (!res.ok || body.error)
|
|
80
|
-
throw
|
|
86
|
+
throw tokenError(body, res.status);
|
|
81
87
|
return body;
|
|
82
88
|
}
|
|
83
89
|
exchangeCode(code, codeVerifier) {
|
|
@@ -107,6 +113,19 @@ export class EndorrOAuth {
|
|
|
107
113
|
throw new EndorrOAuthError('invalid_token', `userinfo answered ${res.status}`, res.status);
|
|
108
114
|
return (await res.json());
|
|
109
115
|
}
|
|
116
|
+
/** OIDC RP-initiated logout URL: ends the Core web session, then returns to a registered post-logout URI. */
|
|
117
|
+
endSessionUrl(o = {}) {
|
|
118
|
+
const u = new URL('/oauth/logout', this.issuer);
|
|
119
|
+
if (o.idToken)
|
|
120
|
+
u.searchParams.set('id_token_hint', o.idToken);
|
|
121
|
+
else
|
|
122
|
+
u.searchParams.set('client_id', this.cfg.clientId);
|
|
123
|
+
if (o.postLogoutRedirectUri)
|
|
124
|
+
u.searchParams.set('post_logout_redirect_uri', o.postLogoutRedirectUri);
|
|
125
|
+
if (o.state)
|
|
126
|
+
u.searchParams.set('state', o.state);
|
|
127
|
+
return u.toString();
|
|
128
|
+
}
|
|
110
129
|
/** Where to send the user for Core-hosted screens (they come back via `return_to` when it is a registered origin). */
|
|
111
130
|
pages(returnTo) {
|
|
112
131
|
const q = returnTo ? `?return_to=${encodeURIComponent(returnTo)}` : '';
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAc5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAE7H,SAAS,MAAM,CAAC,KAAiB;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import { EndorrClient, type ClientConfig } from './client';
|
|
2
|
+
import { EndorrClient, type AccessQuery, type ClientConfig } from './client';
|
|
3
3
|
import { type UploadOptions } from './upload';
|
|
4
|
-
import type { EndorrFile, Me } from './types';
|
|
4
|
+
import type { AccessCheck, EndorrFile, Entitlements, Me, Wallet } from './types';
|
|
5
5
|
export declare function EndorrProvider({ client, config, children }: {
|
|
6
6
|
client?: EndorrClient;
|
|
7
7
|
config?: ClientConfig;
|
|
@@ -21,6 +21,38 @@ export declare function useEndorrMe(): {
|
|
|
21
21
|
loading: boolean;
|
|
22
22
|
refresh: () => Promise<void>;
|
|
23
23
|
};
|
|
24
|
+
/** The organisation's plan, products and limits. Call `refresh` after a checkout or plan change. */
|
|
25
|
+
export declare function useEntitlements(organizationId?: string): {
|
|
26
|
+
data: Entitlements | null;
|
|
27
|
+
error: Error | null;
|
|
28
|
+
loading: boolean;
|
|
29
|
+
refresh: () => Promise<void>;
|
|
30
|
+
};
|
|
31
|
+
/** Live access check for a product, feature or action, with what would unlock it (add-on, plan, token pack). */
|
|
32
|
+
export declare function useAccess(q: AccessQuery): {
|
|
33
|
+
data: AccessCheck | null;
|
|
34
|
+
error: Error | null;
|
|
35
|
+
loading: boolean;
|
|
36
|
+
refresh: () => Promise<void>;
|
|
37
|
+
};
|
|
38
|
+
/** The organisation's token wallet. Call `refresh` after a spend or a top-up. */
|
|
39
|
+
export declare function useWallet(organizationId?: string): {
|
|
40
|
+
data: Wallet | null;
|
|
41
|
+
error: Error | null;
|
|
42
|
+
loading: boolean;
|
|
43
|
+
refresh: () => Promise<void>;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Renders children only when the organisation may use the product. `fallback` may be a function of
|
|
47
|
+
* the check, to show the right upgrade prompt. UI gating only: the server must still enforce.
|
|
48
|
+
*
|
|
49
|
+
* <Entitled product="printreadysheets" fallback={(c) => <UpgradeCard plan={c.upgrade} />}>…</Entitled>
|
|
50
|
+
*/
|
|
51
|
+
export declare function Entitled({ fallback, loading, children, ...q }: AccessQuery & {
|
|
52
|
+
fallback?: ReactNode | ((check: AccessCheck) => ReactNode);
|
|
53
|
+
loading?: ReactNode;
|
|
54
|
+
children: ReactNode;
|
|
55
|
+
}): import("react").JSX.Element;
|
|
24
56
|
/** Direct-to-storage upload with progress. */
|
|
25
57
|
export declare function useEndorrUpload(): {
|
|
26
58
|
upload: (file: File, opts?: Omit<UploadOptions, "onProgress">) => Promise<EndorrFile | null>;
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjF,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAGjI;AAED,wBAAgB,SAAS,IAAI,YAAY,CAIxC;AAED,oHAAoH;AACpH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAO,EAAO;;;;;EAa/F;AAED,wBAAgB,WAAW;;;;;EAE1B;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,cAAc,CAAC,EAAE,MAAM;;;;;EAEtD;AAED,gHAAgH;AAChH,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW;;;;;EAEvC;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM;;;;;EAEhD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,QAAe,EAAE,OAAc,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,GAAG;IAC1F,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC;IAC3D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAMA;AAED,8CAA8C;AAC9C,wBAAgB,eAAe;mBAKW,IAAI,SAAQ,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,KAAQ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;;;;EAYxH"}
|
package/dist/react.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { EndorrClient } from './client';
|
|
5
5
|
import { uploadFile } from './upload';
|
|
@@ -47,6 +47,34 @@ export function useEndorrQuery(fn, deps = []) {
|
|
|
47
47
|
export function useEndorrMe() {
|
|
48
48
|
return useEndorrQuery((c) => c.me.get());
|
|
49
49
|
}
|
|
50
|
+
/** The organisation's plan, products and limits. Call `refresh` after a checkout or plan change. */
|
|
51
|
+
export function useEntitlements(organizationId) {
|
|
52
|
+
return useEndorrQuery((c) => c.billing.entitlements(organizationId), [organizationId]);
|
|
53
|
+
}
|
|
54
|
+
/** Live access check for a product, feature or action, with what would unlock it (add-on, plan, token pack). */
|
|
55
|
+
export function useAccess(q) {
|
|
56
|
+
return useEndorrQuery((c) => c.billing.check(q), [q.product, q.feature, q.action, q.quantity, q.organizationId]);
|
|
57
|
+
}
|
|
58
|
+
/** The organisation's token wallet. Call `refresh` after a spend or a top-up. */
|
|
59
|
+
export function useWallet(organizationId) {
|
|
60
|
+
return useEndorrQuery((c) => c.billing.wallet(organizationId), [organizationId]);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Renders children only when the organisation may use the product. `fallback` may be a function of
|
|
64
|
+
* the check, to show the right upgrade prompt. UI gating only: the server must still enforce.
|
|
65
|
+
*
|
|
66
|
+
* <Entitled product="printreadysheets" fallback={(c) => <UpgradeCard plan={c.upgrade} />}>…</Entitled>
|
|
67
|
+
*/
|
|
68
|
+
export function Entitled({ fallback = null, loading = null, children, ...q }) {
|
|
69
|
+
const { data, loading: busy } = useAccess(q);
|
|
70
|
+
if (busy && !data)
|
|
71
|
+
return _jsx(_Fragment, { children: loading });
|
|
72
|
+
if (data?.allowed)
|
|
73
|
+
return _jsx(_Fragment, { children: children });
|
|
74
|
+
if (typeof fallback === 'function')
|
|
75
|
+
return _jsx(_Fragment, { children: data ? fallback(data) : null });
|
|
76
|
+
return _jsx(_Fragment, { children: fallback });
|
|
77
|
+
}
|
|
50
78
|
/** Direct-to-storage upload with progress. */
|
|
51
79
|
export function useEndorrUpload() {
|
|
52
80
|
const client = useEndorr();
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACrH,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|