@unifiedcommerce/core 0.5.3 → 0.5.5
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/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +7 -5
- package/dist/auth/org.d.ts +17 -12
- package/dist/auth/org.d.ts.map +1 -1
- package/dist/auth/org.js +29 -12
- package/dist/config/types.d.ts +13 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/hooks/checkout.d.ts.map +1 -1
- package/dist/hooks/checkout.js +3 -2
- package/dist/runtime/commerce.d.ts.map +1 -1
- package/dist/runtime/commerce.js +11 -2
- package/dist/test-utils/create-test-config.d.ts.map +1 -1
- package/dist/test-utils/create-test-config.js +1 -0
- package/dist/test-utils/test-actors.d.ts +6 -0
- package/dist/test-utils/test-actors.d.ts.map +1 -1
- package/dist/test-utils/test-actors.js +11 -4
- package/dist/testing.d.ts +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/package.json +1 -1
- package/src/auth/middleware.ts +8 -5
- package/src/auth/org.ts +29 -12
- package/src/config/types.ts +13 -0
- package/src/hooks/checkout.ts +3 -2
- package/src/runtime/commerce.ts +11 -2
- package/src/test-utils/create-test-config.ts +1 -0
- package/src/test-utils/test-actors.ts +12 -4
- package/src/testing.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/auth/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0B/C,wBAAgB,cAAc,CAC5B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,cAAc,GACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/auth/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0B/C,wBAAgB,cAAc,CAC5B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,cAAc,GACrB,iBAAiB,CAkLnB"}
|
package/dist/auth/middleware.js
CHANGED
|
@@ -18,6 +18,8 @@ function resolvePermissions(session, config) {
|
|
|
18
18
|
}
|
|
19
19
|
export function authMiddleware(auth, config) {
|
|
20
20
|
return async (c, next) => {
|
|
21
|
+
// Resolve the default org from config, falling back to deprecated constant
|
|
22
|
+
const defaultOrgId = config.auth?.defaultOrganizationId ?? DEFAULT_ORG_ID;
|
|
21
23
|
const session = (await auth.api.getSession({
|
|
22
24
|
headers: c.req.raw.headers,
|
|
23
25
|
}));
|
|
@@ -33,14 +35,14 @@ export function authMiddleware(auth, config) {
|
|
|
33
35
|
if (!role && auth.api.getFullOrganization) {
|
|
34
36
|
try {
|
|
35
37
|
const org = await auth.api.getFullOrganization({
|
|
36
|
-
query: { organizationId: orgId ??
|
|
38
|
+
query: { organizationId: orgId ?? defaultOrgId },
|
|
37
39
|
headers: c.req.raw.headers,
|
|
38
40
|
});
|
|
39
41
|
if (org?.members) {
|
|
40
42
|
const membership = org.members.find((m) => m.userId === session.user.id);
|
|
41
43
|
if (membership) {
|
|
42
44
|
role = membership.role;
|
|
43
|
-
orgId = orgId ??
|
|
45
|
+
orgId = orgId ?? defaultOrgId;
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
}
|
|
@@ -69,7 +71,7 @@ export function authMiddleware(auth, config) {
|
|
|
69
71
|
orgId = resolved;
|
|
70
72
|
}
|
|
71
73
|
catch {
|
|
72
|
-
// fall through — use
|
|
74
|
+
// fall through — use defaultOrgId
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
77
|
const enrichedSession = {
|
|
@@ -82,7 +84,7 @@ export function authMiddleware(auth, config) {
|
|
|
82
84
|
email: session.user.email ?? null,
|
|
83
85
|
name: session.user.name ?? "User",
|
|
84
86
|
vendorId: session.user.vendorId ?? null,
|
|
85
|
-
organizationId: orgId ??
|
|
87
|
+
organizationId: orgId ?? defaultOrgId,
|
|
86
88
|
role: role ?? "customer",
|
|
87
89
|
permissions: resolvePermissions(enrichedSession, config),
|
|
88
90
|
});
|
|
@@ -107,7 +109,7 @@ export function authMiddleware(auth, config) {
|
|
|
107
109
|
// v1.5+ renamed userId → referenceId on the apikey table.
|
|
108
110
|
const userId = (apiKey.referenceId ?? "");
|
|
109
111
|
const name = (apiKey.name ?? "API Key");
|
|
110
|
-
const orgId = (apiKey.organizationId ??
|
|
112
|
+
const orgId = (apiKey.organizationId ?? defaultOrgId);
|
|
111
113
|
// Better Auth stores permissions as Record<string, string[]>
|
|
112
114
|
// (e.g. {"catalog":["read","create"]}). Flatten to the
|
|
113
115
|
// "resource:action" string[] format the engine expects.
|
package/dist/auth/org.d.ts
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* @deprecated Will be removed. Use `config.auth.defaultOrganizationId` instead.
|
|
3
|
+
* Kept only for test utilities and backwards compatibility.
|
|
4
4
|
*/
|
|
5
5
|
export declare const DEFAULT_ORG_ID = "org_default";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Called once at boot by createCommerce/createServer to register
|
|
8
|
+
* the config-driven default org ID. This bridges the gap between
|
|
9
|
+
* config (available at boot) and services (which don't have config access).
|
|
9
10
|
*/
|
|
10
|
-
export declare function
|
|
11
|
+
export declare function setBootDefaultOrgId(orgId: string): void;
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
* Idempotent — safe to call multiple times (no-ops if the row exists).
|
|
14
|
-
*
|
|
15
|
-
* Uses OrganizationService which creates both the org row and
|
|
16
|
-
* (when auth is available) a member record for the creator.
|
|
13
|
+
* Extracts the organization ID from an actor.
|
|
17
14
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
15
|
+
* Resolution order:
|
|
16
|
+
* 1. Actor's organizationId (set by middleware from session/API key/storeResolver)
|
|
17
|
+
* 2. Explicit defaultOrgId parameter (caller override)
|
|
18
|
+
* 3. Boot-time default (from config.auth.defaultOrganizationId via setBootDefaultOrgId)
|
|
19
|
+
* 4. Deprecated fallback to DEFAULT_ORG_ID (will be removed)
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveOrgId(actor: unknown, defaultOrgId?: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use seed script with `auth.api.createOrganization()` instead.
|
|
24
|
+
* Kept for backwards compatibility during migration. Will be removed.
|
|
20
25
|
*/
|
|
21
26
|
export declare function ensureDefaultOrg(db: unknown, storeName?: string): Promise<void>;
|
|
22
27
|
//# sourceMappingURL=org.d.ts.map
|
package/dist/auth/org.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/auth/org.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/auth/org.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAS5C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,OAAO,EACX,SAAS,SAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
package/dist/auth/org.js
CHANGED
|
@@ -1,30 +1,47 @@
|
|
|
1
1
|
import { OrganizationService } from "../modules/organization/service.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* @deprecated Will be removed. Use `config.auth.defaultOrganizationId` instead.
|
|
4
|
+
* Kept only for test utilities and backwards compatibility.
|
|
5
5
|
*/
|
|
6
6
|
export const DEFAULT_ORG_ID = "org_default";
|
|
7
|
+
/**
|
|
8
|
+
* Module-level default set once at boot by `setBootDefaultOrgId()`.
|
|
9
|
+
* Allows resolveOrgId to use the config value without requiring
|
|
10
|
+
* every service caller to pass it explicitly.
|
|
11
|
+
*/
|
|
12
|
+
let _bootDefaultOrgId;
|
|
13
|
+
/**
|
|
14
|
+
* Called once at boot by createCommerce/createServer to register
|
|
15
|
+
* the config-driven default org ID. This bridges the gap between
|
|
16
|
+
* config (available at boot) and services (which don't have config access).
|
|
17
|
+
*/
|
|
18
|
+
export function setBootDefaultOrgId(orgId) {
|
|
19
|
+
_bootDefaultOrgId = orgId;
|
|
20
|
+
}
|
|
7
21
|
/**
|
|
8
22
|
* Extracts the organization ID from an actor.
|
|
9
|
-
*
|
|
23
|
+
*
|
|
24
|
+
* Resolution order:
|
|
25
|
+
* 1. Actor's organizationId (set by middleware from session/API key/storeResolver)
|
|
26
|
+
* 2. Explicit defaultOrgId parameter (caller override)
|
|
27
|
+
* 3. Boot-time default (from config.auth.defaultOrganizationId via setBootDefaultOrgId)
|
|
28
|
+
* 4. Deprecated fallback to DEFAULT_ORG_ID (will be removed)
|
|
10
29
|
*/
|
|
11
|
-
export function resolveOrgId(actor) {
|
|
30
|
+
export function resolveOrgId(actor, defaultOrgId) {
|
|
12
31
|
if (actor != null && typeof actor === "object" && "organizationId" in actor) {
|
|
13
32
|
const orgId = actor.organizationId;
|
|
14
33
|
if (typeof orgId === "string")
|
|
15
34
|
return orgId;
|
|
16
35
|
}
|
|
36
|
+
if (defaultOrgId)
|
|
37
|
+
return defaultOrgId;
|
|
38
|
+
if (_bootDefaultOrgId)
|
|
39
|
+
return _bootDefaultOrgId;
|
|
17
40
|
return DEFAULT_ORG_ID;
|
|
18
41
|
}
|
|
19
42
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* Uses OrganizationService which creates both the org row and
|
|
24
|
-
* (when auth is available) a member record for the creator.
|
|
25
|
-
*
|
|
26
|
-
* Accepts `unknown` so callers never need casts — the function
|
|
27
|
-
* handles the Drizzle type narrowing internally.
|
|
43
|
+
* @deprecated Use seed script with `auth.api.createOrganization()` instead.
|
|
44
|
+
* Kept for backwards compatibility during migration. Will be removed.
|
|
28
45
|
*/
|
|
29
46
|
export async function ensureDefaultOrg(db, storeName = "Default Store") {
|
|
30
47
|
const orgService = new OrganizationService(db);
|
package/dist/config/types.d.ts
CHANGED
|
@@ -66,6 +66,19 @@ export interface ApiKeyScopeDefinition {
|
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
export interface AuthConfig {
|
|
69
|
+
/**
|
|
70
|
+
* The default organization ID for single-store deployments.
|
|
71
|
+
* Created by the seed script via `auth.api.createOrganization()`.
|
|
72
|
+
* Used as fallback when a request has no org context (no session org,
|
|
73
|
+
* no storeResolver match). If not set and no storeResolver is configured,
|
|
74
|
+
* falls back to `"org_default"` with a deprecation warning.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* defaultOrganizationId: process.env.UC_ORG_ID,
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
defaultOrganizationId?: string;
|
|
69
82
|
requireEmailVerification?: boolean;
|
|
70
83
|
sessionDuration?: number;
|
|
71
84
|
socialProviders?: Record<string, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,6NAA6N;IAC7N,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,sDAAsD;IACtD,SAAS,CAAC,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,mCAAmC;QACnC,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9D,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,qEAAqE;QACrE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7E;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QACV,wFAAwF;QACxF,OAAO,EAAE,CAAC,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/F,wFAAwF;QACxF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxG,8BAA8B;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,uDAAuD;QACvD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,4FAA4F;QAC5F,oBAAoB,CAAC,EAAE;YACrB,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;YAC9C,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;SAC/C,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,YAAY,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,eAAe,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,oBAAoB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,mBAAmB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;KAC5C,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,iBAAiB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;KACtC,CAAC;IACF;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,kBAAkB,CAAC,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,cAAc,KACnB,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,QAAQ,EAAE,YAAY,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IACF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,KAAK,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACnB,CAAC;IACF,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,yDAAyD;QACzD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE;YACR,OAAO,EAAE,OAAO,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,6EAA6E;IAC7E,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACnE;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+BAA+B;IAC/B,UAAU,CAAC,EAAE;QACX,yDAAyD;QACzD,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,2DAA2D;QAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,oDAAoD;QACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CAAG;AAE5D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,OAAO,EAAE;QACP,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/hooks/checkout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/hooks/checkout.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/checkout.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CommerceValidationError } from "../kernel/errors.js";
|
|
2
|
+
import { resolveOrgId } from "../auth/org.js";
|
|
2
3
|
import { runCompensationChain } from "../kernel/compensation/executor.js";
|
|
3
4
|
import { reserveInventoryStep, capturePaymentStep, initiateFulfillmentStep, sendConfirmationStep, } from "./checkout-completion.js";
|
|
4
5
|
function recalculateTotals(data) {
|
|
@@ -18,7 +19,7 @@ export const validateCartNotEmpty = async ({ data, context, }) => {
|
|
|
18
19
|
throw new CommerceValidationError("Cannot checkout an empty cart.");
|
|
19
20
|
}
|
|
20
21
|
// Cross-org guard: prevent org B from checking out org A's cart
|
|
21
|
-
const actorOrgId = context.actor
|
|
22
|
+
const actorOrgId = resolveOrgId(context.actor);
|
|
22
23
|
if (cart.value.organizationId && cart.value.organizationId !== actorOrgId) {
|
|
23
24
|
throw new CommerceValidationError("Cart does not belong to this organization.");
|
|
24
25
|
}
|
|
@@ -89,7 +90,7 @@ export const checkInventoryAvailability = async ({ data, context, }) => {
|
|
|
89
90
|
export const applyPromotionCodes = async ({ data, context, }) => {
|
|
90
91
|
const promotions = context.services.promotions;
|
|
91
92
|
const result = await promotions.applyPromotions({
|
|
92
|
-
orgId: context.actor
|
|
93
|
+
orgId: resolveOrgId(context.actor),
|
|
93
94
|
cartId: data.cartId,
|
|
94
95
|
currency: data.currency,
|
|
95
96
|
subtotal: data.subtotal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce.d.ts","sourceRoot":"","sources":["../../src/runtime/commerce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAkB,KAAK,gBAAgB,EAAwB,MAAM,wBAAwB,CAAC;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,GAAG,EAAE,gBAAgB,CAAC;IAEtB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,EAAE,EAAE,OAAO,CAAC;IAEZ,yDAAyD;IACzD,IAAI,EAAE,YAAY,CAAC;IAEnB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC;IAE1C;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,gBAAgB,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"commerce.d.ts","sourceRoot":"","sources":["../../src/runtime/commerce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAkB,KAAK,gBAAgB,EAAwB,MAAM,wBAAwB,CAAC;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,GAAG,EAAE,gBAAgB,CAAC;IAEtB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,EAAE,EAAE,OAAO,CAAC;IAEZ,yDAAyD;IACzD,IAAI,EAAE,YAAY,CAAC;IAEnB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC;IAE1C;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,gBAAgB,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAkC3B"}
|
package/dist/runtime/commerce.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createKernel } from "./kernel.js";
|
|
2
|
-
import { ensureDefaultOrg } from "../auth/org.js";
|
|
2
|
+
import { ensureDefaultOrg, setBootDefaultOrgId } from "../auth/org.js";
|
|
3
3
|
import { createAuth } from "../auth/setup.js";
|
|
4
4
|
import { createLogger } from "./logger.js";
|
|
5
5
|
import { createLocalAPI } from "../kernel/local-api.js";
|
|
@@ -16,7 +16,16 @@ import { createLocalAPI } from "../kernel/local-api.js";
|
|
|
16
16
|
*/
|
|
17
17
|
export async function createCommerce(config) {
|
|
18
18
|
const kernel = createKernel(config);
|
|
19
|
-
|
|
19
|
+
// Register the config-driven org ID so resolveOrgId() can use it
|
|
20
|
+
// without requiring every service to have config access.
|
|
21
|
+
if (config.auth?.defaultOrganizationId) {
|
|
22
|
+
setBootDefaultOrgId(config.auth.defaultOrganizationId);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// Legacy fallback: auto-create org_default for deployments
|
|
26
|
+
// that haven't migrated to seed-based org creation yet.
|
|
27
|
+
await ensureDefaultOrg(kernel.database.db, config.storeName);
|
|
28
|
+
}
|
|
20
29
|
const auth = createAuth(kernel.database, config);
|
|
21
30
|
const logger = createLogger(config);
|
|
22
31
|
// Default API: no actor (public access), no transaction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-test-config.d.ts","sourceRoot":"","sources":["../../src/test-utils/create-test-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgDzD,wBAAsB,gBAAgB,CACpC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"create-test-config.d.ts","sourceRoot":"","sources":["../../src/test-utils/create-test-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgDzD,wBAAsB,gBAAgB,CACpC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC,cAAc,CAAC,CAgHzB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GACtC,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAUnE"}
|
|
@@ -53,6 +53,7 @@ export async function createTestConfig(overrides = {}) {
|
|
|
53
53
|
provider: "postgresql",
|
|
54
54
|
},
|
|
55
55
|
auth: {
|
|
56
|
+
defaultOrganizationId: "org_default",
|
|
56
57
|
requireEmailVerification: false,
|
|
57
58
|
apiKeys: { enabled: true, defaultPermissions: ["catalog:read"] },
|
|
58
59
|
posPin: { enabled: true },
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { Actor } from "../auth/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Organization ID used in test fixtures. Tests use the deprecated DEFAULT_ORG_ID
|
|
4
|
+
* because ensureDefaultOrg() creates this org in test setup. When RFC-060 Phase 6
|
|
5
|
+
* removes DEFAULT_ORG_ID, test setup will create a real org via Better Auth API.
|
|
6
|
+
*/
|
|
7
|
+
export declare const TEST_ORG_ID = "org_default";
|
|
2
8
|
/** Admin with wildcard permissions. Use for setup operations in beforeAll. */
|
|
3
9
|
export declare const testAdminActor: Actor;
|
|
4
10
|
/** Staff with common operational permissions. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-actors.d.ts","sourceRoot":"","sources":["../../src/test-utils/test-actors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"test-actors.d.ts","sourceRoot":"","sources":["../../src/test-utils/test-actors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;;;GAIG;AACH,eAAO,MAAM,WAAW,gBAAiB,CAAC;AAE1C,8EAA8E;AAC9E,eAAO,MAAM,cAAc,EAAE,KAS5B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,EAAE,KAS/B,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,eAAe,EAAE,KAS7B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIjE"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { DEFAULT_ORG_ID } from "../auth/org.js";
|
|
2
|
+
/**
|
|
3
|
+
* Organization ID used in test fixtures. Tests use the deprecated DEFAULT_ORG_ID
|
|
4
|
+
* because ensureDefaultOrg() creates this org in test setup. When RFC-060 Phase 6
|
|
5
|
+
* removes DEFAULT_ORG_ID, test setup will create a real org via Better Auth API.
|
|
6
|
+
*/
|
|
7
|
+
export const TEST_ORG_ID = DEFAULT_ORG_ID;
|
|
1
8
|
/** Admin with wildcard permissions. Use for setup operations in beforeAll. */
|
|
2
9
|
export const testAdminActor = {
|
|
3
10
|
type: "user",
|
|
@@ -5,7 +12,7 @@ export const testAdminActor = {
|
|
|
5
12
|
email: "admin@test.local",
|
|
6
13
|
name: "Test Admin",
|
|
7
14
|
vendorId: null,
|
|
8
|
-
organizationId:
|
|
15
|
+
organizationId: TEST_ORG_ID,
|
|
9
16
|
role: "admin",
|
|
10
17
|
permissions: ["*:*"],
|
|
11
18
|
};
|
|
@@ -16,7 +23,7 @@ export const testStaffActor = {
|
|
|
16
23
|
email: "staff@test.local",
|
|
17
24
|
name: "Test Staff",
|
|
18
25
|
vendorId: null,
|
|
19
|
-
organizationId:
|
|
26
|
+
organizationId: TEST_ORG_ID,
|
|
20
27
|
role: "staff",
|
|
21
28
|
permissions: [
|
|
22
29
|
"catalog:read", "catalog:create", "catalog:update",
|
|
@@ -30,7 +37,7 @@ export const testCustomerActor = {
|
|
|
30
37
|
email: "customer@test.local",
|
|
31
38
|
name: "Test Customer",
|
|
32
39
|
vendorId: null,
|
|
33
|
-
organizationId:
|
|
40
|
+
organizationId: TEST_ORG_ID,
|
|
34
41
|
role: "customer",
|
|
35
42
|
permissions: ["catalog:read", "cart:create", "cart:read", "orders:read:own"],
|
|
36
43
|
};
|
|
@@ -41,7 +48,7 @@ export const testNoPermActor = {
|
|
|
41
48
|
email: "noperm@test.local",
|
|
42
49
|
name: "No Permissions",
|
|
43
50
|
vendorId: null,
|
|
44
|
-
organizationId:
|
|
51
|
+
organizationId: TEST_ORG_ID,
|
|
45
52
|
role: "customer",
|
|
46
53
|
permissions: [],
|
|
47
54
|
};
|
package/dist/testing.d.ts
CHANGED
|
@@ -9,6 +9,6 @@ export { createTestKernel } from "./test-utils/create-test-kernel.js";
|
|
|
9
9
|
export { createTestPluginContext } from "./test-utils/create-test-plugin-context.js";
|
|
10
10
|
export { createRepositoryTestHarness } from "./test-utils/create-repository-test-harness.js";
|
|
11
11
|
export { createPluginTestApp, type PluginTestApp, type TestAppEnv } from "./test-utils/create-plugin-test-app.js";
|
|
12
|
-
export { testAdminActor, testStaffActor, testCustomerActor, testNoPermActor, jsonHeaders, } from "./test-utils/test-actors.js";
|
|
12
|
+
export { TEST_ORG_ID, testAdminActor, testStaffActor, testCustomerActor, testNoPermActor, jsonHeaders, } from "./test-utils/test-actors.js";
|
|
13
13
|
export { beforeHook, afterHook } from "./test-utils/typed-hooks.js";
|
|
14
14
|
//# sourceMappingURL=testing.d.ts.map
|
package/dist/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAClH,OAAO,EACL,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAClE,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAClH,OAAO,EACL,WAAW,EACX,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAClE,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/testing.js
CHANGED
|
@@ -9,5 +9,5 @@ export { createTestKernel } from "./test-utils/create-test-kernel.js";
|
|
|
9
9
|
export { createTestPluginContext } from "./test-utils/create-test-plugin-context.js";
|
|
10
10
|
export { createRepositoryTestHarness } from "./test-utils/create-repository-test-harness.js";
|
|
11
11
|
export { createPluginTestApp } from "./test-utils/create-plugin-test-app.js";
|
|
12
|
-
export { testAdminActor, testStaffActor, testCustomerActor, testNoPermActor, jsonHeaders, } from "./test-utils/test-actors.js";
|
|
12
|
+
export { TEST_ORG_ID, testAdminActor, testStaffActor, testCustomerActor, testNoPermActor, jsonHeaders, } from "./test-utils/test-actors.js";
|
|
13
13
|
export { beforeHook, afterHook } from "./test-utils/typed-hooks.js";
|
package/package.json
CHANGED
package/src/auth/middleware.ts
CHANGED
|
@@ -32,6 +32,9 @@ export function authMiddleware(
|
|
|
32
32
|
config: CommerceConfig,
|
|
33
33
|
): MiddlewareHandler {
|
|
34
34
|
return async (c, next) => {
|
|
35
|
+
// Resolve the default org from config, falling back to deprecated constant
|
|
36
|
+
const defaultOrgId = config.auth?.defaultOrganizationId ?? DEFAULT_ORG_ID;
|
|
37
|
+
|
|
35
38
|
const session = (await auth.api.getSession({
|
|
36
39
|
headers: c.req.raw.headers,
|
|
37
40
|
})) as AuthSessionLike | null;
|
|
@@ -49,7 +52,7 @@ export function authMiddleware(
|
|
|
49
52
|
if (!role && auth.api.getFullOrganization) {
|
|
50
53
|
try {
|
|
51
54
|
const org = await auth.api.getFullOrganization({
|
|
52
|
-
query: { organizationId: orgId ??
|
|
55
|
+
query: { organizationId: orgId ?? defaultOrgId },
|
|
53
56
|
headers: c.req.raw.headers,
|
|
54
57
|
});
|
|
55
58
|
if (org?.members) {
|
|
@@ -58,7 +61,7 @@ export function authMiddleware(
|
|
|
58
61
|
);
|
|
59
62
|
if (membership) {
|
|
60
63
|
role = membership.role;
|
|
61
|
-
orgId = orgId ??
|
|
64
|
+
orgId = orgId ?? defaultOrgId;
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
} catch {
|
|
@@ -85,7 +88,7 @@ export function authMiddleware(
|
|
|
85
88
|
const resolved = await config.auth.storeResolver(c.req.raw);
|
|
86
89
|
if (resolved) orgId = resolved;
|
|
87
90
|
} catch {
|
|
88
|
-
// fall through — use
|
|
91
|
+
// fall through — use defaultOrgId
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
|
|
@@ -99,7 +102,7 @@ export function authMiddleware(
|
|
|
99
102
|
email: session.user.email ?? null,
|
|
100
103
|
name: session.user.name ?? "User",
|
|
101
104
|
vendorId: session.user.vendorId ?? null,
|
|
102
|
-
organizationId: orgId ??
|
|
105
|
+
organizationId: orgId ?? defaultOrgId,
|
|
103
106
|
role: role ?? "customer",
|
|
104
107
|
permissions: resolvePermissions(enrichedSession, config),
|
|
105
108
|
} satisfies Actor);
|
|
@@ -130,7 +133,7 @@ export function authMiddleware(
|
|
|
130
133
|
// v1.5+ renamed userId → referenceId on the apikey table.
|
|
131
134
|
const userId = (apiKey.referenceId ?? "") as string;
|
|
132
135
|
const name = (apiKey.name ?? "API Key") as string;
|
|
133
|
-
const orgId = (apiKey.organizationId ??
|
|
136
|
+
const orgId = (apiKey.organizationId ?? defaultOrgId) as string;
|
|
134
137
|
|
|
135
138
|
// Better Auth stores permissions as Record<string, string[]>
|
|
136
139
|
// (e.g. {"catalog":["read","create"]}). Flatten to the
|
package/src/auth/org.ts
CHANGED
|
@@ -1,32 +1,49 @@
|
|
|
1
1
|
import { OrganizationService } from "../modules/organization/service.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* @deprecated Will be removed. Use `config.auth.defaultOrganizationId` instead.
|
|
5
|
+
* Kept only for test utilities and backwards compatibility.
|
|
6
6
|
*/
|
|
7
7
|
export const DEFAULT_ORG_ID = "org_default";
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Module-level default set once at boot by `setBootDefaultOrgId()`.
|
|
11
|
+
* Allows resolveOrgId to use the config value without requiring
|
|
12
|
+
* every service caller to pass it explicitly.
|
|
13
|
+
*/
|
|
14
|
+
let _bootDefaultOrgId: string | undefined;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Called once at boot by createCommerce/createServer to register
|
|
18
|
+
* the config-driven default org ID. This bridges the gap between
|
|
19
|
+
* config (available at boot) and services (which don't have config access).
|
|
20
|
+
*/
|
|
21
|
+
export function setBootDefaultOrgId(orgId: string): void {
|
|
22
|
+
_bootDefaultOrgId = orgId;
|
|
23
|
+
}
|
|
24
|
+
|
|
9
25
|
/**
|
|
10
26
|
* Extracts the organization ID from an actor.
|
|
11
|
-
*
|
|
27
|
+
*
|
|
28
|
+
* Resolution order:
|
|
29
|
+
* 1. Actor's organizationId (set by middleware from session/API key/storeResolver)
|
|
30
|
+
* 2. Explicit defaultOrgId parameter (caller override)
|
|
31
|
+
* 3. Boot-time default (from config.auth.defaultOrganizationId via setBootDefaultOrgId)
|
|
32
|
+
* 4. Deprecated fallback to DEFAULT_ORG_ID (will be removed)
|
|
12
33
|
*/
|
|
13
|
-
export function resolveOrgId(actor: unknown): string {
|
|
34
|
+
export function resolveOrgId(actor: unknown, defaultOrgId?: string): string {
|
|
14
35
|
if (actor != null && typeof actor === "object" && "organizationId" in actor) {
|
|
15
36
|
const orgId = (actor as { organizationId: unknown }).organizationId;
|
|
16
37
|
if (typeof orgId === "string") return orgId;
|
|
17
38
|
}
|
|
39
|
+
if (defaultOrgId) return defaultOrgId;
|
|
40
|
+
if (_bootDefaultOrgId) return _bootDefaultOrgId;
|
|
18
41
|
return DEFAULT_ORG_ID;
|
|
19
42
|
}
|
|
20
43
|
|
|
21
44
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* Uses OrganizationService which creates both the org row and
|
|
26
|
-
* (when auth is available) a member record for the creator.
|
|
27
|
-
*
|
|
28
|
-
* Accepts `unknown` so callers never need casts — the function
|
|
29
|
-
* handles the Drizzle type narrowing internally.
|
|
45
|
+
* @deprecated Use seed script with `auth.api.createOrganization()` instead.
|
|
46
|
+
* Kept for backwards compatibility during migration. Will be removed.
|
|
30
47
|
*/
|
|
31
48
|
export async function ensureDefaultOrg(
|
|
32
49
|
db: unknown,
|
package/src/config/types.ts
CHANGED
|
@@ -74,6 +74,19 @@ export interface ApiKeyScopeDefinition {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
export interface AuthConfig {
|
|
77
|
+
/**
|
|
78
|
+
* The default organization ID for single-store deployments.
|
|
79
|
+
* Created by the seed script via `auth.api.createOrganization()`.
|
|
80
|
+
* Used as fallback when a request has no org context (no session org,
|
|
81
|
+
* no storeResolver match). If not set and no storeResolver is configured,
|
|
82
|
+
* falls back to `"org_default"` with a deprecation warning.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* defaultOrganizationId: process.env.UC_ORG_ID,
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
defaultOrganizationId?: string;
|
|
77
90
|
requireEmailVerification?: boolean;
|
|
78
91
|
sessionDuration?: number;
|
|
79
92
|
socialProviders?: Record<string, { clientId: string; clientSecret: string }>;
|
package/src/hooks/checkout.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CommerceValidationError } from "../kernel/errors.js";
|
|
2
|
+
import { resolveOrgId } from "../auth/org.js";
|
|
2
3
|
import type { AfterHook, BeforeHook } from "../kernel/hooks/types.js";
|
|
3
4
|
import type { ShippingAddress } from "../modules/shipping/calculator.js";
|
|
4
5
|
import type { AppliedPromotion } from "../modules/promotions/service.js";
|
|
@@ -141,7 +142,7 @@ export const validateCartNotEmpty: BeforeHook<CheckoutData> = async ({
|
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
// Cross-org guard: prevent org B from checking out org A's cart
|
|
144
|
-
const actorOrgId = context.actor
|
|
145
|
+
const actorOrgId = resolveOrgId(context.actor);
|
|
145
146
|
if (cart.value.organizationId && cart.value.organizationId !== actorOrgId) {
|
|
146
147
|
throw new CommerceValidationError("Cart does not belong to this organization.");
|
|
147
148
|
}
|
|
@@ -306,7 +307,7 @@ export const applyPromotionCodes: BeforeHook<CheckoutData> = async ({
|
|
|
306
307
|
};
|
|
307
308
|
|
|
308
309
|
const result = await promotions.applyPromotions({
|
|
309
|
-
orgId: context.actor
|
|
310
|
+
orgId: resolveOrgId(context.actor),
|
|
310
311
|
cartId: data.cartId,
|
|
311
312
|
currency: data.currency,
|
|
312
313
|
subtotal: data.subtotal,
|
package/src/runtime/commerce.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Actor } from "../auth/types.js";
|
|
|
2
2
|
import type { CommerceConfig } from "../config/types.js";
|
|
3
3
|
import type { Kernel } from "./kernel.js";
|
|
4
4
|
import { createKernel } from "./kernel.js";
|
|
5
|
-
import { ensureDefaultOrg } from "../auth/org.js";
|
|
5
|
+
import { ensureDefaultOrg, setBootDefaultOrgId } from "../auth/org.js";
|
|
6
6
|
import { createAuth, type AuthInstance } from "../auth/setup.js";
|
|
7
7
|
import { createLogger, type Logger } from "./logger.js";
|
|
8
8
|
import { createLocalAPI, type CommerceLocalAPI, type LocalAPIOptions } from "../kernel/local-api.js";
|
|
@@ -120,7 +120,16 @@ export async function createCommerce(
|
|
|
120
120
|
config: CommerceConfig,
|
|
121
121
|
): Promise<CommerceInstance> {
|
|
122
122
|
const kernel = createKernel(config);
|
|
123
|
-
|
|
123
|
+
|
|
124
|
+
// Register the config-driven org ID so resolveOrgId() can use it
|
|
125
|
+
// without requiring every service to have config access.
|
|
126
|
+
if (config.auth?.defaultOrganizationId) {
|
|
127
|
+
setBootDefaultOrgId(config.auth.defaultOrganizationId);
|
|
128
|
+
} else {
|
|
129
|
+
// Legacy fallback: auto-create org_default for deployments
|
|
130
|
+
// that haven't migrated to seed-based org creation yet.
|
|
131
|
+
await ensureDefaultOrg(kernel.database.db, config.storeName);
|
|
132
|
+
}
|
|
124
133
|
|
|
125
134
|
const auth = createAuth(kernel.database, config);
|
|
126
135
|
const logger = createLogger(config);
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { Actor } from "../auth/types.js";
|
|
2
|
+
import { DEFAULT_ORG_ID } from "../auth/org.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Organization ID used in test fixtures. Tests use the deprecated DEFAULT_ORG_ID
|
|
6
|
+
* because ensureDefaultOrg() creates this org in test setup. When RFC-060 Phase 6
|
|
7
|
+
* removes DEFAULT_ORG_ID, test setup will create a real org via Better Auth API.
|
|
8
|
+
*/
|
|
9
|
+
export const TEST_ORG_ID = DEFAULT_ORG_ID;
|
|
2
10
|
|
|
3
11
|
/** Admin with wildcard permissions. Use for setup operations in beforeAll. */
|
|
4
12
|
export const testAdminActor: Actor = {
|
|
@@ -7,7 +15,7 @@ export const testAdminActor: Actor = {
|
|
|
7
15
|
email: "admin@test.local",
|
|
8
16
|
name: "Test Admin",
|
|
9
17
|
vendorId: null,
|
|
10
|
-
organizationId:
|
|
18
|
+
organizationId: TEST_ORG_ID,
|
|
11
19
|
role: "admin",
|
|
12
20
|
permissions: ["*:*"],
|
|
13
21
|
};
|
|
@@ -19,7 +27,7 @@ export const testStaffActor: Actor = {
|
|
|
19
27
|
email: "staff@test.local",
|
|
20
28
|
name: "Test Staff",
|
|
21
29
|
vendorId: null,
|
|
22
|
-
organizationId:
|
|
30
|
+
organizationId: TEST_ORG_ID,
|
|
23
31
|
role: "staff",
|
|
24
32
|
permissions: [
|
|
25
33
|
"catalog:read", "catalog:create", "catalog:update",
|
|
@@ -34,7 +42,7 @@ export const testCustomerActor: Actor = {
|
|
|
34
42
|
email: "customer@test.local",
|
|
35
43
|
name: "Test Customer",
|
|
36
44
|
vendorId: null,
|
|
37
|
-
organizationId:
|
|
45
|
+
organizationId: TEST_ORG_ID,
|
|
38
46
|
role: "customer",
|
|
39
47
|
permissions: ["catalog:read", "cart:create", "cart:read", "orders:read:own"],
|
|
40
48
|
};
|
|
@@ -46,7 +54,7 @@ export const testNoPermActor: Actor = {
|
|
|
46
54
|
email: "noperm@test.local",
|
|
47
55
|
name: "No Permissions",
|
|
48
56
|
vendorId: null,
|
|
49
|
-
organizationId:
|
|
57
|
+
organizationId: TEST_ORG_ID,
|
|
50
58
|
role: "customer",
|
|
51
59
|
permissions: [],
|
|
52
60
|
};
|
package/src/testing.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { createTestPluginContext } from "./test-utils/create-test-plugin-context
|
|
|
11
11
|
export { createRepositoryTestHarness } from "./test-utils/create-repository-test-harness.js";
|
|
12
12
|
export { createPluginTestApp, type PluginTestApp, type TestAppEnv } from "./test-utils/create-plugin-test-app.js";
|
|
13
13
|
export {
|
|
14
|
+
TEST_ORG_ID,
|
|
14
15
|
testAdminActor, testStaffActor, testCustomerActor, testNoPermActor,
|
|
15
16
|
jsonHeaders,
|
|
16
17
|
} from "./test-utils/test-actors.js";
|