@webiny/tenant-manager 0.0.0-unstable.3c5210ad37

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.
Files changed (255) hide show
  1. package/LICENSE +36 -0
  2. package/README.md +11 -0
  3. package/TenantManager.d.ts +2 -0
  4. package/TenantManager.js +12 -0
  5. package/TenantManager.js.map +1 -0
  6. package/admin/CurrentTenant/CurrentTenant.d.ts +6 -0
  7. package/admin/CurrentTenant/CurrentTenant.js +34 -0
  8. package/admin/CurrentTenant/CurrentTenant.js.map +1 -0
  9. package/admin/CurrentTenant/CurrentTenantGateway.d.ts +12 -0
  10. package/admin/CurrentTenant/CurrentTenantGateway.js +44 -0
  11. package/admin/CurrentTenant/CurrentTenantGateway.js.map +1 -0
  12. package/admin/CurrentTenant/CurrentTenantPresenter.d.ts +12 -0
  13. package/admin/CurrentTenant/CurrentTenantPresenter.js +30 -0
  14. package/admin/CurrentTenant/CurrentTenantPresenter.js.map +1 -0
  15. package/admin/CurrentTenant/CurrentTenantRepository.d.ts +15 -0
  16. package/admin/CurrentTenant/CurrentTenantRepository.js +37 -0
  17. package/admin/CurrentTenant/CurrentTenantRepository.js.map +1 -0
  18. package/admin/CurrentTenant/abstractions.d.ts +31 -0
  19. package/admin/CurrentTenant/abstractions.js +15 -0
  20. package/admin/CurrentTenant/abstractions.js.map +1 -0
  21. package/admin/CurrentTenant/feature.d.ts +3 -0
  22. package/admin/CurrentTenant/feature.js +20 -0
  23. package/admin/CurrentTenant/feature.js.map +1 -0
  24. package/admin/CurrentTenant/useCurrentTenant.d.ts +4 -0
  25. package/admin/CurrentTenant/useCurrentTenant.js +23 -0
  26. package/admin/CurrentTenant/useCurrentTenant.js.map +1 -0
  27. package/admin/CurrentTenantProvider.d.ts +2 -0
  28. package/admin/CurrentTenantProvider.js +12 -0
  29. package/admin/CurrentTenantProvider.js.map +1 -0
  30. package/admin/DisableTenant/DisableTenantGateway.d.ts +11 -0
  31. package/admin/DisableTenant/DisableTenantGateway.js +43 -0
  32. package/admin/DisableTenant/DisableTenantGateway.js.map +1 -0
  33. package/admin/DisableTenant/DisableTenantRepository.d.ts +10 -0
  34. package/admin/DisableTenant/DisableTenantRepository.js +15 -0
  35. package/admin/DisableTenant/DisableTenantRepository.js.map +1 -0
  36. package/admin/DisableTenant/DisableTenantUseCase.d.ts +10 -0
  37. package/admin/DisableTenant/DisableTenantUseCase.js +15 -0
  38. package/admin/DisableTenant/DisableTenantUseCase.js.map +1 -0
  39. package/admin/DisableTenant/abstractions.d.ts +21 -0
  40. package/admin/DisableTenant/abstractions.js +15 -0
  41. package/admin/DisableTenant/abstractions.js.map +1 -0
  42. package/admin/DisableTenant/feature.d.ts +3 -0
  43. package/admin/DisableTenant/feature.js +20 -0
  44. package/admin/DisableTenant/feature.js.map +1 -0
  45. package/admin/DisableTenant/index.d.ts +2 -0
  46. package/admin/DisableTenant/index.js +4 -0
  47. package/admin/DisableTenant/index.js.map +1 -0
  48. package/admin/DisableTenant/useDisableTenant.d.ts +4 -0
  49. package/admin/DisableTenant/useDisableTenant.js +27 -0
  50. package/admin/DisableTenant/useDisableTenant.js.map +1 -0
  51. package/admin/EnableTenant/EnableTenantGateway.d.ts +11 -0
  52. package/admin/EnableTenant/EnableTenantGateway.js +43 -0
  53. package/admin/EnableTenant/EnableTenantGateway.js.map +1 -0
  54. package/admin/EnableTenant/EnableTenantRepository.d.ts +10 -0
  55. package/admin/EnableTenant/EnableTenantRepository.js +15 -0
  56. package/admin/EnableTenant/EnableTenantRepository.js.map +1 -0
  57. package/admin/EnableTenant/EnableTenantUseCase.d.ts +10 -0
  58. package/admin/EnableTenant/EnableTenantUseCase.js +15 -0
  59. package/admin/EnableTenant/EnableTenantUseCase.js.map +1 -0
  60. package/admin/EnableTenant/abstractions.d.ts +21 -0
  61. package/admin/EnableTenant/abstractions.js +15 -0
  62. package/admin/EnableTenant/abstractions.js.map +1 -0
  63. package/admin/EnableTenant/feature.d.ts +3 -0
  64. package/admin/EnableTenant/feature.js +20 -0
  65. package/admin/EnableTenant/feature.js.map +1 -0
  66. package/admin/EnableTenant/index.d.ts +2 -0
  67. package/admin/EnableTenant/index.js +4 -0
  68. package/admin/EnableTenant/index.js.map +1 -0
  69. package/admin/EnableTenant/useEnableTenant.d.ts +4 -0
  70. package/admin/EnableTenant/useEnableTenant.js +23 -0
  71. package/admin/EnableTenant/useEnableTenant.js.map +1 -0
  72. package/admin/Extension.d.ts +2 -0
  73. package/admin/Extension.js +47 -0
  74. package/admin/Extension.js.map +1 -0
  75. package/admin/IsRootTenant.d.ts +13 -0
  76. package/admin/IsRootTenant.js +37 -0
  77. package/admin/IsRootTenant.js.map +1 -0
  78. package/admin/SecurityPermission.d.ts +2 -0
  79. package/admin/SecurityPermission.js +20 -0
  80. package/admin/SecurityPermission.js.map +1 -0
  81. package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.d.ts +8 -0
  82. package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js +42 -0
  83. package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js.map +1 -0
  84. package/admin/TenantEntryList/EnableTenant/EnableTenant.d.ts +7 -0
  85. package/admin/TenantEntryList/EnableTenant/EnableTenant.js +19 -0
  86. package/admin/TenantEntryList/EnableTenant/EnableTenant.js.map +1 -0
  87. package/admin/TenantEntryList/EnableTenant/useEnableTenant.d.ts +5 -0
  88. package/admin/TenantEntryList/EnableTenant/useEnableTenant.js +39 -0
  89. package/admin/TenantEntryList/EnableTenant/useEnableTenant.js.map +1 -0
  90. package/admin/TenantEntryList/FolderNameCell.d.ts +7 -0
  91. package/admin/TenantEntryList/FolderNameCell.js +29 -0
  92. package/admin/TenantEntryList/FolderNameCell.js.map +1 -0
  93. package/admin/TenantEntryList/InstallTenantButton/InstallTenant.d.ts +7 -0
  94. package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js +19 -0
  95. package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js.map +1 -0
  96. package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.d.ts +16 -0
  97. package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js +17 -0
  98. package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js.map +1 -0
  99. package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.d.ts +5 -0
  100. package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js +46 -0
  101. package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js.map +1 -0
  102. package/admin/TenantEntryList/ManageTenant.d.ts +7 -0
  103. package/admin/TenantEntryList/ManageTenant.js +21 -0
  104. package/admin/TenantEntryList/ManageTenant.js.map +1 -0
  105. package/admin/TenantEntryList/TenantCell.d.ts +2 -0
  106. package/admin/TenantEntryList/TenantCell.js +39 -0
  107. package/admin/TenantEntryList/TenantCell.js.map +1 -0
  108. package/admin/TenantEntryList/TenantNameCell.d.ts +2 -0
  109. package/admin/TenantEntryList/TenantNameCell.js +54 -0
  110. package/admin/TenantEntryList/TenantNameCell.js.map +1 -0
  111. package/admin/TenantEntryList.d.ts +2 -0
  112. package/admin/TenantEntryList.js +71 -0
  113. package/admin/TenantEntryList.js.map +1 -0
  114. package/admin/TenantSelector.d.ts +2 -0
  115. package/admin/TenantSelector.js +39 -0
  116. package/admin/TenantSelector.js.map +1 -0
  117. package/admin/types.d.ts +7 -0
  118. package/admin/types.js +3 -0
  119. package/admin/types.js.map +1 -0
  120. package/api/Extension.d.ts +1 -0
  121. package/api/Extension.js +42 -0
  122. package/api/Extension.js.map +1 -0
  123. package/api/domain/TenantId.d.ts +3 -0
  124. package/api/domain/TenantId.js +12 -0
  125. package/api/domain/TenantId.js.map +1 -0
  126. package/api/domain/TenantModel.d.ts +11 -0
  127. package/api/domain/TenantModel.js +46 -0
  128. package/api/domain/TenantModel.js.map +1 -0
  129. package/api/domain/TenantModelExtension.d.ts +10 -0
  130. package/api/domain/TenantModelExtension.js +4 -0
  131. package/api/domain/TenantModelExtension.js.map +1 -0
  132. package/api/domain/errors.d.ts +33 -0
  133. package/api/domain/errors.js +63 -0
  134. package/api/domain/errors.js.map +1 -0
  135. package/api/features/AddCmsPermissions/AddCmsPermissions.d.ts +8 -0
  136. package/api/features/AddCmsPermissions/AddCmsPermissions.js +34 -0
  137. package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -0
  138. package/api/features/AddCmsPermissions/feature.d.ts +1 -0
  139. package/api/features/AddCmsPermissions/feature.js +10 -0
  140. package/api/features/AddCmsPermissions/feature.js.map +1 -0
  141. package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.d.ts +24 -0
  142. package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js +99 -0
  143. package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js.map +1 -0
  144. package/api/features/CreateAndInstallTenant/abstractions.d.ts +26 -0
  145. package/api/features/CreateAndInstallTenant/abstractions.js +9 -0
  146. package/api/features/CreateAndInstallTenant/abstractions.js.map +1 -0
  147. package/api/features/CreateAndInstallTenant/feature.d.ts +1 -0
  148. package/api/features/CreateAndInstallTenant/feature.js +11 -0
  149. package/api/features/CreateAndInstallTenant/feature.js.map +1 -0
  150. package/api/features/CreateTenant/CreateTenantRepository.d.ts +15 -0
  151. package/api/features/CreateTenant/CreateTenantRepository.js +48 -0
  152. package/api/features/CreateTenant/CreateTenantRepository.js.map +1 -0
  153. package/api/features/CreateTenant/CreateTenantUseCase.d.ts +14 -0
  154. package/api/features/CreateTenant/CreateTenantUseCase.js +43 -0
  155. package/api/features/CreateTenant/CreateTenantUseCase.js.map +1 -0
  156. package/api/features/CreateTenant/abstractions.d.ts +41 -0
  157. package/api/features/CreateTenant/abstractions.js +11 -0
  158. package/api/features/CreateTenant/abstractions.js.map +1 -0
  159. package/api/features/CreateTenant/feature.d.ts +1 -0
  160. package/api/features/CreateTenant/feature.js +15 -0
  161. package/api/features/CreateTenant/feature.js.map +1 -0
  162. package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.d.ts +11 -0
  163. package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js +37 -0
  164. package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js.map +1 -0
  165. package/api/features/DeleteTenantOnEntryDelete/feature.d.ts +1 -0
  166. package/api/features/DeleteTenantOnEntryDelete/feature.js +11 -0
  167. package/api/features/DeleteTenantOnEntryDelete/feature.js.map +1 -0
  168. package/api/features/DisableTenant/DisableTenantUseCase.d.ts +20 -0
  169. package/api/features/DisableTenant/DisableTenantUseCase.js +65 -0
  170. package/api/features/DisableTenant/DisableTenantUseCase.js.map +1 -0
  171. package/api/features/DisableTenant/abstractions.d.ts +19 -0
  172. package/api/features/DisableTenant/abstractions.js +4 -0
  173. package/api/features/DisableTenant/abstractions.js.map +1 -0
  174. package/api/features/DisableTenant/events.d.ts +27 -0
  175. package/api/features/DisableTenant/events.js +18 -0
  176. package/api/features/DisableTenant/events.js.map +1 -0
  177. package/api/features/DisableTenant/feature.d.ts +1 -0
  178. package/api/features/DisableTenant/feature.js +11 -0
  179. package/api/features/DisableTenant/feature.js.map +1 -0
  180. package/api/features/EnableTenant/EnableTenantUseCase.d.ts +20 -0
  181. package/api/features/EnableTenant/EnableTenantUseCase.js +67 -0
  182. package/api/features/EnableTenant/EnableTenantUseCase.js.map +1 -0
  183. package/api/features/EnableTenant/abstractions.d.ts +19 -0
  184. package/api/features/EnableTenant/abstractions.js +4 -0
  185. package/api/features/EnableTenant/abstractions.js.map +1 -0
  186. package/api/features/EnableTenant/events.d.ts +27 -0
  187. package/api/features/EnableTenant/events.js +18 -0
  188. package/api/features/EnableTenant/events.js.map +1 -0
  189. package/api/features/EnableTenant/feature.d.ts +1 -0
  190. package/api/features/EnableTenant/feature.js +11 -0
  191. package/api/features/EnableTenant/feature.js.map +1 -0
  192. package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.d.ts +17 -0
  193. package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js +35 -0
  194. package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js.map +1 -0
  195. package/api/features/GetCurrentTenant/abstractions.d.ts +24 -0
  196. package/api/features/GetCurrentTenant/abstractions.js +10 -0
  197. package/api/features/GetCurrentTenant/abstractions.js.map +1 -0
  198. package/api/features/GetCurrentTenant/feature.d.ts +1 -0
  199. package/api/features/GetCurrentTenant/feature.js +11 -0
  200. package/api/features/GetCurrentTenant/feature.js.map +1 -0
  201. package/api/features/GetTenantById/GetTenantByIdRepository.d.ts +17 -0
  202. package/api/features/GetTenantById/GetTenantByIdRepository.js +49 -0
  203. package/api/features/GetTenantById/GetTenantByIdRepository.js.map +1 -0
  204. package/api/features/GetTenantById/GetTenantByIdUseCase.d.ts +12 -0
  205. package/api/features/GetTenantById/GetTenantByIdUseCase.js +27 -0
  206. package/api/features/GetTenantById/GetTenantByIdUseCase.js.map +1 -0
  207. package/api/features/GetTenantById/abstractions.d.ts +38 -0
  208. package/api/features/GetTenantById/abstractions.js +15 -0
  209. package/api/features/GetTenantById/abstractions.js.map +1 -0
  210. package/api/features/GetTenantById/feature.d.ts +1 -0
  211. package/api/features/GetTenantById/feature.js +15 -0
  212. package/api/features/GetTenantById/feature.js.map +1 -0
  213. package/api/features/UpdateTenant/UpdateTenantRepository.d.ts +17 -0
  214. package/api/features/UpdateTenant/UpdateTenantRepository.js +58 -0
  215. package/api/features/UpdateTenant/UpdateTenantRepository.js.map +1 -0
  216. package/api/features/UpdateTenant/UpdateTenantUseCase.d.ts +12 -0
  217. package/api/features/UpdateTenant/UpdateTenantUseCase.js +21 -0
  218. package/api/features/UpdateTenant/UpdateTenantUseCase.js.map +1 -0
  219. package/api/features/UpdateTenant/abstractions.d.ts +39 -0
  220. package/api/features/UpdateTenant/abstractions.js +15 -0
  221. package/api/features/UpdateTenant/abstractions.js.map +1 -0
  222. package/api/features/UpdateTenant/feature.d.ts +1 -0
  223. package/api/features/UpdateTenant/feature.js +15 -0
  224. package/api/features/UpdateTenant/feature.js.map +1 -0
  225. package/api/graphql/CreateTenantSchema.d.ts +14 -0
  226. package/api/graphql/CreateTenantSchema.js +77 -0
  227. package/api/graphql/CreateTenantSchema.js.map +1 -0
  228. package/api/graphql/DisableTenantSchema.d.ts +8 -0
  229. package/api/graphql/DisableTenantSchema.js +35 -0
  230. package/api/graphql/DisableTenantSchema.js.map +1 -0
  231. package/api/graphql/EnableTenantSchema.d.ts +8 -0
  232. package/api/graphql/EnableTenantSchema.js +35 -0
  233. package/api/graphql/EnableTenantSchema.js.map +1 -0
  234. package/api/graphql/GetCurrentTenantSchema.d.ts +8 -0
  235. package/api/graphql/GetCurrentTenantSchema.js +53 -0
  236. package/api/graphql/GetCurrentTenantSchema.js.map +1 -0
  237. package/api/graphql/InstallTenantSchema.d.ts +8 -0
  238. package/api/graphql/InstallTenantSchema.js +50 -0
  239. package/api/graphql/InstallTenantSchema.js.map +1 -0
  240. package/exports/admin/tenancy.d.ts +7 -0
  241. package/exports/admin/tenancy.js +8 -0
  242. package/exports/admin/tenancy.js.map +1 -0
  243. package/exports/api/tenant-manager.d.ts +2 -0
  244. package/exports/api/tenant-manager.js +3 -0
  245. package/exports/api/tenant-manager.js.map +1 -0
  246. package/index.d.ts +1 -0
  247. package/index.js +3 -0
  248. package/index.js.map +1 -0
  249. package/package.json +44 -0
  250. package/shared/Tenant.d.ts +21 -0
  251. package/shared/Tenant.js +26 -0
  252. package/shared/Tenant.js.map +1 -0
  253. package/shared/constants.d.ts +1 -0
  254. package/shared/constants.js +3 -0
  255. package/shared/constants.js.map +1 -0
@@ -0,0 +1,77 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ import { Response } from "@webiny/handler-graphql";
3
+ import { ErrorResponse } from "@webiny/handler-graphql";
4
+ import { PluginsContainer } from "@webiny/api-headless-cms/legacy/abstractions.js";
5
+ import { renderInputFields } from "@webiny/api-headless-cms/utils/renderInputFields.js";
6
+ import { CreateTenantUseCase } from "../features/CreateTenant/abstractions.js";
7
+ import { createFieldTypePluginRecords } from "@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords.js";
8
+ import { ListModelsUseCase } from "@webiny/api-headless-cms/exports/api/cms/model.js";
9
+ import { TENANT_MODEL_ID } from "../../shared/constants.js";
10
+ class CreateTenantSchema {
11
+ constructor(pluginsContainer, listModelsUseCase) {
12
+ this.pluginsContainer = pluginsContainer;
13
+ this.listModelsUseCase = listModelsUseCase;
14
+ }
15
+ async execute(builder) {
16
+ const inputCreateFields = await this.getExtensionsInput();
17
+ builder.addTypeDefs(/* GraphQL */`
18
+ ${inputCreateFields.map(f => f.typeDefs).join("\n")}
19
+
20
+ input CreateTenantInput {
21
+ id: ID
22
+ name: String!
23
+ description: String
24
+ ${inputCreateFields.map(f => f.fields).join("\n")}
25
+ }
26
+ `);
27
+ builder.addTypeDefs(/* GraphQL */`
28
+ extend type TenantManagerMutation {
29
+ createTenant(input: CreateTenantInput!): BooleanResponse
30
+ }
31
+ `);
32
+ builder.addResolver({
33
+ path: "TenantManagerMutation.createTenant",
34
+ dependencies: [CreateTenantUseCase],
35
+ resolver: createTenant => {
36
+ return async ({
37
+ args
38
+ }) => {
39
+ const result = await createTenant.execute(args.input);
40
+ if (result.isFail()) {
41
+ return new ErrorResponse(result.error);
42
+ }
43
+ return new Response(true);
44
+ };
45
+ }
46
+ });
47
+ return builder;
48
+ }
49
+ async getExtensionsInput() {
50
+ const fieldTypePlugins = createFieldTypePluginRecords(this.pluginsContainer);
51
+ const modelsResult = await this.listModelsUseCase.execute({
52
+ includePlugins: true,
53
+ includePrivate: false
54
+ });
55
+ if (modelsResult.isFail()) {
56
+ return [{
57
+ typeDefs: "",
58
+ fields: "extensions: JSON"
59
+ }];
60
+ }
61
+ const models = modelsResult.value;
62
+ const model = models.find(m => m.modelId === TENANT_MODEL_ID);
63
+ const inputCreateFields = renderInputFields({
64
+ models,
65
+ model,
66
+ fields: model.fields.filter(f => f.fieldId === "extensions"),
67
+ fieldTypePlugins
68
+ });
69
+ return inputCreateFields;
70
+ }
71
+ }
72
+ export default GraphQLSchemaFactory.createImplementation({
73
+ implementation: CreateTenantSchema,
74
+ dependencies: [PluginsContainer, ListModelsUseCase]
75
+ });
76
+
77
+ //# sourceMappingURL=CreateTenantSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GraphQLSchemaFactory","Response","ErrorResponse","PluginsContainer","renderInputFields","CreateTenantUseCase","createFieldTypePluginRecords","ListModelsUseCase","TENANT_MODEL_ID","CreateTenantSchema","constructor","pluginsContainer","listModelsUseCase","execute","builder","inputCreateFields","getExtensionsInput","addTypeDefs","map","f","typeDefs","join","fields","addResolver","path","dependencies","resolver","createTenant","args","result","input","isFail","error","fieldTypePlugins","modelsResult","includePlugins","includePrivate","models","value","model","find","m","modelId","filter","fieldId","createImplementation","implementation"],"sources":["CreateTenantSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { Response } from \"@webiny/handler-graphql\";\nimport { ErrorResponse } from \"@webiny/handler-graphql\";\nimport { PluginsContainer } from \"@webiny/api-headless-cms/legacy/abstractions.js\";\nimport { renderInputFields } from \"@webiny/api-headless-cms/utils/renderInputFields.js\";\nimport { CreateTenantUseCase } from \"../features/CreateTenant/abstractions.js\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/exports/api/cms/model.js\";\nimport { TENANT_MODEL_ID } from \"~/shared/constants.js\";\n\nclass CreateTenantSchema implements GraphQLSchemaFactory.Interface {\n constructor(\n private pluginsContainer: PluginsContainer.Interface,\n private listModelsUseCase: ListModelsUseCase.Interface\n ) {}\n\n async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n const inputCreateFields = await this.getExtensionsInput();\n\n builder.addTypeDefs(/* GraphQL */ `\n ${inputCreateFields.map(f => f.typeDefs).join(\"\\n\")}\n\n input CreateTenantInput {\n id: ID\n name: String!\n description: String\n ${inputCreateFields.map(f => f.fields).join(\"\\n\")}\n } \n `);\n\n builder.addTypeDefs(/* GraphQL */ `\n extend type TenantManagerMutation {\n createTenant(input: CreateTenantInput!): BooleanResponse\n }\n `);\n\n builder.addResolver<{ input: CreateTenantUseCase.Input }>({\n path: \"TenantManagerMutation.createTenant\",\n dependencies: [CreateTenantUseCase],\n resolver: (createTenant: CreateTenantUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createTenant.execute(args.input);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(true);\n };\n }\n });\n\n return builder;\n }\n\n private async getExtensionsInput() {\n const fieldTypePlugins = createFieldTypePluginRecords(this.pluginsContainer);\n\n const modelsResult = await this.listModelsUseCase.execute({\n includePlugins: true,\n includePrivate: false\n });\n\n if (modelsResult.isFail()) {\n return [\n {\n typeDefs: \"\",\n fields: \"extensions: JSON\"\n }\n ];\n }\n\n const models = modelsResult.value;\n const model = models.find(m => m.modelId === TENANT_MODEL_ID)!;\n\n const inputCreateFields = renderInputFields({\n models,\n model,\n fields: model.fields.filter(f => f.fieldId === \"extensions\"),\n fieldTypePlugins\n });\n\n return inputCreateFields;\n }\n}\n\nexport default GraphQLSchemaFactory.createImplementation({\n implementation: CreateTenantSchema,\n dependencies: [PluginsContainer, ListModelsUseCase]\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ declare class DisableTenantSchema implements GraphQLSchemaFactory.Interface {
3
+ execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
4
+ }
5
+ declare const _default: typeof DisableTenantSchema & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public.js").IGraphQLSchemaFactory>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ import { Response } from "@webiny/handler-graphql";
3
+ import { ErrorResponse } from "@webiny/handler-graphql";
4
+ import { DisableTenantUseCase } from "../features/DisableTenant/abstractions.js";
5
+ class DisableTenantSchema {
6
+ async execute(builder) {
7
+ builder.addTypeDefs(/* GraphQL */`
8
+ extend type TenantManagerMutation {
9
+ disableTenant(tenantId: ID!): BooleanResponse
10
+ }
11
+ `);
12
+ builder.addResolver({
13
+ path: "TenantManagerMutation.disableTenant",
14
+ dependencies: [DisableTenantUseCase],
15
+ resolver: disableTenant => {
16
+ return async ({
17
+ args
18
+ }) => {
19
+ const result = await disableTenant.execute(args.tenantId);
20
+ if (result.isFail()) {
21
+ return new ErrorResponse(result.error);
22
+ }
23
+ return new Response(true);
24
+ };
25
+ }
26
+ });
27
+ return builder;
28
+ }
29
+ }
30
+ export default GraphQLSchemaFactory.createImplementation({
31
+ implementation: DisableTenantSchema,
32
+ dependencies: []
33
+ });
34
+
35
+ //# sourceMappingURL=DisableTenantSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GraphQLSchemaFactory","Response","ErrorResponse","DisableTenantUseCase","DisableTenantSchema","execute","builder","addTypeDefs","addResolver","path","dependencies","resolver","disableTenant","args","result","tenantId","isFail","error","createImplementation","implementation"],"sources":["DisableTenantSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { Response } from \"@webiny/handler-graphql\";\nimport { ErrorResponse } from \"@webiny/handler-graphql\";\nimport { DisableTenantUseCase } from \"../features/DisableTenant/abstractions.js\";\n\nclass DisableTenantSchema implements GraphQLSchemaFactory.Interface {\n async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n extend type TenantManagerMutation {\n disableTenant(tenantId: ID!): BooleanResponse\n }\n `);\n\n builder.addResolver<{ tenantId: string }>({\n path: \"TenantManagerMutation.disableTenant\",\n dependencies: [DisableTenantUseCase],\n resolver: (disableTenant: DisableTenantUseCase.Interface) => {\n return async ({ args }) => {\n const result = await disableTenant.execute(args.tenantId);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(true);\n };\n }\n });\n\n return builder;\n }\n}\n\nexport default GraphQLSchemaFactory.createImplementation({\n implementation: DisableTenantSchema,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,iDAAiD;AACtF,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,oBAAoB;AAE7B,MAAMC,mBAAmB,CAA2C;EAChE,MAAMC,OAAOA,CACTC,OAA2C,EACA;IAC3CA,OAAO,CAACC,WAAW,CAAC,aAAc;AAC1C;AACA;AACA;AACA,SAAS,CAAC;IAEFD,OAAO,CAACE,WAAW,CAAuB;MACtCC,IAAI,EAAE,qCAAqC;MAC3CC,YAAY,EAAE,CAACP,oBAAoB,CAAC;MACpCQ,QAAQ,EAAGC,aAA6C,IAAK;QACzD,OAAO,OAAO;UAAEC;QAAK,CAAC,KAAK;UACvB,MAAMC,MAAM,GAAG,MAAMF,aAAa,CAACP,OAAO,CAACQ,IAAI,CAACE,QAAQ,CAAC;UAEzD,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAId,aAAa,CAACY,MAAM,CAACG,KAAK,CAAC;UAC1C;UAEA,OAAO,IAAIhB,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC;MACL;IACJ,CAAC,CAAC;IAEF,OAAOK,OAAO;EAClB;AACJ;AAEA,eAAeN,oBAAoB,CAACkB,oBAAoB,CAAC;EACrDC,cAAc,EAAEf,mBAAmB;EACnCM,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ declare class EnableTenantSchema implements GraphQLSchemaFactory.Interface {
3
+ execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
4
+ }
5
+ declare const _default: typeof EnableTenantSchema & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public.js").IGraphQLSchemaFactory>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ import { Response } from "@webiny/handler-graphql";
3
+ import { ErrorResponse } from "@webiny/handler-graphql";
4
+ import { EnableTenantUseCase } from "../features/EnableTenant/abstractions.js";
5
+ class EnableTenantSchema {
6
+ async execute(builder) {
7
+ builder.addTypeDefs(/* GraphQL */`
8
+ extend type TenantManagerMutation {
9
+ enableTenant(tenantId: ID!): BooleanResponse
10
+ }
11
+ `);
12
+ builder.addResolver({
13
+ path: "TenantManagerMutation.enableTenant",
14
+ dependencies: [EnableTenantUseCase],
15
+ resolver: enableTenant => {
16
+ return async ({
17
+ args
18
+ }) => {
19
+ const result = await enableTenant.execute(args.tenantId);
20
+ if (result.isFail()) {
21
+ return new ErrorResponse(result.error);
22
+ }
23
+ return new Response(true);
24
+ };
25
+ }
26
+ });
27
+ return builder;
28
+ }
29
+ }
30
+ export default GraphQLSchemaFactory.createImplementation({
31
+ implementation: EnableTenantSchema,
32
+ dependencies: []
33
+ });
34
+
35
+ //# sourceMappingURL=EnableTenantSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GraphQLSchemaFactory","Response","ErrorResponse","EnableTenantUseCase","EnableTenantSchema","execute","builder","addTypeDefs","addResolver","path","dependencies","resolver","enableTenant","args","result","tenantId","isFail","error","createImplementation","implementation"],"sources":["EnableTenantSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { Response } from \"@webiny/handler-graphql\";\nimport { ErrorResponse } from \"@webiny/handler-graphql\";\nimport { EnableTenantUseCase } from \"../features/EnableTenant/abstractions.js\";\n\nclass EnableTenantSchema implements GraphQLSchemaFactory.Interface {\n async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n extend type TenantManagerMutation {\n enableTenant(tenantId: ID!): BooleanResponse\n }\n `);\n\n builder.addResolver<{ tenantId: string }>({\n path: \"TenantManagerMutation.enableTenant\",\n dependencies: [EnableTenantUseCase],\n resolver: (enableTenant: EnableTenantUseCase.Interface) => {\n return async ({ args }) => {\n const result = await enableTenant.execute(args.tenantId);\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n\n return new Response(true);\n };\n }\n });\n\n return builder;\n }\n}\n\nexport default GraphQLSchemaFactory.createImplementation({\n implementation: EnableTenantSchema,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,iDAAiD;AACtF,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,mBAAmB;AAE5B,MAAMC,kBAAkB,CAA2C;EAC/D,MAAMC,OAAOA,CACTC,OAA2C,EACA;IAC3CA,OAAO,CAACC,WAAW,CAAC,aAAc;AAC1C;AACA;AACA;AACA,SAAS,CAAC;IAEFD,OAAO,CAACE,WAAW,CAAuB;MACtCC,IAAI,EAAE,oCAAoC;MAC1CC,YAAY,EAAE,CAACP,mBAAmB,CAAC;MACnCQ,QAAQ,EAAGC,YAA2C,IAAK;QACvD,OAAO,OAAO;UAAEC;QAAK,CAAC,KAAK;UACvB,MAAMC,MAAM,GAAG,MAAMF,YAAY,CAACP,OAAO,CAACQ,IAAI,CAACE,QAAQ,CAAC;UAExD,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAId,aAAa,CAACY,MAAM,CAACG,KAAK,CAAC;UAC1C;UAEA,OAAO,IAAIhB,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC;MACL;IACJ,CAAC,CAAC;IAEF,OAAOK,OAAO;EAClB;AACJ;AAEA,eAAeN,oBAAoB,CAACkB,oBAAoB,CAAC;EACrDC,cAAc,EAAEf,kBAAkB;EAClCM,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ declare class GetCurrentTenantSchema implements GraphQLSchemaFactory.Interface {
3
+ execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
4
+ }
5
+ declare const _default: typeof GetCurrentTenantSchema & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public.js").IGraphQLSchemaFactory>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,53 @@
1
+ import { Response } from "@webiny/handler-graphql";
2
+ import { ErrorResponse } from "@webiny/handler-graphql";
3
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
4
+ import { GetCurrentTenantUseCase } from "../features/GetCurrentTenant/abstractions.js";
5
+ class GetCurrentTenantSchema {
6
+ async execute(builder) {
7
+ builder.addTypeDefs(/* GraphQL */`
8
+ type TenantResponse {
9
+ data: Tenant
10
+ error: Error
11
+ }
12
+
13
+ type Tenant {
14
+ id: ID!
15
+ values: JSON!
16
+ }
17
+
18
+ type TenantManagerQuery {
19
+ getCurrentTenant: TenantResponse
20
+ }
21
+
22
+ extend type Query {
23
+ tenantManager: TenantManagerQuery
24
+ }
25
+ `);
26
+ builder.addResolver({
27
+ path: "Query.tenantManager",
28
+ resolver: () => {
29
+ return () => ({});
30
+ }
31
+ });
32
+ builder.addResolver({
33
+ path: "TenantManagerQuery.getCurrentTenant",
34
+ dependencies: [GetCurrentTenantUseCase],
35
+ resolver: getCurrentTenant => {
36
+ return async () => {
37
+ const result = await getCurrentTenant.execute();
38
+ if (result.isFail()) {
39
+ return new ErrorResponse(result.error);
40
+ }
41
+ return new Response(result.value);
42
+ };
43
+ }
44
+ });
45
+ return builder;
46
+ }
47
+ }
48
+ export default GraphQLSchemaFactory.createImplementation({
49
+ implementation: GetCurrentTenantSchema,
50
+ dependencies: []
51
+ });
52
+
53
+ //# sourceMappingURL=GetCurrentTenantSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Response","ErrorResponse","GraphQLSchemaFactory","GetCurrentTenantUseCase","GetCurrentTenantSchema","execute","builder","addTypeDefs","addResolver","path","resolver","dependencies","getCurrentTenant","result","isFail","error","value","createImplementation","implementation"],"sources":["GetCurrentTenantSchema.ts"],"sourcesContent":["import { Response } from \"@webiny/handler-graphql\";\nimport { ErrorResponse } from \"@webiny/handler-graphql\";\nimport { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { GetCurrentTenantUseCase } from \"../features/GetCurrentTenant/abstractions.js\";\n\nclass GetCurrentTenantSchema implements GraphQLSchemaFactory.Interface {\n async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n type TenantResponse {\n data: Tenant\n error: Error\n }\n\n type Tenant {\n id: ID!\n values: JSON!\n }\n\n type TenantManagerQuery {\n getCurrentTenant: TenantResponse\n }\n\n extend type Query {\n tenantManager: TenantManagerQuery\n }\n `);\n\n builder.addResolver({\n path: \"Query.tenantManager\",\n resolver: () => {\n return () => ({});\n }\n });\n\n builder.addResolver({\n path: \"TenantManagerQuery.getCurrentTenant\",\n dependencies: [GetCurrentTenantUseCase],\n resolver: (getCurrentTenant: GetCurrentTenantUseCase.Interface) => {\n return async () => {\n const result = await getCurrentTenant.execute();\n\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n return new Response(result.value);\n };\n }\n });\n\n return builder;\n }\n}\n\nexport default GraphQLSchemaFactory.createImplementation({\n implementation: GetCurrentTenantSchema,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,oBAAoB,QAAQ,iDAAiD;AACtF,SAASC,uBAAuB;AAEhC,MAAMC,sBAAsB,CAA2C;EACnE,MAAMC,OAAOA,CACTC,OAA2C,EACA;IAC3CA,OAAO,CAACC,WAAW,CAAC,aAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IAEFD,OAAO,CAACE,WAAW,CAAC;MAChBC,IAAI,EAAE,qBAAqB;MAC3BC,QAAQ,EAAEA,CAAA,KAAM;QACZ,OAAO,OAAO,CAAC,CAAC,CAAC;MACrB;IACJ,CAAC,CAAC;IAEFJ,OAAO,CAACE,WAAW,CAAC;MAChBC,IAAI,EAAE,qCAAqC;MAC3CE,YAAY,EAAE,CAACR,uBAAuB,CAAC;MACvCO,QAAQ,EAAGE,gBAAmD,IAAK;QAC/D,OAAO,YAAY;UACf,MAAMC,MAAM,GAAG,MAAMD,gBAAgB,CAACP,OAAO,CAAC,CAAC;UAE/C,IAAIQ,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAIb,aAAa,CAACY,MAAM,CAACE,KAAK,CAAC;UAC1C;UACA,OAAO,IAAIf,QAAQ,CAACa,MAAM,CAACG,KAAK,CAAC;QACrC,CAAC;MACL;IACJ,CAAC,CAAC;IAEF,OAAOV,OAAO;EAClB;AACJ;AAEA,eAAeJ,oBAAoB,CAACe,oBAAoB,CAAC;EACrDC,cAAc,EAAEd,sBAAsB;EACtCO,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ declare class InstallTenantSchema implements GraphQLSchemaFactory.Interface {
3
+ execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
4
+ }
5
+ declare const _default: typeof InstallTenantSchema & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/handler-graphql/graphql/abstractions.public.js").IGraphQLSchemaFactory>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,50 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
2
+ import { Response } from "@webiny/handler-graphql";
3
+ import { ErrorResponse } from "@webiny/handler-graphql";
4
+ import { CreateAndInstallTenantUseCase } from "../features/CreateAndInstallTenant/abstractions.js";
5
+ import { IdentityContext } from "@webiny/api-core/exports/api/security.js";
6
+ import NotAuthorizedResponse from "@webiny/api-core/graphql/security/NotAuthorizedResponse.js";
7
+ class InstallTenantSchema {
8
+ async execute(builder) {
9
+ builder.addTypeDefs(/* GraphQL */`
10
+ type TenantManagerMutation {
11
+ installTenant(tenantId: ID!): BooleanResponse
12
+ }
13
+
14
+ extend type Mutation {
15
+ tenantManager: TenantManagerMutation
16
+ }
17
+ `);
18
+ builder.addResolver({
19
+ path: "Mutation.tenantManager",
20
+ resolver: () => {
21
+ return () => ({});
22
+ }
23
+ });
24
+ builder.addResolver({
25
+ path: "TenantManagerMutation.installTenant",
26
+ dependencies: [IdentityContext, CreateAndInstallTenantUseCase],
27
+ resolver: (identityContext, installTenant) => {
28
+ return async ({
29
+ args
30
+ }) => {
31
+ if (!identityContext.getPermission("tm.tenant")) {
32
+ return new NotAuthorizedResponse();
33
+ }
34
+ const result = await installTenant.execute(args.tenantId);
35
+ if (result.isFail()) {
36
+ return new ErrorResponse(result.error);
37
+ }
38
+ return new Response(true);
39
+ };
40
+ }
41
+ });
42
+ return builder;
43
+ }
44
+ }
45
+ export default GraphQLSchemaFactory.createImplementation({
46
+ implementation: InstallTenantSchema,
47
+ dependencies: []
48
+ });
49
+
50
+ //# sourceMappingURL=InstallTenantSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GraphQLSchemaFactory","Response","ErrorResponse","CreateAndInstallTenantUseCase","IdentityContext","NotAuthorizedResponse","InstallTenantSchema","execute","builder","addTypeDefs","addResolver","path","resolver","dependencies","identityContext","installTenant","args","getPermission","result","tenantId","isFail","error","createImplementation","implementation"],"sources":["InstallTenantSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { Response } from \"@webiny/handler-graphql\";\nimport { ErrorResponse } from \"@webiny/handler-graphql\";\nimport { CreateAndInstallTenantUseCase } from \"../features/CreateAndInstallTenant/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/exports/api/security.js\";\nimport NotAuthorizedResponse from \"@webiny/api-core/graphql/security/NotAuthorizedResponse.js\";\n\nclass InstallTenantSchema implements GraphQLSchemaFactory.Interface {\n async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n builder.addTypeDefs(/* GraphQL */ `\n type TenantManagerMutation {\n installTenant(tenantId: ID!): BooleanResponse\n }\n\n extend type Mutation {\n tenantManager: TenantManagerMutation\n }\n `);\n\n builder.addResolver({\n path: \"Mutation.tenantManager\",\n resolver: () => {\n return () => ({});\n }\n });\n\n builder.addResolver<{ tenantId: string }>({\n path: \"TenantManagerMutation.installTenant\",\n dependencies: [IdentityContext, CreateAndInstallTenantUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n installTenant: CreateAndInstallTenantUseCase.Interface\n ) => {\n return async ({ args }) => {\n if (!identityContext.getPermission(\"tm.tenant\")) {\n return new NotAuthorizedResponse();\n }\n\n const result = await installTenant.execute(args.tenantId);\n if (result.isFail()) {\n return new ErrorResponse(result.error);\n }\n return new Response(true);\n };\n }\n });\n\n return builder;\n }\n}\n\nexport default GraphQLSchemaFactory.createImplementation({\n implementation: InstallTenantSchema,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,iDAAiD;AACtF,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,6BAA6B;AACtC,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,OAAOC,qBAAqB,MAAM,4DAA4D;AAE9F,MAAMC,mBAAmB,CAA2C;EAChE,MAAMC,OAAOA,CACTC,OAA2C,EACA;IAC3CA,OAAO,CAACC,WAAW,CAAC,aAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IAEFD,OAAO,CAACE,WAAW,CAAC;MAChBC,IAAI,EAAE,wBAAwB;MAC9BC,QAAQ,EAAEA,CAAA,KAAM;QACZ,OAAO,OAAO,CAAC,CAAC,CAAC;MACrB;IACJ,CAAC,CAAC;IAEFJ,OAAO,CAACE,WAAW,CAAuB;MACtCC,IAAI,EAAE,qCAAqC;MAC3CE,YAAY,EAAE,CAACT,eAAe,EAAED,6BAA6B,CAAC;MAC9DS,QAAQ,EAAEA,CACNE,eAA0C,EAC1CC,aAAsD,KACrD;QACD,OAAO,OAAO;UAAEC;QAAK,CAAC,KAAK;UACvB,IAAI,CAACF,eAAe,CAACG,aAAa,CAAC,WAAW,CAAC,EAAE;YAC7C,OAAO,IAAIZ,qBAAqB,CAAC,CAAC;UACtC;UAEA,MAAMa,MAAM,GAAG,MAAMH,aAAa,CAACR,OAAO,CAACS,IAAI,CAACG,QAAQ,CAAC;UACzD,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAIlB,aAAa,CAACgB,MAAM,CAACG,KAAK,CAAC;UAC1C;UACA,OAAO,IAAIpB,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC;MACL;IACJ,CAAC,CAAC;IAEF,OAAOO,OAAO;EAClB;AACJ;AAEA,eAAeR,oBAAoB,CAACsB,oBAAoB,CAAC;EACrDC,cAAc,EAAEjB,mBAAmB;EACnCO,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export type { TenantEntry } from "../../admin/types.js";
2
+ export { useEnableTenant } from "../../admin/EnableTenant/index.js";
3
+ export { useDisableTenant } from "../../admin/DisableTenant/index.js";
4
+ export { useCurrentTenant } from "../../admin/CurrentTenant/useCurrentTenant.js";
5
+ export { IsNotRootTenant } from "../../admin/IsRootTenant.js";
6
+ export { IsRootTenant } from "../../admin/IsRootTenant.js";
7
+ export { IsTenant } from "../../admin/IsRootTenant.js";
@@ -0,0 +1,8 @@
1
+ export { useEnableTenant } from "../../admin/EnableTenant/index.js";
2
+ export { useDisableTenant } from "../../admin/DisableTenant/index.js";
3
+ export { useCurrentTenant } from "../../admin/CurrentTenant/useCurrentTenant.js";
4
+ export { IsNotRootTenant } from "../../admin/IsRootTenant.js";
5
+ export { IsRootTenant } from "../../admin/IsRootTenant.js";
6
+ export { IsTenant } from "../../admin/IsRootTenant.js";
7
+
8
+ //# sourceMappingURL=tenancy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEnableTenant","useDisableTenant","useCurrentTenant","IsNotRootTenant","IsRootTenant","IsTenant"],"sources":["tenancy.ts"],"sourcesContent":["export type { TenantEntry } from \"~/admin/types.js\";\nexport { useEnableTenant } from \"~/admin/EnableTenant/index.js\";\nexport { useDisableTenant } from \"~/admin/DisableTenant/index.js\";\nexport { useCurrentTenant } from \"~/admin/CurrentTenant/useCurrentTenant.js\";\nexport { IsNotRootTenant } from \"~/admin/IsRootTenant.js\";\nexport { IsRootTenant } from \"~/admin/IsRootTenant.js\";\nexport { IsTenant } from \"~/admin/IsRootTenant.js\";\n"],"mappings":"AACA,SAASA,eAAe;AACxB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,eAAe;AACxB,SAASC,YAAY;AACrB,SAASC,QAAQ","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { TenantModelExtension } from "../../api/domain/TenantModelExtension.js";
2
+ export type { TenantExtensions } from "../../shared/Tenant.js";
@@ -0,0 +1,3 @@
1
+ export { TenantModelExtension } from "../../api/domain/TenantModelExtension.js";
2
+
3
+ //# sourceMappingURL=tenant-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TenantModelExtension"],"sources":["tenant-manager.ts"],"sourcesContent":["export { TenantModelExtension } from \"~/api/domain/TenantModelExtension.js\";\nexport type { TenantExtensions } from \"~/shared/Tenant.js\";\n"],"mappings":"AAAA,SAASA,oBAAoB","ignoreList":[]}
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { TenantManager } from "./TenantManager.js";
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { TenantManager } from "./TenantManager.js";
2
+
3
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TenantManager"],"sources":["index.ts"],"sourcesContent":["export { TenantManager } from \"./TenantManager.js\";\n"],"mappings":"AAAA,SAASA,aAAa","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@webiny/tenant-manager",
3
+ "version": "0.0.0-unstable.3c5210ad37",
4
+ "type": "module",
5
+ "sideEffects": false,
6
+ "main": "index.js",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/webiny/webiny-js.git"
10
+ },
11
+ "description": "Tenant Management module for Webiny CMS.",
12
+ "author": "Webiny Ltd.",
13
+ "license": "Webiny Enterprise",
14
+ "dependencies": {
15
+ "@apollo/react-hooks": "3.1.5",
16
+ "@webiny/admin-ui": "0.0.0-unstable.3c5210ad37",
17
+ "@webiny/api-core": "0.0.0-unstable.3c5210ad37",
18
+ "@webiny/api-headless-cms": "0.0.0-unstable.3c5210ad37",
19
+ "@webiny/app": "0.0.0-unstable.3c5210ad37",
20
+ "@webiny/app-aco": "0.0.0-unstable.3c5210ad37",
21
+ "@webiny/app-admin": "0.0.0-unstable.3c5210ad37",
22
+ "@webiny/app-headless-cms": "0.0.0-unstable.3c5210ad37",
23
+ "@webiny/feature": "0.0.0-unstable.3c5210ad37",
24
+ "@webiny/handler-graphql": "0.0.0-unstable.3c5210ad37",
25
+ "@webiny/icons": "0.0.0-unstable.3c5210ad37",
26
+ "@webiny/project": "0.0.0-unstable.3c5210ad37",
27
+ "@webiny/project-aws": "0.0.0-unstable.3c5210ad37",
28
+ "graphql-tag": "2.12.6",
29
+ "mobx": "6.15.0",
30
+ "mobx-react-lite": "3.4.3",
31
+ "react": "18.2.0",
32
+ "react-dom": "18.2.0"
33
+ },
34
+ "devDependencies": {
35
+ "@webiny/build-tools": "0.0.0-unstable.3c5210ad37",
36
+ "rimraf": "6.1.3",
37
+ "typescript": "5.9.3"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public",
41
+ "directory": "dist"
42
+ },
43
+ "gitHead": "3c5210ad37c29bfabfeb8a91d3220115352b2ea9"
44
+ }
@@ -0,0 +1,21 @@
1
+ export interface TenantValues {
2
+ name: string;
3
+ description: string;
4
+ isInstalled: boolean;
5
+ status: "enabled" | "disabled";
6
+ extensions: TenantExtensions;
7
+ }
8
+ export interface TenantExtensions {
9
+ }
10
+ export interface TenantDto {
11
+ id: string;
12
+ values: TenantValues;
13
+ }
14
+ export declare const rootTenantDto: TenantDto;
15
+ export declare class Tenant {
16
+ private dto;
17
+ private constructor();
18
+ static from(dto: TenantDto): Tenant;
19
+ get id(): string;
20
+ get values(): TenantValues;
21
+ }
@@ -0,0 +1,26 @@
1
+ export const rootTenantDto = {
2
+ id: "root",
3
+ values: {
4
+ name: "Root",
5
+ isInstalled: true,
6
+ description: "Platform Root",
7
+ status: "enabled",
8
+ extensions: {}
9
+ }
10
+ };
11
+ export class Tenant {
12
+ constructor(dto) {
13
+ this.dto = dto;
14
+ }
15
+ static from(dto) {
16
+ return new Tenant(dto);
17
+ }
18
+ get id() {
19
+ return this.dto.id;
20
+ }
21
+ get values() {
22
+ return this.dto.values;
23
+ }
24
+ }
25
+
26
+ //# sourceMappingURL=Tenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["rootTenantDto","id","values","name","isInstalled","description","status","extensions","Tenant","constructor","dto","from"],"sources":["Tenant.ts"],"sourcesContent":["export interface TenantValues {\n name: string;\n description: string;\n isInstalled: boolean;\n status: \"enabled\" | \"disabled\";\n extensions: TenantExtensions;\n}\n\nexport interface TenantExtensions {}\n\nexport interface TenantDto {\n id: string;\n values: TenantValues;\n}\n\nexport const rootTenantDto: TenantDto = {\n id: \"root\",\n values: {\n name: \"Root\",\n isInstalled: true,\n description: \"Platform Root\",\n status: \"enabled\",\n extensions: {}\n }\n};\n\nexport class Tenant {\n private constructor(private dto: TenantDto) {}\n\n static from(dto: TenantDto) {\n return new Tenant(dto);\n }\n\n get id() {\n return this.dto.id;\n }\n\n get values() {\n return this.dto.values;\n }\n}\n"],"mappings":"AAeA,OAAO,MAAMA,aAAwB,GAAG;EACpCC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE;IACJC,IAAI,EAAE,MAAM;IACZC,WAAW,EAAE,IAAI;IACjBC,WAAW,EAAE,eAAe;IAC5BC,MAAM,EAAE,SAAS;IACjBC,UAAU,EAAE,CAAC;EACjB;AACJ,CAAC;AAED,OAAO,MAAMC,MAAM,CAAC;EACRC,WAAWA,CAASC,GAAc,EAAE;IAAA,KAAhBA,GAAc,GAAdA,GAAc;EAAG;EAE7C,OAAOC,IAAIA,CAACD,GAAc,EAAE;IACxB,OAAO,IAAIF,MAAM,CAACE,GAAG,CAAC;EAC1B;EAEA,IAAIT,EAAEA,CAAA,EAAG;IACL,OAAO,IAAI,CAACS,GAAG,CAACT,EAAE;EACtB;EAEA,IAAIC,MAAMA,CAAA,EAAG;IACT,OAAO,IAAI,CAACQ,GAAG,CAACR,MAAM;EAC1B;AACJ","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const TENANT_MODEL_ID = "wbyTenant";
@@ -0,0 +1,3 @@
1
+ export const TENANT_MODEL_ID = "wbyTenant";
2
+
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TENANT_MODEL_ID"],"sources":["constants.ts"],"sourcesContent":["export const TENANT_MODEL_ID = \"wbyTenant\";\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG,WAAW","ignoreList":[]}