@multitenantkit/sdk-supabase 0.2.3 → 0.2.4

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.
@@ -12,12 +12,16 @@ import type { SupabaseClient } from '@supabase/supabase-js';
12
12
  *
13
13
  * Supabase defaults applied:
14
14
  * - namingStrategy: 'snake_case'
15
- * - users.database: { schema: 'auth', table: 'users' }
16
- * - users.customFields.columnMapping: { externalId: 'id', username: 'email' }
17
- * - users.customFields.customMapper: maps to/from raw_user_meta_data
15
+ * - users.database: { schema: 'public', table: 'profiles' }
16
+ * - users.customFields.columnMapping: { externalId: 'external_id', username: 'username' }
18
17
  * - organizations.database: { schema: 'public', table: 'organizations' }
19
18
  * - organizationMemberships.database: { schema: 'public', table: 'organization_memberships' }
20
19
  *
20
+ * Note: We use public.profiles instead of auth.users because:
21
+ * - auth.users is not accessible via PostgREST (Supabase client)
22
+ * - auth.users is managed by GoTrue and shouldn't be modified directly
23
+ * - public.profiles gives you full control over user data
24
+ *
21
25
  * User-provided options take precedence over defaults.
22
26
  */
23
27
  export declare function applySupabaseDefaults<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>(options?: ToolkitOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>): ToolkitOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>;
@@ -1 +1 @@
1
- {"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../src/factories/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACR,QAAQ,EAIR,cAAc,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAY5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACjC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EAEnC,OAAO,CAAC,EAAE,cAAc,CACpB,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,GACF,cAAc,CACb,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAoFA;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAC1C,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;IAEnC,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAC3B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CACnC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;IAEnC,iDAAiD;IACjD,QAAQ,EAAE,QAAQ,CACd,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;IACF,yDAAyD;IACzD,cAAc,EAAE,cAAc,CAC1B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAElC,iBAAiB,GAAG,EAAE,EAEtB,yBAAyB,GAAG,EAAE,EAE9B,mCAAmC,GAAG,EAAE,EAExC,OAAO,EAAE,6BAA6B,CAClC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,GACF,sBAAsB,CACrB,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAqCA"}
1
+ {"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../src/factories/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACR,QAAQ,EAIR,cAAc,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAY5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACjC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EAEnC,OAAO,CAAC,EAAE,cAAc,CACpB,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,GACF,cAAc,CACb,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAmEA;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAC1C,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;IAEnC,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAC3B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CACnC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;IAEnC,iDAAiD;IACjD,QAAQ,EAAE,QAAQ,CACd,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;IACF,yDAAyD;IACzD,cAAc,EAAE,cAAc,CAC1B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;CACL;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAElC,iBAAiB,GAAG,EAAE,EAEtB,yBAAyB,GAAG,EAAE,EAE9B,mCAAmC,GAAG,EAAE,EAExC,OAAO,EAAE,6BAA6B,CAClC,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,GACF,sBAAsB,CACrB,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAqCA"}
@@ -21,35 +21,23 @@ class WebClock {
21
21
  *
22
22
  * Supabase defaults applied:
23
23
  * - namingStrategy: 'snake_case'
24
- * - users.database: { schema: 'auth', table: 'users' }
25
- * - users.customFields.columnMapping: { externalId: 'id', username: 'email' }
26
- * - users.customFields.customMapper: maps to/from raw_user_meta_data
24
+ * - users.database: { schema: 'public', table: 'profiles' }
25
+ * - users.customFields.columnMapping: { externalId: 'external_id', username: 'username' }
27
26
  * - organizations.database: { schema: 'public', table: 'organizations' }
28
27
  * - organizationMemberships.database: { schema: 'public', table: 'organization_memberships' }
29
28
  *
29
+ * Note: We use public.profiles instead of auth.users because:
30
+ * - auth.users is not accessible via PostgREST (Supabase client)
31
+ * - auth.users is managed by GoTrue and shouldn't be modified directly
32
+ * - public.profiles gives you full control over user data
33
+ *
30
34
  * User-provided options take precedence over defaults.
31
35
  */
32
36
  export function applySupabaseDefaults(options) {
33
- // Default Supabase customMapper for users (maps to raw_user_meta_data)
34
- const supabaseUserMapper = {
35
- toDb: (fields) => ({
36
- raw_user_meta_data: {
37
- ...fields,
38
- email_verified: true,
39
- phone_verified: false
40
- }
41
- }),
42
- toDomain: (dbRow) => {
43
- const metadata = dbRow.raw_user_meta_data || {};
44
- // biome-ignore lint/correctness/noUnusedVariables: intentionally extracted to exclude
45
- const { sub, email_verified, phone_verified, ...customFields } = metadata;
46
- return customFields;
47
- }
48
- };
49
- // Default Supabase columnMapping for users
37
+ // Default Supabase columnMapping for users (profiles table uses snake_case)
50
38
  const supabaseUserColumnMapping = {
51
- externalId: 'id',
52
- username: 'email'
39
+ externalId: 'external_id',
40
+ username: 'username'
53
41
  };
54
42
  // Build users config with Supabase defaults
55
43
  const usersConfig = {
@@ -60,14 +48,14 @@ export function applySupabaseDefaults(options) {
60
48
  }),
61
49
  // Use user's columnMapping or Supabase default
62
50
  columnMapping: options?.users?.customFields?.columnMapping ?? supabaseUserColumnMapping,
63
- // Use user's customMapper or Supabase default (only if customSchema is provided)
64
- ...(options?.users?.customFields?.customSchema && {
65
- customMapper: options?.users?.customFields?.customMapper ?? supabaseUserMapper
51
+ // Use user's customMapper if provided (no default mapper needed for profiles table)
52
+ ...(options?.users?.customFields?.customMapper && {
53
+ customMapper: options.users.customFields.customMapper
66
54
  })
67
55
  },
68
56
  database: {
69
- schema: options?.users?.database?.schema ?? 'auth',
70
- table: options?.users?.database?.table ?? 'users',
57
+ schema: options?.users?.database?.schema ?? 'public',
58
+ table: options?.users?.database?.table ?? 'profiles',
71
59
  ...(options?.users?.database?.namingStrategy && {
72
60
  namingStrategy: options.users.database.namingStrategy
73
61
  })
@@ -1 +1 @@
1
- {"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../src/factories/AdapterFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../src/factories/AdapterFactory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,11 +8,16 @@
8
8
  *
9
9
  * **Supabase defaults applied automatically:**
10
10
  * - `namingStrategy: 'snake_case'`
11
- * - `users.database: { schema: 'auth', table: 'users' }`
12
- * - `users.customFields.columnMapping: { externalId: 'id', username: 'email' }`
11
+ * - `users.database: { schema: 'public', table: 'profiles' }`
12
+ * - `users.customFields.columnMapping: { externalId: 'external_id', username: 'username' }`
13
13
  * - `organizations.database: { schema: 'public', table: 'organizations' }`
14
14
  * - `organizationMemberships.database: { schema: 'public', table: 'organization_memberships' }`
15
15
  *
16
+ * Note: We use `public.profiles` instead of `auth.users` because:
17
+ * - `auth.users` is not accessible via PostgREST (Supabase JS client)
18
+ * - `auth.users` is managed by GoTrue and shouldn't be modified directly
19
+ * - `public.profiles` gives you full control over user profile data
20
+ *
16
21
  * @example
17
22
  * ```typescript
18
23
  * import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAChC,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,OAAO,EACH,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAChC,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,OAAO,EACH,qBAAqB,EACrB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -8,11 +8,16 @@
8
8
  *
9
9
  * **Supabase defaults applied automatically:**
10
10
  * - `namingStrategy: 'snake_case'`
11
- * - `users.database: { schema: 'auth', table: 'users' }`
12
- * - `users.customFields.columnMapping: { externalId: 'id', username: 'email' }`
11
+ * - `users.database: { schema: 'public', table: 'profiles' }`
12
+ * - `users.customFields.columnMapping: { externalId: 'external_id', username: 'username' }`
13
13
  * - `organizations.database: { schema: 'public', table: 'organizations' }`
14
14
  * - `organizationMemberships.database: { schema: 'public', table: 'organization_memberships' }`
15
15
  *
16
+ * Note: We use `public.profiles` instead of `auth.users` because:
17
+ * - `auth.users` is not accessible via PostgREST (Supabase JS client)
18
+ * - `auth.users` is managed by GoTrue and shouldn't be modified directly
19
+ * - `public.profiles` gives you full control over user profile data
20
+ *
16
21
  * @example
17
22
  * ```typescript
18
23
  * import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,gCAAgC;AAChC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAK7B,MAAM,8CAA8C,CAAC;AAEtD,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,iCAAiC;AACjC,OAAO,EACH,qBAAqB,EAErB,sBAAsB,EAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,gCAAgC;AAChC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAK7B,MAAM,8CAA8C,CAAC;AAEtD,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,iCAAiC;AACjC,OAAO,EACH,qBAAqB,EAErB,sBAAsB,EAEzB,MAAM,4BAA4B,CAAC;AACpC,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",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "description": "MultiTenantKit SDK for Supabase Edge Functions (Deno compatible)",
6
6
  "keywords": [
@@ -46,10 +46,10 @@
46
46
  "type-check": "tsc --noEmit"
47
47
  },
48
48
  "dependencies": {
49
- "@multitenantkit/domain": "^0.2.3",
49
+ "@multitenantkit/domain": "^0.2.4",
50
50
  "@multitenantkit/domain-contracts": "^0.2.0",
51
- "@multitenantkit/adapter-persistence-supabase": "^0.2.3",
52
- "@multitenantkit/adapter-system-web-crypto": "^0.2.3",
51
+ "@multitenantkit/adapter-persistence-supabase": "^0.2.4",
52
+ "@multitenantkit/adapter-system-web-crypto": "^0.2.4",
53
53
  "@supabase/supabase-js": "^2.39.0"
54
54
  },
55
55
  "devDependencies": {