identity-admin 1.25.11 → 1.25.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +126 -126
  2. package/lib/Dashboard.d.ts +14 -14
  3. package/lib/Dashboard.js +95 -95
  4. package/lib/container/helpers/HelperInversify.d.ts +6 -6
  5. package/lib/container/helpers/HelperInversify.js +10 -10
  6. package/lib/container/helpers/HelperTypes.d.ts +5 -5
  7. package/lib/container/helpers/HelperTypes.js +7 -7
  8. package/lib/container/index.d.ts +1 -1
  9. package/lib/container/index.js +14 -14
  10. package/lib/container/repositories/RepositoryInversify.d.ts +4 -4
  11. package/lib/container/repositories/RepositoryInversify.js +13 -13
  12. package/lib/container/repositories/RepositoryTypes.d.ts +4 -4
  13. package/lib/container/repositories/RepositoryTypes.js +6 -6
  14. package/lib/container/types.d.ts +8 -8
  15. package/lib/container/types.js +9 -9
  16. package/lib/controllers/ActionController.d.ts +8 -8
  17. package/lib/controllers/ActionController.js +79 -79
  18. package/lib/controllers/DashboardController.d.ts +41 -41
  19. package/lib/controllers/DashboardController.js +589 -589
  20. package/lib/controllers/ResourceController.d.ts +15 -13
  21. package/lib/controllers/ResourceController.js +132 -124
  22. package/lib/helpers/ActionsGenerator.d.ts +11 -11
  23. package/lib/helpers/ActionsGenerator.js +175 -175
  24. package/lib/helpers/FiltersHelper.d.ts +9 -9
  25. package/lib/helpers/FiltersHelper.js +105 -105
  26. package/lib/helpers/LocalesHelper.d.ts +4 -4
  27. package/lib/helpers/LocalesHelper.js +73 -73
  28. package/lib/helpers/LocalizedStringHelper.d.ts +9 -9
  29. package/lib/helpers/LocalizedStringHelper.js +57 -57
  30. package/lib/helpers/Permissions/PermissionFetcher.d.ts +7 -0
  31. package/lib/helpers/Permissions/PermissionFetcher.js +78 -0
  32. package/lib/helpers/Permissions/PermissionLabel.d.ts +2 -0
  33. package/lib/helpers/Permissions/PermissionLabel.js +42 -0
  34. package/lib/helpers/Permissions/PermissionMapper.d.ts +13 -0
  35. package/lib/helpers/Permissions/PermissionMapper.js +35 -0
  36. package/lib/helpers/Permissions/PermissionResource.d.ts +5 -0
  37. package/lib/helpers/Permissions/PermissionResource.js +31 -0
  38. package/lib/helpers/Permissions/PermissionSavingService.d.ts +13 -0
  39. package/lib/helpers/Permissions/PermissionSavingService.js +32 -0
  40. package/lib/helpers/Permissions/SavePermissionGroup.d.ts +6 -0
  41. package/lib/helpers/Permissions/SavePermissionGroup.js +32 -0
  42. package/lib/helpers/Permissions/UpdatePermissionGroup.d.ts +6 -0
  43. package/lib/helpers/Permissions/UpdatePermissionGroup.js +50 -0
  44. package/lib/helpers/Permissions/types.d.ts +17 -0
  45. package/lib/helpers/Permissions/types.js +2 -0
  46. package/lib/helpers/PopulationHelper.d.ts +12 -12
  47. package/lib/helpers/PopulationHelper.js +50 -50
  48. package/lib/helpers/ResourceGenerator.d.ts +9 -7
  49. package/lib/helpers/ResourceGenerator.js +172 -171
  50. package/lib/helpers/ResourceHelper.d.ts +28 -28
  51. package/lib/helpers/ResourceHelper.js +376 -376
  52. package/lib/helpers/SchemaGenerator.d.ts +5 -5
  53. package/lib/helpers/SchemaGenerator.js +96 -96
  54. package/lib/helpers/SchemaHelper.d.ts +5 -5
  55. package/lib/helpers/SchemaHelper.js +21 -21
  56. package/lib/locales/en.json +53 -53
  57. package/lib/middlewares/isAuth.d.ts +13 -13
  58. package/lib/middlewares/isAuth.js +43 -43
  59. package/lib/models/ModelNames.d.ts +7 -4
  60. package/lib/models/ModelNames.js +10 -7
  61. package/lib/models/adminpermission/AdminPermission.d.ts +6 -0
  62. package/lib/models/adminpermission/AdminPermission.js +23 -0
  63. package/lib/models/adminpermission/IAdminPermission.d.ts +13 -0
  64. package/lib/models/adminpermission/IAdminPermission.js +2 -0
  65. package/lib/models/customPage/CustomPage.d.ts +2 -2
  66. package/lib/models/customPage/CustomPage.js +38 -38
  67. package/lib/models/customPage/ICustomPage.d.ts +17 -17
  68. package/lib/models/customPage/ICustomPage.js +2 -2
  69. package/lib/models/file/File.d.ts +2 -2
  70. package/lib/models/file/File.js +23 -23
  71. package/lib/models/file/IFile.d.ts +15 -15
  72. package/lib/models/file/IFile.js +2 -2
  73. package/lib/models/location/ILocation.d.ts +14 -14
  74. package/lib/models/location/ILocation.js +2 -2
  75. package/lib/models/location/Location.d.ts +2 -2
  76. package/lib/models/location/Location.js +21 -21
  77. package/lib/models/modelConfiguration/IModelConfigurations.d.ts +29 -29
  78. package/lib/models/modelConfiguration/IModelConfigurations.js +2 -2
  79. package/lib/models/modelConfiguration/ModelConfiguration.d.ts +13 -13
  80. package/lib/models/modelConfiguration/ModelConfiguration.js +95 -95
  81. package/lib/models/permission/IPermission.d.ts +14 -0
  82. package/lib/models/permission/IPermission.js +2 -0
  83. package/lib/models/permission/Permission.d.ts +2 -0
  84. package/lib/models/permission/Permission.js +21 -0
  85. package/lib/models/request-log/IRequestLog.d.ts +22 -22
  86. package/lib/models/request-log/IRequestLog.js +2 -2
  87. package/lib/models/request-log/RequestLog.d.ts +3 -3
  88. package/lib/models/request-log/RequestLog.js +51 -51
  89. package/lib/repositories/DashboardRepository.d.ts +5 -5
  90. package/lib/repositories/DashboardRepository.js +12 -12
  91. package/lib/repositories/Repository.d.ts +68 -68
  92. package/lib/repositories/Repository.js +212 -212
  93. package/lib/repositories/RequestLogRepository.d.ts +10 -10
  94. package/lib/repositories/RequestLogRepository.js +54 -54
  95. package/lib/repositories/SaveResult.d.ts +14 -14
  96. package/lib/repositories/SaveResult.js +18 -18
  97. package/lib/router/index.d.ts +8 -8
  98. package/lib/router/index.js +104 -104
  99. package/lib/types/DashbordConfig.d.ts +21 -21
  100. package/lib/types/DashbordConfig.js +2 -2
  101. package/lib/types/IConfigurationFile.d.ts +6 -6
  102. package/lib/types/IConfigurationFile.js +2 -2
  103. package/lib/types/IResourceFile.d.ts +566 -566
  104. package/lib/types/IResourceFile.js +2 -2
  105. package/lib/types/IResourceResponse.d.ts +95 -95
  106. package/lib/types/IResourceResponse.js +2 -2
  107. package/lib/types/helpers.d.ts +60 -60
  108. package/lib/types/helpers.js +70 -70
  109. package/lib/utils/ResourceUtils.d.ts +2 -2
  110. package/lib/utils/ResourceUtils.js +7 -7
  111. package/lib/utils/ResponseUtils.d.ts +11 -11
  112. package/lib/utils/ResponseUtils.js +41 -41
  113. package/lib/utils/StringUtils.d.ts +9 -9
  114. package/lib/utils/StringUtils.js +46 -46
  115. package/lib/view/asset-manifest.json +18 -18
  116. package/lib/view/assets/icons/delete_icon.svg +3 -3
  117. package/lib/view/assets/icons/flags/ic_flag_cn.svg +9 -9
  118. package/lib/view/assets/icons/flags/ic_flag_sa.svg +9 -9
  119. package/lib/view/assets/icons/flags/ic_flag_vn.svg +9 -9
  120. package/lib/view/assets/icons/info_icon.svg +3 -3
  121. package/lib/view/assets/icons/navbar/ic_banking.svg +5 -5
  122. package/lib/view/assets/icons/navbar/ic_invoice.svg +4 -4
  123. package/lib/view/assets/icons/navbar/ic_kanban.svg +7 -7
  124. package/lib/view/assets/icons/navbar/ic_menu_item.svg +8 -8
  125. package/lib/view/assets/icons/small_info_icon.svg +3 -3
  126. package/lib/view/assets/illustrations/Group 16.svg +4 -4
  127. package/lib/view/assets/illustrations/logo.svg +5 -5
  128. package/lib/view/favicon/browserconfig.xml +9 -9
  129. package/lib/view/favicon/safari-pinned-tab.svg +182 -182
  130. package/lib/view/favicon/site.webmanifest +19 -19
  131. package/lib/view/fonts/index.css +18 -18
  132. package/lib/view/index.html +52 -52
  133. package/lib/view/manifest.json +20 -20
  134. package/lib/view/robots.txt +3 -3
  135. package/lib/view/static/css/main.54de06ef.css +1 -1
  136. package/lib/view/static/js/574.778b5963.chunk.js +1 -1
  137. package/lib/view/static/js/678.521704a3.chunk.js +1 -1
  138. package/lib/view/static/js/798.54856416.chunk.js +1 -1
  139. package/lib/view/static/js/main.4687f255.js +2 -2
  140. package/lib/view/static/js/main.4687f255.js.LICENSE.txt +214 -214
  141. package/package.json +51 -51
@@ -1,73 +1,73 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- // import { AdminParent, SetupParent } from "@pbb/materialUi/parents";
7
- const StringUtils_1 = __importDefault(require("../utils/StringUtils"));
8
- const ResourceHelper_1 = __importDefault(require("./ResourceHelper"));
9
- var pluralize = require('pluralize');
10
- class LocalesHelper {
11
- static localizeResource(resource) {
12
- var _a, _b, _c, _d, _e;
13
- const modelName = resource.resource.modelName;
14
- const modifiedResource = JSON.parse(JSON.stringify(resource));
15
- const title = ResourceHelper_1.default.getSchemaTitle(modelName, resource);
16
- const schema = resource.resource.schema.paths;
17
- const recordFields = ResourceHelper_1.default.manageFields(schema, title, resource.properties.hiddenProperties);
18
- const modelCheck = resource.properties.model ? JSON.parse(JSON.stringify(resource.properties.model)) : undefined;
19
- const actionsCheck = resource.properties.actions;
20
- const modelAndPopulatedString = ResourceHelper_1.default.setModelSchema(schema, modelCheck, modelName);
21
- modifiedResource.properties.model = modelAndPopulatedString[0];
22
- modifiedResource.properties.populatedString = modelAndPopulatedString[1];
23
- const modifiedProperties = ResourceHelper_1.default.addVirtualFields(JSON.parse(JSON.stringify(recordFields)), modelCheck);
24
- modifiedResource.properties.path = ResourceHelper_1.default.getModelPath(modelName);
25
- const modifiedListProperties = modifiedProperties[0];
26
- const modifiedShowProperties = modifiedProperties[1];
27
- const modifiedFormProperties = modifiedProperties[2];
28
- if (!resource.properties.parent) {
29
- //modifiedResource.properties.parent = SetupParent
30
- }
31
- if (!resource.properties.name) {
32
- modifiedResource.properties.name = StringUtils_1.default.convertCamelCaseToWord(modelName);
33
- }
34
- if (!resource.showProperties) {
35
- modifiedResource.showProperties = modifiedShowProperties;
36
- }
37
- if (!resource.listProperties) {
38
- modifiedResource.listProperties = ResourceHelper_1.default.exchangeFirstFieldWithTitle(JSON.parse(JSON.stringify(modifiedListProperties)), title);
39
- }
40
- if (!resource.formProperties) {
41
- modifiedResource.formProperties = ResourceHelper_1.default.removeUnWantedFieldsFromCreateOrUpdate(JSON.parse(JSON.stringify(modifiedFormProperties)));
42
- }
43
- modifiedResource.properties.title = title;
44
- if (!resource.properties.defaultOrderBy) {
45
- modifiedResource.properties.defaultOrderBy = title;
46
- }
47
- if (!resource.properties.defaultOrder) {
48
- modifiedResource.properties.defaultOrder = 'asc';
49
- }
50
- if (!resource.properties.defaultrowsPerPage) {
51
- modifiedResource.properties.defaultrowsPerPage = 10;
52
- }
53
- modifiedResource.listProperties = ResourceHelper_1.default.prepareProperties(resource.listProperties ? resource.listProperties : modifiedResource.listProperties, modelName, modifiedResource.properties.model);
54
- modifiedResource.showProperties = ResourceHelper_1.default.prepareProperties(resource.showProperties ? resource.showProperties : modifiedResource.showProperties, modelName, modifiedResource.properties.model);
55
- modifiedResource.properties.filters = ResourceHelper_1.default.getFilters(resource.properties.filters ? JSON.parse(JSON.stringify(resource.properties.filters)) : undefined);
56
- if (modifiedResource.properties.filters.scopes.isAccessible) {
57
- const options = (_c = (_b = (_a = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.scopes) === null || _c === void 0 ? void 0 : _c.options;
58
- modifiedResource.properties.filters.scopes.options = ResourceHelper_1.default.setScopeFilterOptions(modelName, options);
59
- }
60
- const actions = ResourceHelper_1.default.getActions(actionsCheck ? JSON.parse(JSON.stringify(resource.properties.actions)) : undefined); //resource.properties.actions? ResourcesHelper.getActions(JSON.parse(JSON.stringify(resource.properties.actions))): ResourcesHelper.getActions(undefined)
61
- for (const key in actions) {
62
- if (key === 'extras') {
63
- actions.extras = actions.extras ? ResourceHelper_1.default.addExtraActions(JSON.parse(JSON.stringify((_e = (_d = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _d === void 0 ? void 0 : _d.actions) === null || _e === void 0 ? void 0 : _e.extras))) : actions.extras;
64
- continue;
65
- }
66
- const translation = ResourceHelper_1.default.checkActionTranslation(modelName, key);
67
- actions[key] = ResourceHelper_1.default.appendActionValues(key, actions[key], translation);
68
- }
69
- modifiedResource.properties.actions = actions;
70
- return modifiedResource;
71
- }
72
- }
73
- exports.default = LocalesHelper;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // import { AdminParent, SetupParent } from "@pbb/materialUi/parents";
7
+ const StringUtils_1 = __importDefault(require("../utils/StringUtils"));
8
+ const ResourceHelper_1 = __importDefault(require("./ResourceHelper"));
9
+ var pluralize = require('pluralize');
10
+ class LocalesHelper {
11
+ static localizeResource(resource) {
12
+ var _a, _b, _c, _d, _e;
13
+ const modelName = resource.resource.modelName;
14
+ const modifiedResource = JSON.parse(JSON.stringify(resource));
15
+ const title = ResourceHelper_1.default.getSchemaTitle(modelName, resource);
16
+ const schema = resource.resource.schema.paths;
17
+ const recordFields = ResourceHelper_1.default.manageFields(schema, title, resource.properties.hiddenProperties);
18
+ const modelCheck = resource.properties.model ? JSON.parse(JSON.stringify(resource.properties.model)) : undefined;
19
+ const actionsCheck = resource.properties.actions;
20
+ const modelAndPopulatedString = ResourceHelper_1.default.setModelSchema(schema, modelCheck, modelName);
21
+ modifiedResource.properties.model = modelAndPopulatedString[0];
22
+ modifiedResource.properties.populatedString = modelAndPopulatedString[1];
23
+ const modifiedProperties = ResourceHelper_1.default.addVirtualFields(JSON.parse(JSON.stringify(recordFields)), modelCheck);
24
+ modifiedResource.properties.path = ResourceHelper_1.default.getModelPath(modelName);
25
+ const modifiedListProperties = modifiedProperties[0];
26
+ const modifiedShowProperties = modifiedProperties[1];
27
+ const modifiedFormProperties = modifiedProperties[2];
28
+ if (!resource.properties.parent) {
29
+ //modifiedResource.properties.parent = SetupParent
30
+ }
31
+ if (!resource.properties.name) {
32
+ modifiedResource.properties.name = StringUtils_1.default.convertCamelCaseToWord(modelName);
33
+ }
34
+ if (!resource.showProperties) {
35
+ modifiedResource.showProperties = modifiedShowProperties;
36
+ }
37
+ if (!resource.listProperties) {
38
+ modifiedResource.listProperties = ResourceHelper_1.default.exchangeFirstFieldWithTitle(JSON.parse(JSON.stringify(modifiedListProperties)), title);
39
+ }
40
+ if (!resource.formProperties) {
41
+ modifiedResource.formProperties = ResourceHelper_1.default.removeUnWantedFieldsFromCreateOrUpdate(JSON.parse(JSON.stringify(modifiedFormProperties)));
42
+ }
43
+ modifiedResource.properties.title = title;
44
+ if (!resource.properties.defaultOrderBy) {
45
+ modifiedResource.properties.defaultOrderBy = title;
46
+ }
47
+ if (!resource.properties.defaultOrder) {
48
+ modifiedResource.properties.defaultOrder = 'asc';
49
+ }
50
+ if (!resource.properties.defaultrowsPerPage) {
51
+ modifiedResource.properties.defaultrowsPerPage = 10;
52
+ }
53
+ modifiedResource.listProperties = ResourceHelper_1.default.prepareProperties(resource.listProperties ? resource.listProperties : modifiedResource.listProperties, modelName, modifiedResource.properties.model);
54
+ modifiedResource.showProperties = ResourceHelper_1.default.prepareProperties(resource.showProperties ? resource.showProperties : modifiedResource.showProperties, modelName, modifiedResource.properties.model);
55
+ modifiedResource.properties.filters = ResourceHelper_1.default.getFilters(resource.properties.filters ? JSON.parse(JSON.stringify(resource.properties.filters)) : undefined);
56
+ if (modifiedResource.properties.filters.scopes.isAccessible) {
57
+ const options = (_c = (_b = (_a = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.scopes) === null || _c === void 0 ? void 0 : _c.options;
58
+ modifiedResource.properties.filters.scopes.options = ResourceHelper_1.default.setScopeFilterOptions(modelName, options);
59
+ }
60
+ const actions = ResourceHelper_1.default.getActions(actionsCheck ? JSON.parse(JSON.stringify(resource.properties.actions)) : undefined); //resource.properties.actions? ResourcesHelper.getActions(JSON.parse(JSON.stringify(resource.properties.actions))): ResourcesHelper.getActions(undefined)
61
+ for (const key in actions) {
62
+ if (key === 'extras') {
63
+ actions.extras = actions.extras ? ResourceHelper_1.default.addExtraActions(JSON.parse(JSON.stringify((_e = (_d = resource === null || resource === void 0 ? void 0 : resource.properties) === null || _d === void 0 ? void 0 : _d.actions) === null || _e === void 0 ? void 0 : _e.extras))) : actions.extras;
64
+ continue;
65
+ }
66
+ const translation = ResourceHelper_1.default.checkActionTranslation(modelName, key);
67
+ actions[key] = ResourceHelper_1.default.appendActionValues(key, actions[key], translation);
68
+ }
69
+ modifiedResource.properties.actions = actions;
70
+ return modifiedResource;
71
+ }
72
+ }
73
+ exports.default = LocalesHelper;
@@ -1,9 +1,9 @@
1
- import { IResourceFile } from "../types/IResourceFile";
2
- export default class LocalizedStringHelper {
3
- static mapLocalizableString(recordParams: any, resource: IResourceFile): any;
4
- private static getArrayOfLanguages;
5
- static checkLocalizedStringType(resource: IResourceFile, fieldName: string): boolean;
6
- static getFilterObject(searchBy: string, index: string, value: any): {
7
- [key: string]: any;
8
- };
9
- }
1
+ import { IResourceFile } from "../types/IResourceFile";
2
+ export default class LocalizedStringHelper {
3
+ static mapLocalizableString(recordParams: any, resource: IResourceFile): any;
4
+ private static getArrayOfLanguages;
5
+ static checkLocalizedStringType(resource: IResourceFile, fieldName: string): boolean;
6
+ static getFilterObject(searchBy: string, index: string, value: any): {
7
+ [key: string]: any;
8
+ };
9
+ }
@@ -1,57 +1,57 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const helpers_1 = require("../types/helpers");
4
- class LocalizedStringHelper {
5
- static mapLocalizableString(recordParams, resource) {
6
- const modelObject = resource.properties.model;
7
- if (!modelObject) {
8
- return recordParams;
9
- }
10
- for (const key in modelObject) {
11
- if (!modelObject.hasOwnProperty(key) || key === 'virtuals') {
12
- continue;
13
- }
14
- const castedModelObject = modelObject;
15
- if (castedModelObject[key].type && castedModelObject[key].type === helpers_1.FieldTypes.LOCALIZEDSTRING && recordParams[key]) {
16
- recordParams[key] = this.getArrayOfLanguages(recordParams[key]);
17
- }
18
- else if (castedModelObject[key].arrayType && castedModelObject[key].arrayType === helpers_1.FieldTypes.LOCALIZEDSTRING && recordParams[key] && recordParams[key].length !== 0) {
19
- for (var j = 0; j < recordParams[key].length; j++) {
20
- recordParams[key][j] = this.getArrayOfLanguages(recordParams[key][j]);
21
- }
22
- }
23
- }
24
- return recordParams;
25
- }
26
- static getArrayOfLanguages(record) {
27
- var localizedArray = [];
28
- for (const language in record) {
29
- if (!record.hasOwnProperty(language)) {
30
- continue;
31
- }
32
- const languageObject = {
33
- key: language,
34
- value: record[language] ? record[language] : undefined
35
- };
36
- localizedArray.push(languageObject);
37
- }
38
- return localizedArray;
39
- }
40
- static checkLocalizedStringType(resource, fieldName) {
41
- const modelObject = resource.properties.model;
42
- if (!modelObject || !modelObject.hasOwnProperty(fieldName)) {
43
- return false;
44
- }
45
- const castedModelObject = modelObject;
46
- if (castedModelObject[fieldName].type && castedModelObject[fieldName].type === helpers_1.FieldTypes.LOCALIZEDSTRING) {
47
- return true;
48
- }
49
- return false;
50
- }
51
- static getFilterObject(searchBy, index, value) {
52
- const filterObject = {};
53
- filterObject[`${searchBy}.${index}.value`] = value;
54
- return filterObject;
55
- }
56
- }
57
- exports.default = LocalizedStringHelper;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helpers_1 = require("../types/helpers");
4
+ class LocalizedStringHelper {
5
+ static mapLocalizableString(recordParams, resource) {
6
+ const modelObject = resource.properties.model;
7
+ if (!modelObject) {
8
+ return recordParams;
9
+ }
10
+ for (const key in modelObject) {
11
+ if (!modelObject.hasOwnProperty(key) || key === 'virtuals') {
12
+ continue;
13
+ }
14
+ const castedModelObject = modelObject;
15
+ if (castedModelObject[key].type && castedModelObject[key].type === helpers_1.FieldTypes.LOCALIZEDSTRING && recordParams[key]) {
16
+ recordParams[key] = this.getArrayOfLanguages(recordParams[key]);
17
+ }
18
+ else if (castedModelObject[key].arrayType && castedModelObject[key].arrayType === helpers_1.FieldTypes.LOCALIZEDSTRING && recordParams[key] && recordParams[key].length !== 0) {
19
+ for (var j = 0; j < recordParams[key].length; j++) {
20
+ recordParams[key][j] = this.getArrayOfLanguages(recordParams[key][j]);
21
+ }
22
+ }
23
+ }
24
+ return recordParams;
25
+ }
26
+ static getArrayOfLanguages(record) {
27
+ var localizedArray = [];
28
+ for (const language in record) {
29
+ if (!record.hasOwnProperty(language)) {
30
+ continue;
31
+ }
32
+ const languageObject = {
33
+ key: language,
34
+ value: record[language] ? record[language] : undefined
35
+ };
36
+ localizedArray.push(languageObject);
37
+ }
38
+ return localizedArray;
39
+ }
40
+ static checkLocalizedStringType(resource, fieldName) {
41
+ const modelObject = resource.properties.model;
42
+ if (!modelObject || !modelObject.hasOwnProperty(fieldName)) {
43
+ return false;
44
+ }
45
+ const castedModelObject = modelObject;
46
+ if (castedModelObject[fieldName].type && castedModelObject[fieldName].type === helpers_1.FieldTypes.LOCALIZEDSTRING) {
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+ static getFilterObject(searchBy, index, value) {
52
+ const filterObject = {};
53
+ filterObject[`${searchBy}.${index}.value`] = value;
54
+ return filterObject;
55
+ }
56
+ }
57
+ exports.default = LocalizedStringHelper;
@@ -0,0 +1,7 @@
1
+ import { Model } from "mongoose";
2
+ export declare class PermissionFetcher {
3
+ private permissionGroupId?;
4
+ private Permission;
5
+ constructor(Permission: Model<any, any>, permissionGroupId?: string);
6
+ fetch(): Promise<import("./types").IPermissions[]>;
7
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PermissionFetcher = void 0;
16
+ const mongoose_1 = __importDefault(require("mongoose"));
17
+ const PermissionMapper_1 = require("./PermissionMapper");
18
+ class PermissionFetcher {
19
+ constructor(Permission, permissionGroupId) {
20
+ this.permissionGroupId = permissionGroupId;
21
+ this.Permission = Permission;
22
+ }
23
+ fetch() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const ObjectId = mongoose_1.default.Types.ObjectId;
26
+ const pipeline = [
27
+ {
28
+ $sort: {
29
+ modelName: 1,
30
+ },
31
+ },
32
+ {
33
+ $group: {
34
+ _id: "$modelName",
35
+ documents: { $push: "$$ROOT" },
36
+ },
37
+ },
38
+ {
39
+ $unwind: "$documents",
40
+ },
41
+ {
42
+ $sort: { order: 1 },
43
+ },
44
+ ];
45
+ if (this.permissionGroupId) {
46
+ pipeline.push({
47
+ $lookup: {
48
+ from: "adminpermissions",
49
+ localField: "documents._id",
50
+ foreignField: "permissionId",
51
+ as: "checkedPermissions",
52
+ pipeline: [
53
+ {
54
+ $match: {
55
+ permissionGroupId: new ObjectId(this.permissionGroupId),
56
+ },
57
+ },
58
+ ],
59
+ },
60
+ });
61
+ }
62
+ pipeline.push({
63
+ $group: {
64
+ _id: "$_id",
65
+ documents: { $push: "$documents" },
66
+ checkedPermissions: { $push: "$checkedPermissions" },
67
+ },
68
+ }, {
69
+ $sort: { _id: 1 },
70
+ });
71
+ const permissions = yield this.Permission.aggregate(pipeline);
72
+ const permissionMapper = new PermissionMapper_1.PermissionMapper(permissions);
73
+ const mappedPermissions = permissionMapper.map();
74
+ return mappedPermissions;
75
+ });
76
+ }
77
+ }
78
+ exports.PermissionFetcher = PermissionFetcher;
@@ -0,0 +1,2 @@
1
+ export declare function getModelLabel(modelName: string): string;
2
+ export declare function getPermissionLabel(permissionKey: string): string;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getPermissionLabel = exports.getModelLabel = void 0;
27
+ const i18n_1 = __importStar(require("i18n"));
28
+ function getModelLabel(modelName) {
29
+ return (0, i18n_1.__)({ phrase: modelName, locale: i18n_1.default.getLocale() });
30
+ }
31
+ exports.getModelLabel = getModelLabel;
32
+ function getPermissionLabel(permissionKey) {
33
+ const translation = (0, i18n_1.__)({ phrase: permissionKey, locale: i18n_1.default.getLocale() });
34
+ if (translation === permissionKey) {
35
+ const actionKey = permissionKey.split("_")[1];
36
+ return (0, i18n_1.__)({ phrase: actionKey, locale: i18n_1.default.getLocale() });
37
+ }
38
+ else {
39
+ return translation;
40
+ }
41
+ }
42
+ exports.getPermissionLabel = getPermissionLabel;
@@ -0,0 +1,13 @@
1
+ import { IPermissions } from "./types";
2
+ import { IPermissionDocument } from "../../models/permission/IPermission";
3
+ interface IPermissionData {
4
+ _id: string;
5
+ documents: IPermissionDocument[];
6
+ checkedPermissions: any;
7
+ }
8
+ export declare class PermissionMapper {
9
+ private data;
10
+ constructor(data: IPermissionData[]);
11
+ map(): IPermissions[];
12
+ }
13
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PermissionMapper = void 0;
4
+ const PermissionLabel_1 = require("./PermissionLabel");
5
+ class PermissionMapper {
6
+ constructor(data) {
7
+ this.data = data;
8
+ }
9
+ map() {
10
+ const mappedData = [];
11
+ for (var i = 0; i < this.data.length; i++) {
12
+ const dataObject = this.data[i];
13
+ const modelName = dataObject._id;
14
+ const documents = dataObject.documents;
15
+ const checkedPermissions = dataObject.checkedPermissions;
16
+ const permissions = [];
17
+ documents.forEach((document, index) => {
18
+ permissions.push({
19
+ modelName,
20
+ id: document._id.toString(),
21
+ label: (0, PermissionLabel_1.getPermissionLabel)(document.name),
22
+ checked: checkedPermissions[index] && checkedPermissions[index].length !== 0 ? true : false,
23
+ key: document.name
24
+ });
25
+ });
26
+ mappedData.push({
27
+ modelName,
28
+ permissions,
29
+ label: (0, PermissionLabel_1.getModelLabel)(modelName),
30
+ });
31
+ }
32
+ return mappedData;
33
+ }
34
+ }
35
+ exports.PermissionMapper = PermissionMapper;
@@ -0,0 +1,5 @@
1
+ import { Model } from "mongoose";
2
+ import { IPermissionData } from "./types";
3
+ export declare class PermissionResource {
4
+ static get(permissionGroupId: string, PermissionModel: Model<any, any>): Promise<IPermissionData>;
5
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PermissionResource = void 0;
13
+ const PermissionFetcher_1 = require("./PermissionFetcher");
14
+ class PermissionResource {
15
+ static get(permissionGroupId, PermissionModel) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const permissionFetcher = new PermissionFetcher_1.PermissionFetcher(PermissionModel, permissionGroupId);
18
+ const permissions = yield permissionFetcher.fetch();
19
+ const mappedPermissions = {};
20
+ permissions.forEach((permission) => {
21
+ mappedPermissions[permission.modelName] = {};
22
+ permission.permissions.forEach((singlePermissionData) => {
23
+ mappedPermissions[permission.modelName][singlePermissionData.key] =
24
+ singlePermissionData.checked;
25
+ });
26
+ });
27
+ return mappedPermissions;
28
+ });
29
+ }
30
+ }
31
+ exports.PermissionResource = PermissionResource;
@@ -0,0 +1,13 @@
1
+ import { Model } from "mongoose";
2
+ export declare class PermissionSavingService {
3
+ private permissionGroupId;
4
+ private permissions;
5
+ private AdminPermission;
6
+ constructor(permissionGroupId: string, permissions: {
7
+ [key: string]: {
8
+ [key: string]: boolean;
9
+ };
10
+ }, AdminPermission: Model<any, any>);
11
+ save(): Promise<void>;
12
+ update(): Promise<void>;
13
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PermissionSavingService = void 0;
13
+ const SavePermissionGroup_1 = require("./SavePermissionGroup");
14
+ const UpdatePermissionGroup_1 = require("./UpdatePermissionGroup");
15
+ class PermissionSavingService {
16
+ constructor(permissionGroupId, permissions, AdminPermission) {
17
+ (this.AdminPermission = AdminPermission),
18
+ (this.permissionGroupId = permissionGroupId),
19
+ (this.permissions = permissions);
20
+ }
21
+ save() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ yield (0, SavePermissionGroup_1.savePermissionGroup)(this.permissionGroupId, this.permissions, this.AdminPermission);
24
+ });
25
+ }
26
+ update() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ yield (0, UpdatePermissionGroup_1.updatePermissionGroup)(this.permissionGroupId, this.permissions, this.AdminPermission);
29
+ });
30
+ }
31
+ }
32
+ exports.PermissionSavingService = PermissionSavingService;
@@ -0,0 +1,6 @@
1
+ import { Model } from "mongoose";
2
+ export declare function savePermissionGroup(permissionGroupId: string, permissions: {
3
+ [key: string]: {
4
+ [key: string]: boolean;
5
+ };
6
+ }, AdminPermission: Model<any, any>): Promise<void>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.savePermissionGroup = void 0;
13
+ function savePermissionGroup(permissionGroupId, permissions, AdminPermission) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ const props = [];
16
+ for (const key in permissions) {
17
+ const data = permissions[key];
18
+ for (const permissionId in data) {
19
+ if (permissionId !== "all" &&
20
+ permissionId !== "opened" &&
21
+ data[permissionId]) {
22
+ props.push({
23
+ permissionGroupId,
24
+ permissionId,
25
+ });
26
+ }
27
+ }
28
+ }
29
+ yield AdminPermission.insertMany(props);
30
+ });
31
+ }
32
+ exports.savePermissionGroup = savePermissionGroup;
@@ -0,0 +1,6 @@
1
+ import { Model } from "mongoose";
2
+ export declare function updatePermissionGroup(permissionGroupId: string, permissions: {
3
+ [key: string]: {
4
+ [key: string]: boolean;
5
+ };
6
+ }, AdminPermission: Model<any, any>): Promise<void>;