@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.
- package/LICENSE +36 -0
- package/README.md +11 -0
- package/TenantManager.d.ts +2 -0
- package/TenantManager.js +12 -0
- package/TenantManager.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenant.d.ts +6 -0
- package/admin/CurrentTenant/CurrentTenant.js +34 -0
- package/admin/CurrentTenant/CurrentTenant.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantGateway.d.ts +12 -0
- package/admin/CurrentTenant/CurrentTenantGateway.js +44 -0
- package/admin/CurrentTenant/CurrentTenantGateway.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.d.ts +12 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.js +30 -0
- package/admin/CurrentTenant/CurrentTenantPresenter.js.map +1 -0
- package/admin/CurrentTenant/CurrentTenantRepository.d.ts +15 -0
- package/admin/CurrentTenant/CurrentTenantRepository.js +37 -0
- package/admin/CurrentTenant/CurrentTenantRepository.js.map +1 -0
- package/admin/CurrentTenant/abstractions.d.ts +31 -0
- package/admin/CurrentTenant/abstractions.js +15 -0
- package/admin/CurrentTenant/abstractions.js.map +1 -0
- package/admin/CurrentTenant/feature.d.ts +3 -0
- package/admin/CurrentTenant/feature.js +20 -0
- package/admin/CurrentTenant/feature.js.map +1 -0
- package/admin/CurrentTenant/useCurrentTenant.d.ts +4 -0
- package/admin/CurrentTenant/useCurrentTenant.js +23 -0
- package/admin/CurrentTenant/useCurrentTenant.js.map +1 -0
- package/admin/CurrentTenantProvider.d.ts +2 -0
- package/admin/CurrentTenantProvider.js +12 -0
- package/admin/CurrentTenantProvider.js.map +1 -0
- package/admin/DisableTenant/DisableTenantGateway.d.ts +11 -0
- package/admin/DisableTenant/DisableTenantGateway.js +43 -0
- package/admin/DisableTenant/DisableTenantGateway.js.map +1 -0
- package/admin/DisableTenant/DisableTenantRepository.d.ts +10 -0
- package/admin/DisableTenant/DisableTenantRepository.js +15 -0
- package/admin/DisableTenant/DisableTenantRepository.js.map +1 -0
- package/admin/DisableTenant/DisableTenantUseCase.d.ts +10 -0
- package/admin/DisableTenant/DisableTenantUseCase.js +15 -0
- package/admin/DisableTenant/DisableTenantUseCase.js.map +1 -0
- package/admin/DisableTenant/abstractions.d.ts +21 -0
- package/admin/DisableTenant/abstractions.js +15 -0
- package/admin/DisableTenant/abstractions.js.map +1 -0
- package/admin/DisableTenant/feature.d.ts +3 -0
- package/admin/DisableTenant/feature.js +20 -0
- package/admin/DisableTenant/feature.js.map +1 -0
- package/admin/DisableTenant/index.d.ts +2 -0
- package/admin/DisableTenant/index.js +4 -0
- package/admin/DisableTenant/index.js.map +1 -0
- package/admin/DisableTenant/useDisableTenant.d.ts +4 -0
- package/admin/DisableTenant/useDisableTenant.js +27 -0
- package/admin/DisableTenant/useDisableTenant.js.map +1 -0
- package/admin/EnableTenant/EnableTenantGateway.d.ts +11 -0
- package/admin/EnableTenant/EnableTenantGateway.js +43 -0
- package/admin/EnableTenant/EnableTenantGateway.js.map +1 -0
- package/admin/EnableTenant/EnableTenantRepository.d.ts +10 -0
- package/admin/EnableTenant/EnableTenantRepository.js +15 -0
- package/admin/EnableTenant/EnableTenantRepository.js.map +1 -0
- package/admin/EnableTenant/EnableTenantUseCase.d.ts +10 -0
- package/admin/EnableTenant/EnableTenantUseCase.js +15 -0
- package/admin/EnableTenant/EnableTenantUseCase.js.map +1 -0
- package/admin/EnableTenant/abstractions.d.ts +21 -0
- package/admin/EnableTenant/abstractions.js +15 -0
- package/admin/EnableTenant/abstractions.js.map +1 -0
- package/admin/EnableTenant/feature.d.ts +3 -0
- package/admin/EnableTenant/feature.js +20 -0
- package/admin/EnableTenant/feature.js.map +1 -0
- package/admin/EnableTenant/index.d.ts +2 -0
- package/admin/EnableTenant/index.js +4 -0
- package/admin/EnableTenant/index.js.map +1 -0
- package/admin/EnableTenant/useEnableTenant.d.ts +4 -0
- package/admin/EnableTenant/useEnableTenant.js +23 -0
- package/admin/EnableTenant/useEnableTenant.js.map +1 -0
- package/admin/Extension.d.ts +2 -0
- package/admin/Extension.js +47 -0
- package/admin/Extension.js.map +1 -0
- package/admin/IsRootTenant.d.ts +13 -0
- package/admin/IsRootTenant.js +37 -0
- package/admin/IsRootTenant.js.map +1 -0
- package/admin/SecurityPermission.d.ts +2 -0
- package/admin/SecurityPermission.js +20 -0
- package/admin/SecurityPermission.js.map +1 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.d.ts +8 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js +42 -0
- package/admin/TenantEntryList/DisableTenant/useDisableTenantDialog.js.map +1 -0
- package/admin/TenantEntryList/EnableTenant/EnableTenant.d.ts +7 -0
- package/admin/TenantEntryList/EnableTenant/EnableTenant.js +19 -0
- package/admin/TenantEntryList/EnableTenant/EnableTenant.js.map +1 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.d.ts +5 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js +39 -0
- package/admin/TenantEntryList/EnableTenant/useEnableTenant.js.map +1 -0
- package/admin/TenantEntryList/FolderNameCell.d.ts +7 -0
- package/admin/TenantEntryList/FolderNameCell.js +29 -0
- package/admin/TenantEntryList/FolderNameCell.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.d.ts +7 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js +19 -0
- package/admin/TenantEntryList/InstallTenantButton/InstallTenant.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.d.ts +16 -0
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js +17 -0
- package/admin/TenantEntryList/InstallTenantButton/installTenant.gql.js.map +1 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.d.ts +5 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js +46 -0
- package/admin/TenantEntryList/InstallTenantButton/useInstallTenant.js.map +1 -0
- package/admin/TenantEntryList/ManageTenant.d.ts +7 -0
- package/admin/TenantEntryList/ManageTenant.js +21 -0
- package/admin/TenantEntryList/ManageTenant.js.map +1 -0
- package/admin/TenantEntryList/TenantCell.d.ts +2 -0
- package/admin/TenantEntryList/TenantCell.js +39 -0
- package/admin/TenantEntryList/TenantCell.js.map +1 -0
- package/admin/TenantEntryList/TenantNameCell.d.ts +2 -0
- package/admin/TenantEntryList/TenantNameCell.js +54 -0
- package/admin/TenantEntryList/TenantNameCell.js.map +1 -0
- package/admin/TenantEntryList.d.ts +2 -0
- package/admin/TenantEntryList.js +71 -0
- package/admin/TenantEntryList.js.map +1 -0
- package/admin/TenantSelector.d.ts +2 -0
- package/admin/TenantSelector.js +39 -0
- package/admin/TenantSelector.js.map +1 -0
- package/admin/types.d.ts +7 -0
- package/admin/types.js +3 -0
- package/admin/types.js.map +1 -0
- package/api/Extension.d.ts +1 -0
- package/api/Extension.js +42 -0
- package/api/Extension.js.map +1 -0
- package/api/domain/TenantId.d.ts +3 -0
- package/api/domain/TenantId.js +12 -0
- package/api/domain/TenantId.js.map +1 -0
- package/api/domain/TenantModel.d.ts +11 -0
- package/api/domain/TenantModel.js +46 -0
- package/api/domain/TenantModel.js.map +1 -0
- package/api/domain/TenantModelExtension.d.ts +10 -0
- package/api/domain/TenantModelExtension.js +4 -0
- package/api/domain/TenantModelExtension.js.map +1 -0
- package/api/domain/errors.d.ts +33 -0
- package/api/domain/errors.js +63 -0
- package/api/domain/errors.js.map +1 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.d.ts +8 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js +34 -0
- package/api/features/AddCmsPermissions/AddCmsPermissions.js.map +1 -0
- package/api/features/AddCmsPermissions/feature.d.ts +1 -0
- package/api/features/AddCmsPermissions/feature.js +10 -0
- package/api/features/AddCmsPermissions/feature.js.map +1 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.d.ts +24 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js +99 -0
- package/api/features/CreateAndInstallTenant/CreateAndInstallTenantUseCase.js.map +1 -0
- package/api/features/CreateAndInstallTenant/abstractions.d.ts +26 -0
- package/api/features/CreateAndInstallTenant/abstractions.js +9 -0
- package/api/features/CreateAndInstallTenant/abstractions.js.map +1 -0
- package/api/features/CreateAndInstallTenant/feature.d.ts +1 -0
- package/api/features/CreateAndInstallTenant/feature.js +11 -0
- package/api/features/CreateAndInstallTenant/feature.js.map +1 -0
- package/api/features/CreateTenant/CreateTenantRepository.d.ts +15 -0
- package/api/features/CreateTenant/CreateTenantRepository.js +48 -0
- package/api/features/CreateTenant/CreateTenantRepository.js.map +1 -0
- package/api/features/CreateTenant/CreateTenantUseCase.d.ts +14 -0
- package/api/features/CreateTenant/CreateTenantUseCase.js +43 -0
- package/api/features/CreateTenant/CreateTenantUseCase.js.map +1 -0
- package/api/features/CreateTenant/abstractions.d.ts +41 -0
- package/api/features/CreateTenant/abstractions.js +11 -0
- package/api/features/CreateTenant/abstractions.js.map +1 -0
- package/api/features/CreateTenant/feature.d.ts +1 -0
- package/api/features/CreateTenant/feature.js +15 -0
- package/api/features/CreateTenant/feature.js.map +1 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.d.ts +11 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js +37 -0
- package/api/features/DeleteTenantOnEntryDelete/DeleteTenantOnEntryDeleteHandler.js.map +1 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.d.ts +1 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.js +11 -0
- package/api/features/DeleteTenantOnEntryDelete/feature.js.map +1 -0
- package/api/features/DisableTenant/DisableTenantUseCase.d.ts +20 -0
- package/api/features/DisableTenant/DisableTenantUseCase.js +65 -0
- package/api/features/DisableTenant/DisableTenantUseCase.js.map +1 -0
- package/api/features/DisableTenant/abstractions.d.ts +19 -0
- package/api/features/DisableTenant/abstractions.js +4 -0
- package/api/features/DisableTenant/abstractions.js.map +1 -0
- package/api/features/DisableTenant/events.d.ts +27 -0
- package/api/features/DisableTenant/events.js +18 -0
- package/api/features/DisableTenant/events.js.map +1 -0
- package/api/features/DisableTenant/feature.d.ts +1 -0
- package/api/features/DisableTenant/feature.js +11 -0
- package/api/features/DisableTenant/feature.js.map +1 -0
- package/api/features/EnableTenant/EnableTenantUseCase.d.ts +20 -0
- package/api/features/EnableTenant/EnableTenantUseCase.js +67 -0
- package/api/features/EnableTenant/EnableTenantUseCase.js.map +1 -0
- package/api/features/EnableTenant/abstractions.d.ts +19 -0
- package/api/features/EnableTenant/abstractions.js +4 -0
- package/api/features/EnableTenant/abstractions.js.map +1 -0
- package/api/features/EnableTenant/events.d.ts +27 -0
- package/api/features/EnableTenant/events.js +18 -0
- package/api/features/EnableTenant/events.js.map +1 -0
- package/api/features/EnableTenant/feature.d.ts +1 -0
- package/api/features/EnableTenant/feature.js +11 -0
- package/api/features/EnableTenant/feature.js.map +1 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.d.ts +17 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js +35 -0
- package/api/features/GetCurrentTenant/GetCurrentTenantUseCase.js.map +1 -0
- package/api/features/GetCurrentTenant/abstractions.d.ts +24 -0
- package/api/features/GetCurrentTenant/abstractions.js +10 -0
- package/api/features/GetCurrentTenant/abstractions.js.map +1 -0
- package/api/features/GetCurrentTenant/feature.d.ts +1 -0
- package/api/features/GetCurrentTenant/feature.js +11 -0
- package/api/features/GetCurrentTenant/feature.js.map +1 -0
- package/api/features/GetTenantById/GetTenantByIdRepository.d.ts +17 -0
- package/api/features/GetTenantById/GetTenantByIdRepository.js +49 -0
- package/api/features/GetTenantById/GetTenantByIdRepository.js.map +1 -0
- package/api/features/GetTenantById/GetTenantByIdUseCase.d.ts +12 -0
- package/api/features/GetTenantById/GetTenantByIdUseCase.js +27 -0
- package/api/features/GetTenantById/GetTenantByIdUseCase.js.map +1 -0
- package/api/features/GetTenantById/abstractions.d.ts +38 -0
- package/api/features/GetTenantById/abstractions.js +15 -0
- package/api/features/GetTenantById/abstractions.js.map +1 -0
- package/api/features/GetTenantById/feature.d.ts +1 -0
- package/api/features/GetTenantById/feature.js +15 -0
- package/api/features/GetTenantById/feature.js.map +1 -0
- package/api/features/UpdateTenant/UpdateTenantRepository.d.ts +17 -0
- package/api/features/UpdateTenant/UpdateTenantRepository.js +58 -0
- package/api/features/UpdateTenant/UpdateTenantRepository.js.map +1 -0
- package/api/features/UpdateTenant/UpdateTenantUseCase.d.ts +12 -0
- package/api/features/UpdateTenant/UpdateTenantUseCase.js +21 -0
- package/api/features/UpdateTenant/UpdateTenantUseCase.js.map +1 -0
- package/api/features/UpdateTenant/abstractions.d.ts +39 -0
- package/api/features/UpdateTenant/abstractions.js +15 -0
- package/api/features/UpdateTenant/abstractions.js.map +1 -0
- package/api/features/UpdateTenant/feature.d.ts +1 -0
- package/api/features/UpdateTenant/feature.js +15 -0
- package/api/features/UpdateTenant/feature.js.map +1 -0
- package/api/graphql/CreateTenantSchema.d.ts +14 -0
- package/api/graphql/CreateTenantSchema.js +77 -0
- package/api/graphql/CreateTenantSchema.js.map +1 -0
- package/api/graphql/DisableTenantSchema.d.ts +8 -0
- package/api/graphql/DisableTenantSchema.js +35 -0
- package/api/graphql/DisableTenantSchema.js.map +1 -0
- package/api/graphql/EnableTenantSchema.d.ts +8 -0
- package/api/graphql/EnableTenantSchema.js +35 -0
- package/api/graphql/EnableTenantSchema.js.map +1 -0
- package/api/graphql/GetCurrentTenantSchema.d.ts +8 -0
- package/api/graphql/GetCurrentTenantSchema.js +53 -0
- package/api/graphql/GetCurrentTenantSchema.js.map +1 -0
- package/api/graphql/InstallTenantSchema.d.ts +8 -0
- package/api/graphql/InstallTenantSchema.js +50 -0
- package/api/graphql/InstallTenantSchema.js.map +1 -0
- package/exports/admin/tenancy.d.ts +7 -0
- package/exports/admin/tenancy.js +8 -0
- package/exports/admin/tenancy.js.map +1 -0
- package/exports/api/tenant-manager.d.ts +2 -0
- package/exports/api/tenant-manager.js +3 -0
- package/exports/api/tenant-manager.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/package.json +44 -0
- package/shared/Tenant.d.ts +21 -0
- package/shared/Tenant.js +26 -0
- package/shared/Tenant.js.map +1 -0
- package/shared/constants.d.ts +1 -0
- package/shared/constants.js +3 -0
- 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":"AAAA,SAASA,oBAAoB,QAAQ,iDAAiD;AACtF,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,gBAAgB,QAAQ,iDAAiD;AAClF,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B,QAAQ,yEAAyE;AACtH,SAASC,iBAAiB,QAAQ,mDAAmD;AACrF,SAASC,eAAe;AAExB,MAAMC,kBAAkB,CAA2C;EAC/DC,WAAWA,CACCC,gBAA4C,EAC5CC,iBAA8C,EACxD;IAAA,KAFUD,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,iBAA8C,GAA9CA,iBAA8C;EACvD;EAEH,MAAMC,OAAOA,CACTC,OAA2C,EACA;IAC3C,MAAMC,iBAAiB,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IAEzDF,OAAO,CAACG,WAAW,CAAC,aAAc;AAC1C,cAAcF,iBAAiB,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA,kBAAkBN,iBAAiB,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACG,MAAM,CAAC,CAACD,IAAI,CAAC,IAAI,CAAC;AACjE;AACA,SAAS,CAAC;IAEFP,OAAO,CAACG,WAAW,CAAC,aAAc;AAC1C;AACA;AACA;AACA,SAAS,CAAC;IAEFH,OAAO,CAACS,WAAW,CAAuC;MACtDC,IAAI,EAAE,oCAAoC;MAC1CC,YAAY,EAAE,CAACpB,mBAAmB,CAAC;MACnCqB,QAAQ,EAAGC,YAA2C,IAAK;QACvD,OAAO,OAAO;UAAEC;QAAK,CAAC,KAAK;UACvB,MAAMC,MAAM,GAAG,MAAMF,YAAY,CAACd,OAAO,CAACe,IAAI,CAACE,KAAK,CAAC;UAErD,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;YACjB,OAAO,IAAI7B,aAAa,CAAC2B,MAAM,CAACG,KAAK,CAAC;UAC1C;UAEA,OAAO,IAAI/B,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC;MACL;IACJ,CAAC,CAAC;IAEF,OAAOa,OAAO;EAClB;EAEA,MAAcE,kBAAkBA,CAAA,EAAG;IAC/B,MAAMiB,gBAAgB,GAAG3B,4BAA4B,CAAC,IAAI,CAACK,gBAAgB,CAAC;IAE5E,MAAMuB,YAAY,GAAG,MAAM,IAAI,CAACtB,iBAAiB,CAACC,OAAO,CAAC;MACtDsB,cAAc,EAAE,IAAI;MACpBC,cAAc,EAAE;IACpB,CAAC,CAAC;IAEF,IAAIF,YAAY,CAACH,MAAM,CAAC,CAAC,EAAE;MACvB,OAAO,CACH;QACIX,QAAQ,EAAE,EAAE;QACZE,MAAM,EAAE;MACZ,CAAC,CACJ;IACL;IAEA,MAAMe,MAAM,GAAGH,YAAY,CAACI,KAAK;IACjC,MAAMC,KAAK,GAAGF,MAAM,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAKlC,eAAe,CAAE;IAE9D,MAAMO,iBAAiB,GAAGX,iBAAiB,CAAC;MACxCiC,MAAM;MACNE,KAAK;MACLjB,MAAM,EAAEiB,KAAK,CAACjB,MAAM,CAACqB,MAAM,CAACxB,CAAC,IAAIA,CAAC,CAACyB,OAAO,KAAK,YAAY,CAAC;MAC5DX;IACJ,CAAC,CAAC;IAEF,OAAOlB,iBAAiB;EAC5B;AACJ;AAEA,eAAef,oBAAoB,CAAC6C,oBAAoB,CAAC;EACrDC,cAAc,EAAErC,kBAAkB;EAClCgB,YAAY,EAAE,CAACtB,gBAAgB,EAAEI,iBAAiB;AACtD,CAAC,CAAC","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 @@
|
|
|
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
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
|
+
}
|
package/shared/Tenant.js
ADDED
|
@@ -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 @@
|
|
|
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":[]}
|