@endorr/core-sdk 0.1.1 → 0.2.1
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 +16 -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 +65 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +48 -1
- 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.map +1 -1
- package/dist/oauth.js +2 -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 +284 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -26
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.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;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;
|
|
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;IAM7C,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
|
@@ -39,7 +39,8 @@ export class EndorrOAuth {
|
|
|
39
39
|
constructor(cfg) {
|
|
40
40
|
this.cfg = cfg;
|
|
41
41
|
this.issuer = cfg.issuer.replace(/\/$/, '');
|
|
42
|
-
this.f
|
|
42
|
+
// Never store the global fetch as a method: calling it as `this.f(...)` throws "Illegal invocation" in browsers.
|
|
43
|
+
this.f = cfg.fetch ?? ((input, init) => fetch(input, init));
|
|
43
44
|
}
|
|
44
45
|
authorizationUrl(o) {
|
|
45
46
|
const u = new URL('/oauth/authorize', this.issuer);
|
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;AAmBD,SAAS,UAAU,CAAC,IAAoB,EAAE,MAAc;IACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACnK,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;AACjL,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,WAAW;IAKO;IAJrB,IAAI,GAAiD,IAAI,CAAC;IACjD,CAAC,CAAe;IACxB,MAAM,CAAS;IAExB,YAA6B,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;QAC3C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,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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"}
|