identity-admin 1.26.12 → 1.26.13
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/README.md +225 -127
- package/lib/Dashboard.d.ts +14 -14
- package/lib/Dashboard.js +95 -95
- package/lib/container/helpers/HelperInversify.d.ts +6 -6
- package/lib/container/helpers/HelperInversify.js +10 -10
- package/lib/container/helpers/HelperTypes.d.ts +5 -5
- package/lib/container/helpers/HelperTypes.js +7 -7
- package/lib/container/index.d.ts +1 -1
- package/lib/container/index.js +14 -14
- package/lib/container/repositories/RepositoryInversify.d.ts +4 -4
- package/lib/container/repositories/RepositoryInversify.js +13 -13
- package/lib/container/repositories/RepositoryTypes.d.ts +4 -4
- package/lib/container/repositories/RepositoryTypes.js +6 -6
- package/lib/container/types.d.ts +8 -8
- package/lib/container/types.js +9 -9
- package/lib/controllers/ActionController.d.ts +8 -8
- package/lib/controllers/ActionController.js +96 -96
- package/lib/controllers/AdminNotificationController.d.ts +7 -0
- package/lib/controllers/AdminNotificationController.js +56 -0
- package/lib/controllers/DashboardController.d.ts +43 -43
- package/lib/controllers/DashboardController.js +741 -741
- package/lib/controllers/ResourceController.d.ts +15 -15
- package/lib/controllers/ResourceController.js +135 -134
- package/lib/helpers/ActionsGenerator.d.ts +11 -11
- package/lib/helpers/ActionsGenerator.js +179 -179
- package/lib/helpers/AdminNotifications/AdminNotificationCreation.d.ts +48 -0
- package/lib/helpers/AdminNotifications/AdminNotificationCreation.js +66 -0
- package/lib/helpers/FiltersHelper.d.ts +9 -9
- package/lib/helpers/FiltersHelper.js +113 -113
- package/lib/helpers/LocalesHelper.d.ts +4 -4
- package/lib/helpers/LocalesHelper.js +73 -73
- package/lib/helpers/LocalizedStringHelper.d.ts +9 -9
- package/lib/helpers/LocalizedStringHelper.js +57 -57
- package/lib/helpers/Permissions/PermissionFetcher.d.ts +8 -8
- package/lib/helpers/Permissions/PermissionFetcher.js +95 -95
- package/lib/helpers/Permissions/PermissionLabel.d.ts +2 -2
- package/lib/helpers/Permissions/PermissionLabel.js +42 -42
- package/lib/helpers/Permissions/PermissionMapper.d.ts +13 -13
- package/lib/helpers/Permissions/PermissionMapper.js +35 -35
- package/lib/helpers/Permissions/PermissionResource.d.ts +6 -6
- package/lib/helpers/Permissions/PermissionResource.js +62 -62
- package/lib/helpers/Permissions/PermissionSavingService.d.ts +13 -13
- package/lib/helpers/Permissions/PermissionSavingService.js +32 -32
- package/lib/helpers/Permissions/SavePermissionGroup.d.ts +6 -6
- package/lib/helpers/Permissions/SavePermissionGroup.js +32 -32
- package/lib/helpers/Permissions/UpdatePermissionGroup.d.ts +6 -6
- package/lib/helpers/Permissions/UpdatePermissionGroup.js +50 -50
- package/lib/helpers/Permissions/types.d.ts +17 -17
- package/lib/helpers/Permissions/types.js +2 -2
- package/lib/helpers/PopulationHelper.d.ts +12 -12
- package/lib/helpers/PopulationHelper.js +50 -50
- package/lib/helpers/ReportsGenerator.d.ts +11 -11
- package/lib/helpers/ReportsGenerator.js +57 -57
- package/lib/helpers/ResourceGenerator.d.ts +9 -9
- package/lib/helpers/ResourceGenerator.js +172 -172
- package/lib/helpers/ResourceHelper.d.ts +28 -28
- package/lib/helpers/ResourceHelper.js +395 -395
- package/lib/helpers/RportsGenerator.d.ts +10 -10
- package/lib/helpers/RportsGenerator.js +21 -21
- package/lib/helpers/SchemaGenerator.d.ts +5 -5
- package/lib/helpers/SchemaGenerator.js +97 -97
- package/lib/helpers/SchemaHelper.d.ts +5 -5
- package/lib/helpers/SchemaHelper.js +21 -21
- package/lib/helpers/UserActionsLog/UserActionsLogHelper.d.ts +2 -2
- package/lib/helpers/UserActionsLog/UserActionsLogHelper.js +49 -49
- package/lib/locales/en.json +53 -53
- package/lib/middlewares/cache/decorator.d.ts +3 -3
- package/lib/middlewares/cache/decorator.js +60 -60
- package/lib/middlewares/cache/deletionMethods.d.ts +3 -3
- package/lib/middlewares/cache/deletionMethods.js +23 -23
- package/lib/middlewares/isAuth.d.ts +13 -13
- package/lib/middlewares/isAuth.js +43 -43
- package/lib/models/ModelNames.d.ts +9 -8
- package/lib/models/ModelNames.js +12 -11
- package/lib/models/adminNotification/AdminNotification.d.ts +5 -0
- package/lib/models/adminNotification/AdminNotification.js +50 -0
- package/lib/models/adminNotification/IAdminNotification.d.ts +29 -0
- package/lib/models/adminNotification/IAdminNotification.js +15 -0
- package/lib/models/adminpermission/AdminPermission.d.ts +11 -6
- package/lib/models/adminpermission/AdminPermission.js +23 -23
- package/lib/models/adminpermission/IAdminPermission.d.ts +13 -13
- package/lib/models/adminpermission/IAdminPermission.js +2 -2
- package/lib/models/customPage/CustomPage.d.ts +2 -2
- package/lib/models/customPage/CustomPage.js +38 -38
- package/lib/models/customPage/ICustomPage.d.ts +17 -17
- package/lib/models/customPage/ICustomPage.js +2 -2
- package/lib/models/file/File.d.ts +2 -2
- package/lib/models/file/File.js +23 -23
- package/lib/models/file/IFile.d.ts +15 -15
- package/lib/models/file/IFile.js +2 -2
- package/lib/models/location/ILocation.d.ts +14 -14
- package/lib/models/location/ILocation.js +2 -2
- package/lib/models/location/Location.d.ts +2 -2
- package/lib/models/location/Location.js +21 -21
- package/lib/models/modelConfiguration/IModelConfigurations.d.ts +29 -29
- package/lib/models/modelConfiguration/IModelConfigurations.js +2 -2
- package/lib/models/modelConfiguration/ModelConfiguration.d.ts +13 -13
- package/lib/models/modelConfiguration/ModelConfiguration.js +95 -95
- package/lib/models/permission/IPermission.d.ts +14 -14
- package/lib/models/permission/IPermission.js +2 -2
- package/lib/models/permission/Permission.d.ts +2 -2
- package/lib/models/permission/Permission.js +21 -21
- package/lib/models/request-log/IRequestLog.d.ts +22 -22
- package/lib/models/request-log/IRequestLog.js +2 -2
- package/lib/models/request-log/RequestLog.d.ts +3 -3
- package/lib/models/request-log/RequestLog.js +51 -51
- package/lib/models/userActionsLog/IUserActionsLog.d.ts +26 -26
- package/lib/models/userActionsLog/IUserActionsLog.js +11 -11
- package/lib/models/userActionsLog/UserActionsLog.d.ts +3 -3
- package/lib/models/userActionsLog/UserActionsLog.js +41 -41
- package/lib/pdf/ReportTemplate.d.ts +71 -71
- package/lib/pdf/ReportTemplate.js +94 -94
- package/lib/repositories/AdminNotificationRepository.d.ts +7 -0
- package/lib/repositories/AdminNotificationRepository.js +23 -0
- package/lib/repositories/DashboardRepository.d.ts +5 -5
- package/lib/repositories/DashboardRepository.js +12 -12
- package/lib/repositories/Repository.d.ts +68 -68
- package/lib/repositories/Repository.js +212 -212
- package/lib/repositories/RequestLogRepository.d.ts +10 -10
- package/lib/repositories/RequestLogRepository.js +54 -54
- package/lib/repositories/SaveResult.d.ts +14 -14
- package/lib/repositories/SaveResult.js +18 -18
- package/lib/resources/AdminNotificationsResource.d.ts +3 -0
- package/lib/resources/AdminNotificationsResource.js +23 -0
- package/lib/resources/parents.d.ts +4 -0
- package/lib/resources/parents.js +7 -0
- package/lib/router/index.d.ts +8 -8
- package/lib/router/index.js +104 -104
- package/lib/types/DashbordConfig.d.ts +21 -21
- package/lib/types/DashbordConfig.js +2 -2
- package/lib/types/IConfigurationFile.d.ts +10 -9
- package/lib/types/IConfigurationFile.js +2 -2
- package/lib/types/IResourceFile.d.ts +664 -664
- package/lib/types/IResourceFile.js +2 -2
- package/lib/types/IResourceResponse.d.ts +95 -95
- package/lib/types/IResourceResponse.js +2 -2
- package/lib/types/helpers.d.ts +65 -65
- package/lib/types/helpers.js +76 -76
- package/lib/utils/ResourceUtils.d.ts +2 -2
- package/lib/utils/ResourceUtils.js +7 -7
- package/lib/utils/ResponseUtils.d.ts +11 -11
- package/lib/utils/ResponseUtils.js +41 -41
- package/lib/utils/StringUtils.d.ts +9 -9
- package/lib/utils/StringUtils.js +46 -46
- package/lib/view/asset-manifest.json +18 -18
- package/lib/view/assets/icons/delete_icon.svg +3 -3
- package/lib/view/assets/icons/flags/ic_flag_cn.svg +9 -9
- package/lib/view/assets/icons/flags/ic_flag_sa.svg +9 -9
- package/lib/view/assets/icons/flags/ic_flag_vn.svg +9 -9
- package/lib/view/assets/icons/info_icon.svg +3 -3
- package/lib/view/assets/icons/navbar/ic_banking.svg +5 -5
- package/lib/view/assets/icons/navbar/ic_invoice.svg +4 -4
- package/lib/view/assets/icons/navbar/ic_kanban.svg +7 -7
- package/lib/view/assets/icons/navbar/ic_menu_item.svg +8 -8
- package/lib/view/assets/icons/small_info_icon.svg +3 -3
- package/lib/view/assets/illustrations/Group 16.svg +4 -4
- package/lib/view/assets/illustrations/logo.svg +5 -5
- package/lib/view/favicon/browserconfig.xml +9 -9
- package/lib/view/favicon/safari-pinned-tab.svg +182 -182
- package/lib/view/favicon/site.webmanifest +19 -19
- package/lib/view/fonts/index.css +18 -18
- package/lib/view/index.html +52 -52
- package/lib/view/manifest.json +20 -20
- package/lib/view/robots.txt +3 -3
- package/lib/view/static/css/main.54de06ef.css +1 -1
- package/lib/view/static/js/574.778b5963.chunk.js +1 -1
- package/lib/view/static/js/678.521704a3.chunk.js +1 -1
- package/lib/view/static/js/798.54856416.chunk.js +1 -1
- package/lib/view/static/js/main.4687f255.js +2 -2
- package/lib/view/static/js/main.4687f255.js.LICENSE.txt +214 -214
- package/package.json +62 -62
package/lib/container/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// let weapons = new ContainerModule(
|
|
4
|
-
// (
|
|
5
|
-
// bind: interfaces.Bind,
|
|
6
|
-
// unbind: interfaces.Unbind,
|
|
7
|
-
// isBound: interfaces.IsBound,
|
|
8
|
-
// rebind: interfaces.Rebind
|
|
9
|
-
// ) => {
|
|
10
|
-
// bind<Katana>("Katana").to(Katana);
|
|
11
|
-
// bind<Shuriken>("Shuriken").to(Shuriken);
|
|
12
|
-
// }
|
|
13
|
-
// );
|
|
14
|
-
// export default container;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// let weapons = new ContainerModule(
|
|
4
|
+
// (
|
|
5
|
+
// bind: interfaces.Bind,
|
|
6
|
+
// unbind: interfaces.Unbind,
|
|
7
|
+
// isBound: interfaces.IsBound,
|
|
8
|
+
// rebind: interfaces.Rebind
|
|
9
|
+
// ) => {
|
|
10
|
+
// bind<Katana>("Katana").to(Katana);
|
|
11
|
+
// bind<Shuriken>("Shuriken").to(Shuriken);
|
|
12
|
+
// }
|
|
13
|
+
// );
|
|
14
|
+
// export default container;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Container } from 'inversify';
|
|
2
|
-
export default class RepositoryInversify {
|
|
3
|
-
static register(container: Container): void;
|
|
4
|
-
}
|
|
1
|
+
import { Container } from 'inversify';
|
|
2
|
+
export default class RepositoryInversify {
|
|
3
|
+
static register(container: Container): void;
|
|
4
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
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
|
-
const RequestLogRepository_1 = __importDefault(require("../../repositories/RequestLogRepository"));
|
|
7
|
-
const types_1 = __importDefault(require("../types"));
|
|
8
|
-
class RepositoryInversify {
|
|
9
|
-
static register(container) {
|
|
10
|
-
container.bind(types_1.default.IRequestLogRepository).to(RequestLogRepository_1.default);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.default = RepositoryInversify;
|
|
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
|
+
const RequestLogRepository_1 = __importDefault(require("../../repositories/RequestLogRepository"));
|
|
7
|
+
const types_1 = __importDefault(require("../types"));
|
|
8
|
+
class RepositoryInversify {
|
|
9
|
+
static register(container) {
|
|
10
|
+
container.bind(types_1.default.IRequestLogRepository).to(RequestLogRepository_1.default);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = RepositoryInversify;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const RepositoryTypes: {
|
|
2
|
-
IRequestLogRepository: symbol;
|
|
3
|
-
};
|
|
4
|
-
export default RepositoryTypes;
|
|
1
|
+
declare const RepositoryTypes: {
|
|
2
|
+
IRequestLogRepository: symbol;
|
|
3
|
+
};
|
|
4
|
+
export default RepositoryTypes;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const RepositoryTypes = {
|
|
4
|
-
IRequestLogRepository: Symbol.for('IRequestLogRepository')
|
|
5
|
-
};
|
|
6
|
-
exports.default = RepositoryTypes;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const RepositoryTypes = {
|
|
4
|
+
IRequestLogRepository: Symbol.for('IRequestLogRepository')
|
|
5
|
+
};
|
|
6
|
+
exports.default = RepositoryTypes;
|
package/lib/container/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
declare const TYPES: {
|
|
2
|
-
DashboardController: symbol;
|
|
3
|
-
ResourceController: symbol;
|
|
4
|
-
IRequestLogRepository: symbol;
|
|
5
|
-
Resources: symbol;
|
|
6
|
-
RootPath: symbol;
|
|
7
|
-
};
|
|
8
|
-
export default TYPES;
|
|
1
|
+
declare const TYPES: {
|
|
2
|
+
DashboardController: symbol;
|
|
3
|
+
ResourceController: symbol;
|
|
4
|
+
IRequestLogRepository: symbol;
|
|
5
|
+
Resources: symbol;
|
|
6
|
+
RootPath: symbol;
|
|
7
|
+
};
|
|
8
|
+
export default TYPES;
|
package/lib/container/types.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
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
|
-
const HelperTypes_1 = __importDefault(require("./helpers/HelperTypes"));
|
|
7
|
-
const RepositoryTypes_1 = __importDefault(require("./repositories/RepositoryTypes"));
|
|
8
|
-
const TYPES = Object.assign(Object.assign(Object.assign({}, HelperTypes_1.default), RepositoryTypes_1.default), { DashboardController: Symbol.for('dashboardController'), ResourceController: Symbol.for('resourceController') });
|
|
9
|
-
exports.default = TYPES;
|
|
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
|
+
const HelperTypes_1 = __importDefault(require("./helpers/HelperTypes"));
|
|
7
|
+
const RepositoryTypes_1 = __importDefault(require("./repositories/RepositoryTypes"));
|
|
8
|
+
const TYPES = Object.assign(Object.assign(Object.assign({}, HelperTypes_1.default), RepositoryTypes_1.default), { DashboardController: Symbol.for('dashboardController'), ResourceController: Symbol.for('resourceController') });
|
|
9
|
+
exports.default = TYPES;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Response } from 'express';
|
|
2
|
-
import { IRequest } from '../middlewares/isAuth';
|
|
3
|
-
import { IResourceFile } from '../types/IResourceFile';
|
|
4
|
-
export default class ActionController {
|
|
5
|
-
private resources;
|
|
6
|
-
constructor(resources: IResourceFile[]);
|
|
7
|
-
execute(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
8
|
-
}
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { IRequest } from '../middlewares/isAuth';
|
|
3
|
+
import { IResourceFile } from '../types/IResourceFile';
|
|
4
|
+
export default class ActionController {
|
|
5
|
+
private resources;
|
|
6
|
+
constructor(resources: IResourceFile[]);
|
|
7
|
+
execute(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
8
|
+
}
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
9
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
10
|
-
};
|
|
11
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
const inversify_express_utils_1 = require("inversify-express-utils");
|
|
25
|
-
const inversify_1 = require("inversify");
|
|
26
|
-
const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
|
|
27
|
-
const StringUtils_1 = __importDefault(require("../utils/StringUtils"));
|
|
28
|
-
const Repository_1 = __importDefault(require("../repositories/Repository"));
|
|
29
|
-
const ResourceUtils_1 = require("../utils/ResourceUtils");
|
|
30
|
-
const UserActionsLog_1 = __importDefault(require("../models/userActionsLog/UserActionsLog"));
|
|
31
|
-
const PermissionResource_1 = require("../helpers/Permissions/PermissionResource");
|
|
32
|
-
let ActionController = class ActionController {
|
|
33
|
-
constructor(resources) {
|
|
34
|
-
this.resources = resources;
|
|
35
|
-
}
|
|
36
|
-
execute(req, res) {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const record = req.body.record;
|
|
40
|
-
const modelName = req.body.modelName;
|
|
41
|
-
const resource = (0, ResourceUtils_1.getResource)(modelName, this.resources);
|
|
42
|
-
if (!resource) {
|
|
43
|
-
return ResponseUtils_1.default.notFound(res, 'Resource not found', []);
|
|
44
|
-
}
|
|
45
|
-
const repository = new Repository_1.default(resource.properties.resource);
|
|
46
|
-
const actionKey = req.params.actionKey;
|
|
47
|
-
const currentUser = req.user;
|
|
48
|
-
var response = {};
|
|
49
|
-
const data = {
|
|
50
|
-
record,
|
|
51
|
-
currentUser,
|
|
52
|
-
resource: {
|
|
53
|
-
name: modelName,
|
|
54
|
-
path: StringUtils_1.default.lowerCaseFirstLetter(modelName),
|
|
55
|
-
repository
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const extraActions = (_b = (_a = resource.properties.actions) === null || _a === void 0 ? void 0 : _a.extras) !== null && _b !== void 0 ? _b : [];
|
|
59
|
-
const havePermission = yield PermissionResource_1.PermissionResource.havePermission(currentUser.permissionGroupId, actionKey);
|
|
60
|
-
if (!havePermission) {
|
|
61
|
-
return ResponseUtils_1.default.forbidden(res);
|
|
62
|
-
}
|
|
63
|
-
for (var i = 0; i < extraActions.length; i++) {
|
|
64
|
-
const extraAction = extraActions[i];
|
|
65
|
-
if (extraAction.key === actionKey) {
|
|
66
|
-
const oldRecord = yield repository.findById(record._id);
|
|
67
|
-
response = yield extraAction.handler(req, res, data);
|
|
68
|
-
const newRecord = yield repository.findById(record._id);
|
|
69
|
-
const userActionsLog = new UserActionsLog_1.default({
|
|
70
|
-
action: extraAction.name,
|
|
71
|
-
modelName,
|
|
72
|
-
userId: req.user._id,
|
|
73
|
-
dataBefore: JSON.stringify(oldRecord),
|
|
74
|
-
dataAfter: JSON.stringify(newRecord),
|
|
75
|
-
resourceId: record._id,
|
|
76
|
-
});
|
|
77
|
-
yield userActionsLog.save();
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return ResponseUtils_1.default.send(res, 200, 'Ok', {
|
|
82
|
-
response
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
__decorate([
|
|
88
|
-
(0, inversify_express_utils_1.httpPost)('/execute/:actionKey'),
|
|
89
|
-
__param(0, (0, inversify_express_utils_1.request)()),
|
|
90
|
-
__param(1, (0, inversify_express_utils_1.response)())
|
|
91
|
-
], ActionController.prototype, "execute", null);
|
|
92
|
-
ActionController = __decorate([
|
|
93
|
-
(0, inversify_1.injectable)(),
|
|
94
|
-
__param(0, (0, inversify_1.unmanaged)())
|
|
95
|
-
], ActionController);
|
|
96
|
-
exports.default = ActionController;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
9
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
const inversify_express_utils_1 = require("inversify-express-utils");
|
|
25
|
+
const inversify_1 = require("inversify");
|
|
26
|
+
const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
|
|
27
|
+
const StringUtils_1 = __importDefault(require("../utils/StringUtils"));
|
|
28
|
+
const Repository_1 = __importDefault(require("../repositories/Repository"));
|
|
29
|
+
const ResourceUtils_1 = require("../utils/ResourceUtils");
|
|
30
|
+
const UserActionsLog_1 = __importDefault(require("../models/userActionsLog/UserActionsLog"));
|
|
31
|
+
const PermissionResource_1 = require("../helpers/Permissions/PermissionResource");
|
|
32
|
+
let ActionController = class ActionController {
|
|
33
|
+
constructor(resources) {
|
|
34
|
+
this.resources = resources;
|
|
35
|
+
}
|
|
36
|
+
execute(req, res) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const record = req.body.record;
|
|
40
|
+
const modelName = req.body.modelName;
|
|
41
|
+
const resource = (0, ResourceUtils_1.getResource)(modelName, this.resources);
|
|
42
|
+
if (!resource) {
|
|
43
|
+
return ResponseUtils_1.default.notFound(res, 'Resource not found', []);
|
|
44
|
+
}
|
|
45
|
+
const repository = new Repository_1.default(resource.properties.resource);
|
|
46
|
+
const actionKey = req.params.actionKey;
|
|
47
|
+
const currentUser = req.user;
|
|
48
|
+
var response = {};
|
|
49
|
+
const data = {
|
|
50
|
+
record,
|
|
51
|
+
currentUser,
|
|
52
|
+
resource: {
|
|
53
|
+
name: modelName,
|
|
54
|
+
path: StringUtils_1.default.lowerCaseFirstLetter(modelName),
|
|
55
|
+
repository
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const extraActions = (_b = (_a = resource.properties.actions) === null || _a === void 0 ? void 0 : _a.extras) !== null && _b !== void 0 ? _b : [];
|
|
59
|
+
const havePermission = yield PermissionResource_1.PermissionResource.havePermission(currentUser.permissionGroupId, actionKey);
|
|
60
|
+
if (!havePermission) {
|
|
61
|
+
return ResponseUtils_1.default.forbidden(res);
|
|
62
|
+
}
|
|
63
|
+
for (var i = 0; i < extraActions.length; i++) {
|
|
64
|
+
const extraAction = extraActions[i];
|
|
65
|
+
if (extraAction.key === actionKey) {
|
|
66
|
+
const oldRecord = yield repository.findById(record._id);
|
|
67
|
+
response = yield extraAction.handler(req, res, data);
|
|
68
|
+
const newRecord = yield repository.findById(record._id);
|
|
69
|
+
const userActionsLog = new UserActionsLog_1.default({
|
|
70
|
+
action: extraAction.name,
|
|
71
|
+
modelName,
|
|
72
|
+
userId: req.user._id,
|
|
73
|
+
dataBefore: JSON.stringify(oldRecord),
|
|
74
|
+
dataAfter: JSON.stringify(newRecord),
|
|
75
|
+
resourceId: record._id,
|
|
76
|
+
});
|
|
77
|
+
yield userActionsLog.save();
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return ResponseUtils_1.default.send(res, 200, 'Ok', {
|
|
82
|
+
response
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, inversify_express_utils_1.httpPost)('/execute/:actionKey'),
|
|
89
|
+
__param(0, (0, inversify_express_utils_1.request)()),
|
|
90
|
+
__param(1, (0, inversify_express_utils_1.response)())
|
|
91
|
+
], ActionController.prototype, "execute", null);
|
|
92
|
+
ActionController = __decorate([
|
|
93
|
+
(0, inversify_1.injectable)(),
|
|
94
|
+
__param(0, (0, inversify_1.unmanaged)())
|
|
95
|
+
], ActionController);
|
|
96
|
+
exports.default = ActionController;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { IRequest } from '../middlewares/isAuth';
|
|
3
|
+
export default class AdminNotificationController {
|
|
4
|
+
constructor();
|
|
5
|
+
index(req: IRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
6
|
+
update(req: IRequest, res: Response): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
9
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
const inversify_express_utils_1 = require("inversify-express-utils");
|
|
25
|
+
const ResponseUtils_1 = __importDefault(require("../utils/ResponseUtils"));
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
let AdminNotificationController = class AdminNotificationController {
|
|
28
|
+
constructor() { }
|
|
29
|
+
index(req, res) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
// var notifications: IDashboardNotifications[] = await this.dashboardNotificationsService.getNotifications();
|
|
32
|
+
// notifications.sort(compare);
|
|
33
|
+
return ResponseUtils_1.default.send(res, 200, 'OK', []);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
update(req, res) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
//const adminNotifications = await AdminNotification.updateMany({ isRead: false }, { $set: { isRead: true } });
|
|
39
|
+
return ResponseUtils_1.default.ok(res, {});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, inversify_express_utils_1.httpGet)('/'),
|
|
45
|
+
__param(0, (0, inversify_express_utils_1.request)()),
|
|
46
|
+
__param(1, (0, inversify_express_utils_1.response)())
|
|
47
|
+
], AdminNotificationController.prototype, "index", null);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, inversify_express_utils_1.httpPost)('/markAllAsRead'),
|
|
50
|
+
__param(0, (0, inversify_express_utils_1.request)()),
|
|
51
|
+
__param(1, (0, inversify_express_utils_1.response)())
|
|
52
|
+
], AdminNotificationController.prototype, "update", null);
|
|
53
|
+
AdminNotificationController = __decorate([
|
|
54
|
+
(0, inversify_1.injectable)()
|
|
55
|
+
], AdminNotificationController);
|
|
56
|
+
exports.default = AdminNotificationController;
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { Response } from 'express';
|
|
2
|
-
import { Document } from 'mongoose';
|
|
3
|
-
import { IResourceFile } from '../types/IResourceFile';
|
|
4
|
-
import { IDashboardRepository } from '../repositories/Repository';
|
|
5
|
-
import { IRequest } from '../middlewares/isAuth';
|
|
6
|
-
import { IModelConfigurationDocument } from '../models/modelConfiguration/IModelConfigurations';
|
|
7
|
-
export interface PaginateParams {
|
|
8
|
-
page: number;
|
|
9
|
-
perPage: number;
|
|
10
|
-
}
|
|
11
|
-
export default class DashboardController {
|
|
12
|
-
private resource?;
|
|
13
|
-
private repository?;
|
|
14
|
-
private resources?;
|
|
15
|
-
private modelConfigurations?;
|
|
16
|
-
protected static DEFAULT_PAGE: number;
|
|
17
|
-
protected static DEFAULT_PER_PAGE: number;
|
|
18
|
-
constructor(resource?: IResourceFile, repository?: IDashboardRepository);
|
|
19
|
-
constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[]);
|
|
20
|
-
constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[], modelConfigurations?: Map<string, IModelConfigurationDocument>);
|
|
21
|
-
protected validateRequest(req: IRequest, res: Response): boolean;
|
|
22
|
-
protected paginateParams(request: IRequest): PaginateParams;
|
|
23
|
-
protected getSearchableSubStringFilter(resource: IResourceFile, filter: {
|
|
24
|
-
[key: string]: any;
|
|
25
|
-
}, subString: RegExp): {
|
|
26
|
-
[key: string]: any;
|
|
27
|
-
};
|
|
28
|
-
protected getScopeFilter(filter: {
|
|
29
|
-
[key: string]: any;
|
|
30
|
-
}, scope: string): {
|
|
31
|
-
[key: string]: any;
|
|
32
|
-
};
|
|
33
|
-
protected getVisibileExtraActions(currentUser: Document, record: any, resource: IResourceFile, repository: any, modelName: string): Promise<string[] | undefined>;
|
|
34
|
-
private getModelConfiguration;
|
|
35
|
-
index(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
36
|
-
create(req: IRequest, res: Response): Promise<void>;
|
|
37
|
-
update(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
38
|
-
report(req: IRequest, res: Response): Promise<void>;
|
|
39
|
-
show(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
40
|
-
deleteAll(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
41
|
-
delete(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
42
|
-
getNeighbors(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
43
|
-
}
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { Document } from 'mongoose';
|
|
3
|
+
import { IResourceFile } from '../types/IResourceFile';
|
|
4
|
+
import { IDashboardRepository } from '../repositories/Repository';
|
|
5
|
+
import { IRequest } from '../middlewares/isAuth';
|
|
6
|
+
import { IModelConfigurationDocument } from '../models/modelConfiguration/IModelConfigurations';
|
|
7
|
+
export interface PaginateParams {
|
|
8
|
+
page: number;
|
|
9
|
+
perPage: number;
|
|
10
|
+
}
|
|
11
|
+
export default class DashboardController {
|
|
12
|
+
private resource?;
|
|
13
|
+
private repository?;
|
|
14
|
+
private resources?;
|
|
15
|
+
private modelConfigurations?;
|
|
16
|
+
protected static DEFAULT_PAGE: number;
|
|
17
|
+
protected static DEFAULT_PER_PAGE: number;
|
|
18
|
+
constructor(resource?: IResourceFile, repository?: IDashboardRepository);
|
|
19
|
+
constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[]);
|
|
20
|
+
constructor(resource?: IResourceFile, repository?: IDashboardRepository, resources?: IResourceFile[], modelConfigurations?: Map<string, IModelConfigurationDocument>);
|
|
21
|
+
protected validateRequest(req: IRequest, res: Response): boolean;
|
|
22
|
+
protected paginateParams(request: IRequest): PaginateParams;
|
|
23
|
+
protected getSearchableSubStringFilter(resource: IResourceFile, filter: {
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}, subString: RegExp): {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
};
|
|
28
|
+
protected getScopeFilter(filter: {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}, scope: string): {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
33
|
+
protected getVisibileExtraActions(currentUser: Document, record: any, resource: IResourceFile, repository: any, modelName: string): Promise<string[] | undefined>;
|
|
34
|
+
private getModelConfiguration;
|
|
35
|
+
index(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
36
|
+
create(req: IRequest, res: Response): Promise<void>;
|
|
37
|
+
update(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
38
|
+
report(req: IRequest, res: Response): Promise<void>;
|
|
39
|
+
show(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
40
|
+
deleteAll(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
41
|
+
delete(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
42
|
+
getNeighbors(req: IRequest, res: Response): Promise<void | Response<any, Record<string, any>>>;
|
|
43
|
+
}
|