@multitenantkit/sdk-supabase 0.2.11 → 0.2.13
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/factories/EdgeHandlerFactory.d.ts +23 -10
- package/dist/factories/EdgeHandlerFactory.d.ts.map +1 -1
- package/dist/factories/EdgeHandlerFactory.js +18 -13
- package/dist/factories/EdgeHandlerFactory.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* All configuration is optional - uses sensible defaults.
|
|
6
6
|
*/
|
|
7
7
|
import type { ToolkitOptions } from '@multitenantkit/domain-contracts';
|
|
8
|
+
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
8
9
|
/**
|
|
9
10
|
* CORS configuration options for Edge Functions
|
|
10
11
|
*/
|
|
@@ -42,6 +43,16 @@ export interface EdgeOptions {
|
|
|
42
43
|
* Options for createSupabaseEdgeHandler
|
|
43
44
|
*/
|
|
44
45
|
export interface CreateSupabaseEdgeHandlerOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields> {
|
|
46
|
+
/**
|
|
47
|
+
* Supabase client instance.
|
|
48
|
+
* **IMPORTANT for Deno/esm.sh**: Pass a client created with createClient
|
|
49
|
+
* imported directly from 'https://esm.sh/@supabase/supabase-js@2' to avoid
|
|
50
|
+
* version conflicts with transitive dependencies.
|
|
51
|
+
*
|
|
52
|
+
* If not provided, will be auto-created from environment variables
|
|
53
|
+
* (works in Node.js, may have issues in Deno via esm.sh).
|
|
54
|
+
*/
|
|
55
|
+
client?: SupabaseClient;
|
|
45
56
|
/**
|
|
46
57
|
* Toolkit options for custom fields and configuration.
|
|
47
58
|
* Supabase defaults are applied automatically.
|
|
@@ -71,26 +82,28 @@ export interface CreateSupabaseEdgeHandlerOptions<TUserCustomFields, TOrganizati
|
|
|
71
82
|
*
|
|
72
83
|
* @example
|
|
73
84
|
* ```typescript
|
|
74
|
-
* //
|
|
75
|
-
* import {
|
|
85
|
+
* // For Deno/esm.sh - pass your own client to avoid version conflicts
|
|
86
|
+
* import { createClient } from 'https://esm.sh/@supabase/supabase-js@2';
|
|
87
|
+
* import { createSupabaseEdgeHandler } from 'https://esm.sh/@multitenantkit/sdk-supabase';
|
|
76
88
|
*
|
|
77
|
-
* const
|
|
89
|
+
* const client = createClient(
|
|
90
|
+
* Deno.env.get('PROJECT_URL')!,
|
|
91
|
+
* Deno.env.get('SERVICE_ROLE_KEY')!
|
|
92
|
+
* );
|
|
93
|
+
*
|
|
94
|
+
* const handler = createSupabaseEdgeHandler({ client });
|
|
78
95
|
* Deno.serve(handler);
|
|
79
96
|
*
|
|
80
97
|
* // With custom fields
|
|
81
98
|
* const handler = createSupabaseEdgeHandler({
|
|
99
|
+
* client,
|
|
82
100
|
* toolkitOptions: {
|
|
83
101
|
* users: { customFields: { customSchema: userSchema } }
|
|
84
102
|
* }
|
|
85
103
|
* });
|
|
86
104
|
*
|
|
87
|
-
* //
|
|
88
|
-
* const handler = createSupabaseEdgeHandler(
|
|
89
|
-
* edgeOptions: {
|
|
90
|
-
* basePath: '/multitenantkit',
|
|
91
|
-
* cors: { allowOrigin: 'https://myapp.com', ... }
|
|
92
|
-
* }
|
|
93
|
-
* });
|
|
105
|
+
* // Node.js - auto-creates client from env vars
|
|
106
|
+
* const handler = createSupabaseEdgeHandler();
|
|
94
107
|
* ```
|
|
95
108
|
*/
|
|
96
109
|
export declare function createSupabaseEdgeHandler<TUserCustomFields = {}, TOrganizationCustomFields = {}, TOrganizationMembershipCustomFields = {}>(options?: CreateSupabaseEdgeHandlerOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>): (request: Request) => Promise<Response>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeHandlerFactory.d.ts","sourceRoot":"","sources":["../../src/factories/EdgeHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"EdgeHandlerFactory.d.ts","sourceRoot":"","sources":["../../src/factories/EdgeHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,iFAAiF;IACjF,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC,CAC7C,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;IAEnC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAC3B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,yBAAyB,CAErC,iBAAiB,GAAG,EAAE,EAEtB,yBAAyB,GAAG,EAAE,EAE9B,mCAAmC,GAAG,EAAE,EAExC,OAAO,CAAC,EAAE,gCAAgC,CACtC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,GACF,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAkCzC"}
|
|
@@ -35,32 +35,37 @@ const DEFAULT_CORS = {
|
|
|
35
35
|
*
|
|
36
36
|
* @example
|
|
37
37
|
* ```typescript
|
|
38
|
-
* //
|
|
39
|
-
* import {
|
|
38
|
+
* // For Deno/esm.sh - pass your own client to avoid version conflicts
|
|
39
|
+
* import { createClient } from 'https://esm.sh/@supabase/supabase-js@2';
|
|
40
|
+
* import { createSupabaseEdgeHandler } from 'https://esm.sh/@multitenantkit/sdk-supabase';
|
|
40
41
|
*
|
|
41
|
-
* const
|
|
42
|
+
* const client = createClient(
|
|
43
|
+
* Deno.env.get('PROJECT_URL')!,
|
|
44
|
+
* Deno.env.get('SERVICE_ROLE_KEY')!
|
|
45
|
+
* );
|
|
46
|
+
*
|
|
47
|
+
* const handler = createSupabaseEdgeHandler({ client });
|
|
42
48
|
* Deno.serve(handler);
|
|
43
49
|
*
|
|
44
50
|
* // With custom fields
|
|
45
51
|
* const handler = createSupabaseEdgeHandler({
|
|
52
|
+
* client,
|
|
46
53
|
* toolkitOptions: {
|
|
47
54
|
* users: { customFields: { customSchema: userSchema } }
|
|
48
55
|
* }
|
|
49
56
|
* });
|
|
50
57
|
*
|
|
51
|
-
* //
|
|
52
|
-
* const handler = createSupabaseEdgeHandler(
|
|
53
|
-
* edgeOptions: {
|
|
54
|
-
* basePath: '/multitenantkit',
|
|
55
|
-
* cors: { allowOrigin: 'https://myapp.com', ... }
|
|
56
|
-
* }
|
|
57
|
-
* });
|
|
58
|
+
* // Node.js - auto-creates client from env vars
|
|
59
|
+
* const handler = createSupabaseEdgeHandler();
|
|
58
60
|
* ```
|
|
59
61
|
*/
|
|
60
62
|
export function createSupabaseEdgeHandler(options) {
|
|
61
|
-
const { toolkitOptions: userToolkitOptions, edgeOptions } = options ?? {};
|
|
62
|
-
// 1. Create adapters (auto-creates
|
|
63
|
-
const { adapters, toolkitOptions, client } = createSupabaseAdapters({
|
|
63
|
+
const { client: providedClient, toolkitOptions: userToolkitOptions, edgeOptions } = options ?? {};
|
|
64
|
+
// 1. Create adapters (uses provided client or auto-creates from env vars)
|
|
65
|
+
const { adapters, toolkitOptions, client } = createSupabaseAdapters({
|
|
66
|
+
client: providedClient,
|
|
67
|
+
toolkitOptions: userToolkitOptions
|
|
68
|
+
});
|
|
64
69
|
// 2. Create use cases
|
|
65
70
|
const useCases = createUseCases(adapters, toolkitOptions);
|
|
66
71
|
// 3. Build HTTP handlers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeHandlerFactory.js","sourceRoot":"","sources":["../../src/factories/EdgeHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"EdgeHandlerFactory.js","sourceRoot":"","sources":["../../src/factories/EdgeHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuElD;;GAEG;AACH,MAAM,YAAY,GAAgB;IAC9B,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC;IAC1F,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;CACrE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,yBAAyB,CAQrC,OAIC;IAED,MAAM,EACF,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,kBAAkB,EAClC,WAAW,EACd,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,0EAA0E;IAC1E,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAIjE;QACE,MAAM,EAAE,cAAc;QACtB,cAAc,EAAE,kBAAkB;KACrC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE1D,yBAAyB;IACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEzD,iFAAiF;IACjF,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAExD,+CAA+C;IAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE;QACrD,QAAQ,EAAE,WAAW,EAAE,QAAQ,IAAI,MAAM;QACzC,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,YAAY;QACvC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,KAAK;KACrC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
31
|
export { createSupabaseAuthService, type SupabaseAuthConfig, type SupabaseAuthEnvironmentVariables, type SupabaseAuthInput, SupabaseAuthService } from '@multitenantkit/adapter-auth-supabase';
|
|
32
|
-
export { createSupabaseClient, createSupabaseConfig, createSupabaseRepositories, type SupabaseClient, type SupabaseConfig, type SupabaseFactoryOptions, type SupabaseRepositoryBundle } from '@multitenantkit/adapter-persistence-supabase';
|
|
32
|
+
export { createSupabaseClient, createSupabaseConfig, createSupabaseRepositories, type SupabaseClient, type SupabaseConfig, type SupabaseFactoryOptions, type SupabaseRepositoryBundle, SupabaseUnitOfWork } from '@multitenantkit/adapter-persistence-supabase';
|
|
33
33
|
export { WebCryptoUuid } from '@multitenantkit/adapter-system-web-crypto';
|
|
34
34
|
export { buildEdgeFunction } from '@multitenantkit/adapter-transport-supabase-edge';
|
|
35
35
|
export { buildHandlers } from '@multitenantkit/api-handlers';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EACH,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,gCAAgC,EACrC,KAAK,iBAAiB,EACtB,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EACH,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,gCAAgC,EACrC,KAAK,iBAAiB,EACtB,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,kBAAkB,EACrB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EACH,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,gCAAgC,EACrC,yBAAyB,EACzB,KAAK,WAAW,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
// Re-export auth adapter (runtime-agnostic: works in both Node.js and Deno)
|
|
32
32
|
export { createSupabaseAuthService, SupabaseAuthService } from '@multitenantkit/adapter-auth-supabase';
|
|
33
33
|
// Re-export persistence adapter
|
|
34
|
-
export { createSupabaseClient, createSupabaseConfig, createSupabaseRepositories } from '@multitenantkit/adapter-persistence-supabase';
|
|
34
|
+
export { createSupabaseClient, createSupabaseConfig, createSupabaseRepositories, SupabaseUnitOfWork } from '@multitenantkit/adapter-persistence-supabase';
|
|
35
35
|
// Re-export system adapter
|
|
36
36
|
export { WebCryptoUuid } from '@multitenantkit/adapter-system-web-crypto';
|
|
37
37
|
// Re-export Edge Functions transport
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,4EAA4E;AAC5E,OAAO,EACH,yBAAyB,EAIzB,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,gCAAgC;AAChC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,4EAA4E;AAC5E,OAAO,EACH,yBAAyB,EAIzB,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAC/C,gCAAgC;AAChC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAK1B,kBAAkB,EACrB,MAAM,8CAA8C,CAAC;AACtD,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,yBAAyB;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,iCAAiC;AACjC,OAAO,EACH,qBAAqB,EAErB,sBAAsB,EAEzB,MAAM,4BAA4B,CAAC;AACpC,oDAAoD;AACpD,OAAO,EAGH,yBAAyB,EAE5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multitenantkit/sdk-supabase",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MultiTenantKit SDK for Supabase Edge Functions (Deno compatible)",
|
|
6
6
|
"keywords": [
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@multitenantkit/domain-contracts": "^0.2.0",
|
|
51
51
|
"@multitenantkit/api-handlers": "^0.2.0",
|
|
52
52
|
"@multitenantkit/adapter-auth-supabase": "^0.2.3",
|
|
53
|
-
"@multitenantkit/adapter-persistence-supabase": "^0.2.
|
|
53
|
+
"@multitenantkit/adapter-persistence-supabase": "^0.2.9",
|
|
54
54
|
"@multitenantkit/adapter-system-web-crypto": "^0.2.8",
|
|
55
55
|
"@multitenantkit/adapter-transport-supabase-edge": "^0.2.10",
|
|
56
56
|
"@supabase/supabase-js": "^2.39.0"
|