@multitenantkit/sdk-supabase 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/dist/factories/AdapterFactory.d.ts +35 -0
- package/dist/factories/AdapterFactory.d.ts.map +1 -0
- package/dist/factories/AdapterFactory.js +48 -0
- package/dist/factories/AdapterFactory.js.map +1 -0
- package/dist/factories/UseCaseFactory.d.ts +26 -0
- package/dist/factories/UseCaseFactory.d.ts.map +1 -0
- package/dist/factories/UseCaseFactory.js +76 -0
- package/dist/factories/UseCaseFactory.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supabase Adapter Factory
|
|
3
|
+
*
|
|
4
|
+
* Creates complete adapters bundle for Supabase Edge Functions.
|
|
5
|
+
* Uses Web Crypto API for UUID generation (Deno compatible).
|
|
6
|
+
*/
|
|
7
|
+
import type { Adapters, ToolkitOptions } from '@multitenantkit/domain-contracts';
|
|
8
|
+
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
9
|
+
/**
|
|
10
|
+
* Options for creating Supabase adapters
|
|
11
|
+
*/
|
|
12
|
+
export interface CreateSupabaseAdaptersOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields> {
|
|
13
|
+
/** Supabase client instance */
|
|
14
|
+
client: SupabaseClient;
|
|
15
|
+
/** Toolkit options for custom fields and database configuration */
|
|
16
|
+
toolkitOptions?: ToolkitOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Create complete Supabase adapters bundle (persistence + system)
|
|
20
|
+
*
|
|
21
|
+
* This is the main factory function for Supabase/Deno environments.
|
|
22
|
+
* It creates all necessary adapters with NO Node.js dependencies.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
|
|
27
|
+
* import { createClient } from '@supabase/supabase-js';
|
|
28
|
+
*
|
|
29
|
+
* const client = createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY);
|
|
30
|
+
* const adapters = createSupabaseAdapters({ client });
|
|
31
|
+
* const useCases = createUseCases(adapters);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function createSupabaseAdapters<TUserCustomFields = {}, TOrganizationCustomFields = {}, TOrganizationMembershipCustomFields = {}>(options: CreateSupabaseAdaptersOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>): Adapters<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>;
|
|
35
|
+
//# sourceMappingURL=AdapterFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../src/factories/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACR,QAAQ,EAIR,cAAc,EACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAY5D;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAC1C,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;IAEnC,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,mEAAmE;IACnE,cAAc,CAAC,EAAE,cAAc,CAC3B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,CAAC;CACL;AAED;;;;;;;;;;;;;;;GAeG;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,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,mCAAmC,CAAC,CAwB7F"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supabase Adapter Factory
|
|
3
|
+
*
|
|
4
|
+
* Creates complete adapters bundle for Supabase Edge Functions.
|
|
5
|
+
* Uses Web Crypto API for UUID generation (Deno compatible).
|
|
6
|
+
*/
|
|
7
|
+
import { createSupabaseRepositories } from '@multitenantkit/adapter-persistence-supabase';
|
|
8
|
+
import { WebCryptoUuid } from '@multitenantkit/adapter-system-web-crypto';
|
|
9
|
+
/**
|
|
10
|
+
* Simple clock implementation using standard Date API
|
|
11
|
+
* Deno compatible - no Node.js dependencies
|
|
12
|
+
*/
|
|
13
|
+
class WebClock {
|
|
14
|
+
now() {
|
|
15
|
+
return new Date();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Create complete Supabase adapters bundle (persistence + system)
|
|
20
|
+
*
|
|
21
|
+
* This is the main factory function for Supabase/Deno environments.
|
|
22
|
+
* It creates all necessary adapters with NO Node.js dependencies.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
|
|
27
|
+
* import { createClient } from '@supabase/supabase-js';
|
|
28
|
+
*
|
|
29
|
+
* const client = createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY);
|
|
30
|
+
* const adapters = createSupabaseAdapters({ client });
|
|
31
|
+
* const useCases = createUseCases(adapters);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function createSupabaseAdapters(options) {
|
|
35
|
+
const { client, toolkitOptions } = options;
|
|
36
|
+
// Create persistence adapters using Supabase repositories
|
|
37
|
+
const persistence = createSupabaseRepositories({ client, toolkitOptions });
|
|
38
|
+
// Create system adapters using Web APIs (Deno compatible)
|
|
39
|
+
const system = {
|
|
40
|
+
clock: new WebClock(),
|
|
41
|
+
uuid: new WebCryptoUuid()
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
persistence: persistence,
|
|
45
|
+
system
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=AdapterFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../src/factories/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAU1E;;;GAGG;AACH,MAAM,QAAQ;IACV,GAAG;QACC,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;CACJ;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAQlC,OAIC;IAED,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE3C,0DAA0D;IAC1D,MAAM,WAAW,GAAG,0BAA0B,CAI5C,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAE9B,0DAA0D;IAC1D,MAAM,MAAM,GAAmB;QAC3B,KAAK,EAAE,IAAI,QAAQ,EAAE;QACrB,IAAI,EAAE,IAAI,aAAa,EAAE;KAC5B,CAAC;IAEF,OAAO;QACH,WAAW,EAAE,WAIZ;QACD,MAAM;KACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use Case Factory for Supabase SDK
|
|
3
|
+
*
|
|
4
|
+
* Creates all use cases with Supabase adapters.
|
|
5
|
+
* Deno compatible - no Node.js dependencies.
|
|
6
|
+
*/
|
|
7
|
+
import type { Adapters, ToolkitOptions, UseCases } from '@multitenantkit/domain-contracts';
|
|
8
|
+
/**
|
|
9
|
+
* Factory function to create all use cases
|
|
10
|
+
*
|
|
11
|
+
* @param adapters - Application adapters (repositories, system, etc.)
|
|
12
|
+
* @param toolkitOptions - Optional toolkit options with custom schemas
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
|
|
17
|
+
*
|
|
18
|
+
* const adapters = createSupabaseAdapters({ client });
|
|
19
|
+
* const useCases = createUseCases(adapters);
|
|
20
|
+
*
|
|
21
|
+
* // Use the API
|
|
22
|
+
* await useCases.users.createUser.execute(...);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function createUseCases<TUserCustomFields = {}, TOrganizationCustomFields = {}, TOrganizationMembershipCustomFields = {}>(adapters: Adapters<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>, toolkitOptions?: ToolkitOptions<TUserCustomFields, TOrganizationCustomFields, TOrganizationMembershipCustomFields>): UseCases;
|
|
26
|
+
//# sourceMappingURL=UseCaseFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UseCaseFactory.d.ts","sourceRoot":"","sources":["../../src/factories/UseCaseFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,OAAO,KAAK,EACR,QAAQ,EAGR,cAAc,EACd,QAAQ,EAEX,MAAM,kCAAkC,CAAC;AA4J1C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAE1B,iBAAiB,GAAG,EAAE,EAEtB,yBAAyB,GAAG,EAAE,EAE9B,mCAAmC,GAAG,EAAE,EAExC,QAAQ,EAAE,QAAQ,CACd,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,EACD,cAAc,CAAC,EAAE,cAAc,CAC3B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,CACtC,GACF,QAAQ,CAMV"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use Case Factory for Supabase SDK
|
|
3
|
+
*
|
|
4
|
+
* Creates all use cases with Supabase adapters.
|
|
5
|
+
* Deno compatible - no Node.js dependencies.
|
|
6
|
+
*/
|
|
7
|
+
// Memberships use cases
|
|
8
|
+
import { AcceptOrganizationInvitation, AddOrganizationMember, LeaveOrganization, RemoveOrganizationMember, UpdateOrganizationMemberRole } from '@multitenantkit/domain/organization-memberships';
|
|
9
|
+
// Organizations use cases
|
|
10
|
+
import { ArchiveOrganization, CreateOrganization, DeleteOrganization, GetOrganization, ListOrganizationMembers, RestoreOrganization, TransferOrganizationOwnership, UpdateOrganization } from '@multitenantkit/domain/organizations';
|
|
11
|
+
// Users use cases
|
|
12
|
+
import { CreateUser, DeleteUser, GetUser, ListUserOrganizations, UpdateUser } from '@multitenantkit/domain/users';
|
|
13
|
+
/**
|
|
14
|
+
* Factory function to create user use cases
|
|
15
|
+
*/
|
|
16
|
+
function createUserUseCases(adapters, toolkitOptions) {
|
|
17
|
+
return {
|
|
18
|
+
createUser: new CreateUser(adapters),
|
|
19
|
+
getUser: new GetUser(adapters, toolkitOptions),
|
|
20
|
+
updateUser: new UpdateUser(adapters, toolkitOptions),
|
|
21
|
+
listUserOrganizations: new ListUserOrganizations(adapters, toolkitOptions),
|
|
22
|
+
deleteUser: new DeleteUser(adapters, toolkitOptions)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Factory function to create organization use cases
|
|
27
|
+
*/
|
|
28
|
+
function createOrganizationUseCases(adapters, toolkitOptions) {
|
|
29
|
+
return {
|
|
30
|
+
createOrganization: new CreateOrganization(adapters, toolkitOptions),
|
|
31
|
+
getOrganization: new GetOrganization(adapters, toolkitOptions),
|
|
32
|
+
updateOrganization: new UpdateOrganization(adapters, toolkitOptions),
|
|
33
|
+
listOrganizationMembers: new ListOrganizationMembers(adapters, toolkitOptions),
|
|
34
|
+
deleteOrganization: new DeleteOrganization(adapters, toolkitOptions),
|
|
35
|
+
archiveOrganization: new ArchiveOrganization(adapters, toolkitOptions),
|
|
36
|
+
restoreOrganization: new RestoreOrganization(adapters, toolkitOptions),
|
|
37
|
+
transferOrganizationOwnership: new TransferOrganizationOwnership(adapters, toolkitOptions)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Factory function to create membership use cases
|
|
42
|
+
*/
|
|
43
|
+
function createMembershipUseCases(adapters, toolkitOptions) {
|
|
44
|
+
return {
|
|
45
|
+
addOrganizationMember: new AddOrganizationMember(adapters, toolkitOptions),
|
|
46
|
+
acceptOrganizationInvitation: new AcceptOrganizationInvitation(adapters, toolkitOptions),
|
|
47
|
+
removeOrganizationMember: new RemoveOrganizationMember(adapters),
|
|
48
|
+
updateOrganizationMemberRole: new UpdateOrganizationMemberRole(adapters),
|
|
49
|
+
leaveOrganization: new LeaveOrganization(adapters, toolkitOptions)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Factory function to create all use cases
|
|
54
|
+
*
|
|
55
|
+
* @param adapters - Application adapters (repositories, system, etc.)
|
|
56
|
+
* @param toolkitOptions - Optional toolkit options with custom schemas
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
|
|
61
|
+
*
|
|
62
|
+
* const adapters = createSupabaseAdapters({ client });
|
|
63
|
+
* const useCases = createUseCases(adapters);
|
|
64
|
+
*
|
|
65
|
+
* // Use the API
|
|
66
|
+
* await useCases.users.createUser.execute(...);
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export function createUseCases(adapters, toolkitOptions) {
|
|
70
|
+
return {
|
|
71
|
+
users: createUserUseCases(adapters, toolkitOptions),
|
|
72
|
+
organizations: createOrganizationUseCases(adapters, toolkitOptions),
|
|
73
|
+
memberships: createMembershipUseCases(adapters, toolkitOptions)
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=UseCaseFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UseCaseFactory.js","sourceRoot":"","sources":["../../src/factories/UseCaseFactory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAwB;AACxB,OAAO,EACH,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC/B,MAAM,iDAAiD,CAAC;AAEzD,0BAA0B;AAC1B,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EACrB,MAAM,sCAAsC,CAAC;AAC9C,kBAAkB;AAClB,OAAO,EACH,UAAU,EACV,UAAU,EACV,OAAO,EACP,qBAAqB,EACrB,UAAU,EACb,MAAM,8BAA8B,CAAC;AAWtC;;GAEG;AACH,SAAS,kBAAkB,CAQvB,QAIC,EACD,cAIC;IAED,OAAO;QACH,UAAU,EAAE,IAAI,UAAU,CAAoB,QAAe,CAAC;QAC9D,OAAO,EAAE,IAAI,OAAO,CAIlB,QAAe,EAAE,cAAc,CAAC;QAClC,UAAU,EAAE,IAAI,UAAU,CAIxB,QAAe,EAAE,cAAc,CAAC;QAClC,qBAAqB,EAAE,IAAI,qBAAqB,CAC5C,QAAe,EACf,cAAqB,CACxB;QACD,UAAU,EAAE,IAAI,UAAU,CAIxB,QAAe,EAAE,cAAc,CAAC;KACrC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAQ/B,QAIC,EACD,cAIC;IAED,OAAO;QACH,kBAAkB,EAAE,IAAI,kBAAkB,CAIxC,QAAe,EAAE,cAAc,CAAC;QAClC,eAAe,EAAE,IAAI,eAAe,CAIlC,QAAe,EAAE,cAAc,CAAC;QAClC,kBAAkB,EAAE,IAAI,kBAAkB,CAIxC,QAAe,EAAE,cAAc,CAAC;QAClC,uBAAuB,EAAE,IAAI,uBAAuB,CAChD,QAAe,EACf,cAAqB,CACxB;QACD,kBAAkB,EAAE,IAAI,kBAAkB,CAIxC,QAAe,EAAE,cAAc,CAAC;QAClC,mBAAmB,EAAE,IAAI,mBAAmB,CAI1C,QAAe,EAAE,cAAc,CAAC;QAClC,mBAAmB,EAAE,IAAI,mBAAmB,CAI1C,QAAe,EAAE,cAAc,CAAC;QAClC,6BAA6B,EAAE,IAAI,6BAA6B,CAI9D,QAAe,EAAE,cAAc,CAAC;KACrC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAQ7B,QAIC,EACD,cAIC;IAED,OAAO;QACH,qBAAqB,EAAE,IAAI,qBAAqB,CAI9C,QAAe,EAAE,cAAc,CAAC;QAClC,4BAA4B,EAAE,IAAI,4BAA4B,CAI5D,QAAe,EAAE,cAAc,CAAC;QAClC,wBAAwB,EAAE,IAAI,wBAAwB,CAAC,QAAe,CAAC;QACvE,4BAA4B,EAAE,IAAI,4BAA4B,CAAC,QAAe,CAAC;QAC/E,iBAAiB,EAAE,IAAI,iBAAiB,CAItC,QAAe,EAAE,cAAc,CAAC;KACrC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAQ1B,QAIC,EACD,cAIC;IAED,OAAO;QACH,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC;QACnD,aAAa,EAAE,0BAA0B,CAAC,QAAQ,EAAE,cAAc,CAAC;QACnE,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC;KAClE,CAAC;AACN,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module @multitenantkit/sdk-supabase
|
|
3
|
+
*
|
|
4
|
+
* MultiTenantKit SDK for Supabase Edge Functions (Deno compatible)
|
|
5
|
+
*
|
|
6
|
+
* This SDK provides everything you need to run MultiTenantKit in Supabase Edge Functions
|
|
7
|
+
* without any Node.js dependencies.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
|
|
12
|
+
* import { createClient } from '@supabase/supabase-js';
|
|
13
|
+
*
|
|
14
|
+
* const client = createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY);
|
|
15
|
+
* const adapters = createSupabaseAdapters({ client });
|
|
16
|
+
* const useCases = createUseCases(adapters);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export { createSupabaseClient, createSupabaseConfig, createSupabaseRepositories, type SupabaseClient, type SupabaseConfig, type SupabaseFactoryOptions, type SupabaseRepositoryBundle } from '@multitenantkit/adapter-persistence-supabase';
|
|
20
|
+
export { WebCryptoUuid } from '@multitenantkit/adapter-system-web-crypto';
|
|
21
|
+
export { type CreateSupabaseAdaptersOptions, createSupabaseAdapters } from './factories/AdapterFactory';
|
|
22
|
+
export { createUseCases } from './factories/UseCaseFactory';
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;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,KAAK,6BAA6B,EAClC,sBAAsB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module @multitenantkit/sdk-supabase
|
|
3
|
+
*
|
|
4
|
+
* MultiTenantKit SDK for Supabase Edge Functions (Deno compatible)
|
|
5
|
+
*
|
|
6
|
+
* This SDK provides everything you need to run MultiTenantKit in Supabase Edge Functions
|
|
7
|
+
* without any Node.js dependencies.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createSupabaseAdapters, createUseCases } from '@multitenantkit/sdk-supabase';
|
|
12
|
+
* import { createClient } from '@supabase/supabase-js';
|
|
13
|
+
*
|
|
14
|
+
* const client = createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY);
|
|
15
|
+
* const adapters = createSupabaseAdapters({ client });
|
|
16
|
+
* const useCases = createUseCases(adapters);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
// Re-export persistence adapter
|
|
20
|
+
export { createSupabaseClient, createSupabaseConfig, createSupabaseRepositories } from '@multitenantkit/adapter-persistence-supabase';
|
|
21
|
+
// Re-export system adapter
|
|
22
|
+
export { WebCryptoUuid } from '@multitenantkit/adapter-system-web-crypto';
|
|
23
|
+
// Export factories
|
|
24
|
+
export { createSupabaseAdapters } from './factories/AdapterFactory';
|
|
25
|
+
export { createUseCases } from './factories/UseCaseFactory';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;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,mBAAmB;AACnB,OAAO,EAEH,sBAAsB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@multitenantkit/sdk-supabase",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "MultiTenantKit SDK for Supabase Edge Functions (Deno compatible)",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"multitenantkit",
|
|
8
|
+
"saas",
|
|
9
|
+
"multi-tenant",
|
|
10
|
+
"multitenancy",
|
|
11
|
+
"supabase",
|
|
12
|
+
"deno",
|
|
13
|
+
"edge-functions",
|
|
14
|
+
"typescript"
|
|
15
|
+
],
|
|
16
|
+
"author": "",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/multitenantkit/multitenantkit.git",
|
|
21
|
+
"directory": "packages/bundles/sdk-supabase"
|
|
22
|
+
},
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/multitenantkit/multitenantkit/issues"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/multitenantkit/multitenantkit#readme",
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"main": "./dist/index.js",
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"files": [
|
|
33
|
+
"dist",
|
|
34
|
+
"README.md"
|
|
35
|
+
],
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
39
|
+
"import": "./dist/index.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "tsc --build",
|
|
44
|
+
"dev": "tsc --build --watch",
|
|
45
|
+
"clean": "rm -rf dist",
|
|
46
|
+
"type-check": "tsc --noEmit"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@multitenantkit/domain": "^0.2.1",
|
|
50
|
+
"@multitenantkit/domain-contracts": "^0.2.0",
|
|
51
|
+
"@multitenantkit/adapter-persistence-supabase": "^0.2.1",
|
|
52
|
+
"@multitenantkit/adapter-system-web-crypto": "^0.2.1",
|
|
53
|
+
"@supabase/supabase-js": "^2.39.0"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"typescript": "^5.0.0"
|
|
57
|
+
}
|
|
58
|
+
}
|