@multitenantkit/sdk-supabase 0.2.11 → 0.2.12
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.
|
@@ -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"}
|