@elsikora/nestjs-crud-config 1.0.0
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 +21 -0
- package/README.md +633 -0
- package/dist/cjs/external/tslib/tslib.es6.js +43 -0
- package/dist/cjs/external/tslib/tslib.es6.js.map +1 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.js +52 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/modules/config/config.module.d.ts +13 -0
- package/dist/cjs/modules/config/config.module.js +230 -0
- package/dist/cjs/modules/config/config.module.js.map +1 -0
- package/dist/cjs/modules/config/config.service.d.ts +50 -0
- package/dist/cjs/modules/config/config.service.js +355 -0
- package/dist/cjs/modules/config/config.service.js.map +1 -0
- package/dist/cjs/modules/config/data/controller.d.ts +10 -0
- package/dist/cjs/modules/config/data/controller.js +76 -0
- package/dist/cjs/modules/config/data/controller.js.map +1 -0
- package/dist/cjs/modules/config/data/entity/entity.d.ts +20 -0
- package/dist/cjs/modules/config/data/entity/entity.js +158 -0
- package/dist/cjs/modules/config/data/entity/entity.js.map +1 -0
- package/dist/cjs/modules/config/data/entity/index.d.ts +1 -0
- package/dist/cjs/modules/config/data/event/before-insert.event.d.ts +20 -0
- package/dist/cjs/modules/config/data/event/before-insert.event.js +23 -0
- package/dist/cjs/modules/config/data/event/before-insert.event.js.map +1 -0
- package/dist/cjs/modules/config/data/event/index.d.ts +1 -0
- package/dist/cjs/modules/config/data/index.d.ts +6 -0
- package/dist/cjs/modules/config/data/interface/index.d.ts +1 -0
- package/dist/cjs/modules/config/data/interface/interface.d.ts +12 -0
- package/dist/cjs/modules/config/data/listener/before-insert.listener.d.ts +19 -0
- package/dist/cjs/modules/config/data/listener/before-insert.listener.js +59 -0
- package/dist/cjs/modules/config/data/listener/before-insert.listener.js.map +1 -0
- package/dist/cjs/modules/config/data/listener/index.d.ts +1 -0
- package/dist/cjs/modules/config/data/subscriber/before-insert.subscriber.d.ts +26 -0
- package/dist/cjs/modules/config/data/subscriber/before-insert.subscriber.js +74 -0
- package/dist/cjs/modules/config/data/subscriber/before-insert.subscriber.js.map +1 -0
- package/dist/cjs/modules/config/data/subscriber/index.d.ts +1 -0
- package/dist/cjs/modules/config/index.d.ts +9 -0
- package/dist/cjs/modules/config/interface/delete-options.interface.d.ts +22 -0
- package/dist/cjs/modules/config/interface/get-list-options.interface.d.ts +22 -0
- package/dist/cjs/modules/config/interface/get-options.interface.d.ts +30 -0
- package/dist/cjs/modules/config/interface/index.d.ts +4 -0
- package/dist/cjs/modules/config/interface/set-options.interface.d.ts +34 -0
- package/dist/cjs/modules/config/section/controller.d.ts +10 -0
- package/dist/cjs/modules/config/section/controller.js +46 -0
- package/dist/cjs/modules/config/section/controller.js.map +1 -0
- package/dist/cjs/modules/config/section/entity/entity.d.ts +14 -0
- package/dist/cjs/modules/config/section/entity/entity.js +96 -0
- package/dist/cjs/modules/config/section/entity/entity.js.map +1 -0
- package/dist/cjs/modules/config/section/entity/index.d.ts +1 -0
- package/dist/cjs/modules/config/section/index.d.ts +2 -0
- package/dist/cjs/modules/config/section/interface/index.d.ts +1 -0
- package/dist/cjs/modules/config/section/interface/interface.d.ts +7 -0
- package/dist/cjs/modules/config/type/index.d.ts +2 -0
- package/dist/cjs/modules/config/type/item.type.d.ts +1 -0
- package/dist/cjs/modules/config/type/type.d.ts +2 -0
- package/dist/cjs/package.json +8 -0
- package/dist/cjs/shared/constant/api-property.constant.d.ts +4 -0
- package/dist/cjs/shared/constant/api-property.constant.js +11 -0
- package/dist/cjs/shared/constant/api-property.constant.js.map +1 -0
- package/dist/cjs/shared/constant/config/data.constant.d.ts +7 -0
- package/dist/cjs/shared/constant/config/data.constant.js +17 -0
- package/dist/cjs/shared/constant/config/data.constant.js.map +1 -0
- package/dist/cjs/shared/constant/config/index.d.ts +2 -0
- package/dist/cjs/shared/constant/config/section.constant.d.ts +5 -0
- package/dist/cjs/shared/constant/config/section.constant.js +13 -0
- package/dist/cjs/shared/constant/config/section.constant.js.map +1 -0
- package/dist/cjs/shared/constant/crypto.constant.d.ts +7 -0
- package/dist/cjs/shared/constant/crypto.constant.js +17 -0
- package/dist/cjs/shared/constant/crypto.constant.js.map +1 -0
- package/dist/cjs/shared/constant/index.d.ts +4 -0
- package/dist/cjs/shared/constant/token.constant.d.ts +8 -0
- package/dist/cjs/shared/constant/token.constant.js +20 -0
- package/dist/cjs/shared/constant/token.constant.js.map +1 -0
- package/dist/cjs/shared/enum/environment.enum.d.ts +16 -0
- package/dist/cjs/shared/enum/environment.enum.js +20 -0
- package/dist/cjs/shared/enum/environment.enum.js.map +1 -0
- package/dist/cjs/shared/enum/index.d.ts +6 -0
- package/dist/cjs/shared/enum/instance-name.enum.d.ts +7 -0
- package/dist/cjs/shared/enum/instance-name.enum.js +11 -0
- package/dist/cjs/shared/enum/instance-name.enum.js.map +1 -0
- package/dist/cjs/shared/enum/service.enum.d.ts +220 -0
- package/dist/cjs/shared/enum/service.enum.js +224 -0
- package/dist/cjs/shared/enum/service.enum.js.map +1 -0
- package/dist/cjs/shared/index.d.ts +5 -0
- package/dist/cjs/shared/interface/config/async-module-properties.interface.d.ts +16 -0
- package/dist/cjs/shared/interface/config/cache-options.interface.d.ts +17 -0
- package/dist/cjs/shared/interface/config/config-data-entity-options.interface.d.ts +25 -0
- package/dist/cjs/shared/interface/config/controller-options.interface.d.ts +28 -0
- package/dist/cjs/shared/interface/config/encryption-options.interface.d.ts +13 -0
- package/dist/cjs/shared/interface/config/entity/data-options.interface.d.ts +25 -0
- package/dist/cjs/shared/interface/config/entity/index.d.ts +3 -0
- package/dist/cjs/shared/interface/config/entity/options.interface.d.ts +18 -0
- package/dist/cjs/shared/interface/config/entity/section-options.interface.d.ts +17 -0
- package/dist/cjs/shared/interface/config/index.d.ts +7 -0
- package/dist/cjs/shared/interface/config/options.interface.d.ts +37 -0
- package/dist/cjs/shared/interface/config/properties-factory.interface.d.ts +11 -0
- package/dist/cjs/shared/interface/index.d.ts +2 -0
- package/dist/cjs/shared/interface/utility/create-dynamic-entity/index.d.ts +2 -0
- package/dist/cjs/shared/interface/utility/create-dynamic-entity/options.interface.d.ts +15 -0
- package/dist/cjs/shared/interface/utility/create-dynamic-entity/relation-options.interface.d.ts +9 -0
- package/dist/cjs/shared/interface/utility/index.d.ts +1 -0
- package/dist/cjs/shared/type/dynamic-entity.type.d.ts +1 -0
- package/dist/cjs/shared/type/index.d.ts +1 -0
- package/dist/cjs/shared/utility/create-dynamic/entity.utility.d.ts +9 -0
- package/dist/cjs/shared/utility/create-dynamic/entity.utility.js +67 -0
- package/dist/cjs/shared/utility/create-dynamic/entity.utility.js.map +1 -0
- package/dist/cjs/shared/utility/create-dynamic/index.d.ts +2 -0
- package/dist/cjs/shared/utility/create-dynamic/service.utility.d.ts +9 -0
- package/dist/cjs/shared/utility/create-dynamic/service.utility.js +34 -0
- package/dist/cjs/shared/utility/create-dynamic/service.utility.js.map +1 -0
- package/dist/cjs/shared/utility/create-dynamic-entity.utility.d.ts +9 -0
- package/dist/cjs/shared/utility/create-dynamic-entity.utility.js +67 -0
- package/dist/cjs/shared/utility/create-dynamic-entity.utility.js.map +1 -0
- package/dist/cjs/shared/utility/crypto.utility.d.ts +27 -0
- package/dist/cjs/shared/utility/crypto.utility.js +72 -0
- package/dist/cjs/shared/utility/crypto.utility.js.map +1 -0
- package/dist/cjs/shared/utility/index.d.ts +3 -0
- package/dist/esm/external/tslib/tslib.es6.js +39 -0
- package/dist/esm/external/tslib/tslib.es6.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/modules/config/config.module.d.ts +13 -0
- package/dist/esm/modules/config/config.module.js +230 -0
- package/dist/esm/modules/config/config.module.js.map +1 -0
- package/dist/esm/modules/config/config.service.d.ts +50 -0
- package/dist/esm/modules/config/config.service.js +355 -0
- package/dist/esm/modules/config/config.service.js.map +1 -0
- package/dist/esm/modules/config/data/controller.d.ts +10 -0
- package/dist/esm/modules/config/data/controller.js +74 -0
- package/dist/esm/modules/config/data/controller.js.map +1 -0
- package/dist/esm/modules/config/data/entity/entity.d.ts +20 -0
- package/dist/esm/modules/config/data/entity/entity.js +156 -0
- package/dist/esm/modules/config/data/entity/entity.js.map +1 -0
- package/dist/esm/modules/config/data/entity/index.d.ts +1 -0
- package/dist/esm/modules/config/data/event/before-insert.event.d.ts +20 -0
- package/dist/esm/modules/config/data/event/before-insert.event.js +21 -0
- package/dist/esm/modules/config/data/event/before-insert.event.js.map +1 -0
- package/dist/esm/modules/config/data/event/index.d.ts +1 -0
- package/dist/esm/modules/config/data/index.d.ts +6 -0
- package/dist/esm/modules/config/data/interface/index.d.ts +1 -0
- package/dist/esm/modules/config/data/interface/interface.d.ts +12 -0
- package/dist/esm/modules/config/data/listener/before-insert.listener.d.ts +19 -0
- package/dist/esm/modules/config/data/listener/before-insert.listener.js +59 -0
- package/dist/esm/modules/config/data/listener/before-insert.listener.js.map +1 -0
- package/dist/esm/modules/config/data/listener/index.d.ts +1 -0
- package/dist/esm/modules/config/data/subscriber/before-insert.subscriber.d.ts +26 -0
- package/dist/esm/modules/config/data/subscriber/before-insert.subscriber.js +74 -0
- package/dist/esm/modules/config/data/subscriber/before-insert.subscriber.js.map +1 -0
- package/dist/esm/modules/config/data/subscriber/index.d.ts +1 -0
- package/dist/esm/modules/config/index.d.ts +9 -0
- package/dist/esm/modules/config/interface/delete-options.interface.d.ts +22 -0
- package/dist/esm/modules/config/interface/get-list-options.interface.d.ts +22 -0
- package/dist/esm/modules/config/interface/get-options.interface.d.ts +30 -0
- package/dist/esm/modules/config/interface/index.d.ts +4 -0
- package/dist/esm/modules/config/interface/set-options.interface.d.ts +34 -0
- package/dist/esm/modules/config/section/controller.d.ts +10 -0
- package/dist/esm/modules/config/section/controller.js +44 -0
- package/dist/esm/modules/config/section/controller.js.map +1 -0
- package/dist/esm/modules/config/section/entity/entity.d.ts +14 -0
- package/dist/esm/modules/config/section/entity/entity.js +94 -0
- package/dist/esm/modules/config/section/entity/entity.js.map +1 -0
- package/dist/esm/modules/config/section/entity/index.d.ts +1 -0
- package/dist/esm/modules/config/section/index.d.ts +2 -0
- package/dist/esm/modules/config/section/interface/index.d.ts +1 -0
- package/dist/esm/modules/config/section/interface/interface.d.ts +7 -0
- package/dist/esm/modules/config/type/index.d.ts +2 -0
- package/dist/esm/modules/config/type/item.type.d.ts +1 -0
- package/dist/esm/modules/config/type/type.d.ts +2 -0
- package/dist/esm/package.json +8 -0
- package/dist/esm/shared/constant/api-property.constant.d.ts +4 -0
- package/dist/esm/shared/constant/api-property.constant.js +9 -0
- package/dist/esm/shared/constant/api-property.constant.js.map +1 -0
- package/dist/esm/shared/constant/config/data.constant.d.ts +7 -0
- package/dist/esm/shared/constant/config/data.constant.js +15 -0
- package/dist/esm/shared/constant/config/data.constant.js.map +1 -0
- package/dist/esm/shared/constant/config/index.d.ts +2 -0
- package/dist/esm/shared/constant/config/section.constant.d.ts +5 -0
- package/dist/esm/shared/constant/config/section.constant.js +11 -0
- package/dist/esm/shared/constant/config/section.constant.js.map +1 -0
- package/dist/esm/shared/constant/crypto.constant.d.ts +7 -0
- package/dist/esm/shared/constant/crypto.constant.js +15 -0
- package/dist/esm/shared/constant/crypto.constant.js.map +1 -0
- package/dist/esm/shared/constant/index.d.ts +4 -0
- package/dist/esm/shared/constant/token.constant.d.ts +8 -0
- package/dist/esm/shared/constant/token.constant.js +18 -0
- package/dist/esm/shared/constant/token.constant.js.map +1 -0
- package/dist/esm/shared/enum/environment.enum.d.ts +16 -0
- package/dist/esm/shared/enum/environment.enum.js +20 -0
- package/dist/esm/shared/enum/environment.enum.js.map +1 -0
- package/dist/esm/shared/enum/index.d.ts +6 -0
- package/dist/esm/shared/enum/instance-name.enum.d.ts +7 -0
- package/dist/esm/shared/enum/instance-name.enum.js +11 -0
- package/dist/esm/shared/enum/instance-name.enum.js.map +1 -0
- package/dist/esm/shared/enum/service.enum.d.ts +220 -0
- package/dist/esm/shared/enum/service.enum.js +224 -0
- package/dist/esm/shared/enum/service.enum.js.map +1 -0
- package/dist/esm/shared/index.d.ts +5 -0
- package/dist/esm/shared/interface/config/async-module-properties.interface.d.ts +16 -0
- package/dist/esm/shared/interface/config/cache-options.interface.d.ts +17 -0
- package/dist/esm/shared/interface/config/config-data-entity-options.interface.d.ts +25 -0
- package/dist/esm/shared/interface/config/controller-options.interface.d.ts +28 -0
- package/dist/esm/shared/interface/config/encryption-options.interface.d.ts +13 -0
- package/dist/esm/shared/interface/config/entity/data-options.interface.d.ts +25 -0
- package/dist/esm/shared/interface/config/entity/index.d.ts +3 -0
- package/dist/esm/shared/interface/config/entity/options.interface.d.ts +18 -0
- package/dist/esm/shared/interface/config/entity/section-options.interface.d.ts +17 -0
- package/dist/esm/shared/interface/config/index.d.ts +7 -0
- package/dist/esm/shared/interface/config/options.interface.d.ts +37 -0
- package/dist/esm/shared/interface/config/properties-factory.interface.d.ts +11 -0
- package/dist/esm/shared/interface/index.d.ts +2 -0
- package/dist/esm/shared/interface/utility/create-dynamic-entity/index.d.ts +2 -0
- package/dist/esm/shared/interface/utility/create-dynamic-entity/options.interface.d.ts +15 -0
- package/dist/esm/shared/interface/utility/create-dynamic-entity/relation-options.interface.d.ts +9 -0
- package/dist/esm/shared/interface/utility/index.d.ts +1 -0
- package/dist/esm/shared/type/dynamic-entity.type.d.ts +1 -0
- package/dist/esm/shared/type/index.d.ts +1 -0
- package/dist/esm/shared/utility/create-dynamic/entity.utility.d.ts +9 -0
- package/dist/esm/shared/utility/create-dynamic/entity.utility.js +65 -0
- package/dist/esm/shared/utility/create-dynamic/entity.utility.js.map +1 -0
- package/dist/esm/shared/utility/create-dynamic/index.d.ts +2 -0
- package/dist/esm/shared/utility/create-dynamic/service.utility.d.ts +9 -0
- package/dist/esm/shared/utility/create-dynamic/service.utility.js +32 -0
- package/dist/esm/shared/utility/create-dynamic/service.utility.js.map +1 -0
- package/dist/esm/shared/utility/create-dynamic-entity.utility.d.ts +9 -0
- package/dist/esm/shared/utility/create-dynamic-entity.utility.js +65 -0
- package/dist/esm/shared/utility/create-dynamic-entity.utility.js.map +1 -0
- package/dist/esm/shared/utility/crypto.utility.d.ts +27 -0
- package/dist/esm/shared/utility/crypto.utility.js +72 -0
- package/dist/esm/shared/utility/crypto.utility.js.map +1 -0
- package/dist/esm/shared/utility/index.d.ts +3 -0
- package/package.json +115 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sources":["../../../../../../../src/modules/config/data/entity/entity.ts"],"sourcesContent":[null],"names":["createDynamicEntityClass","CreateDateColumn","ApiPropertyDescribe","EApiPropertyDateType","EApiPropertyDateIdentifier","EApiPropertyDescribeType","EApiPropertyStringType","API_PROPERTY_CONSTANT","UpdateDateColumn"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createConfigDataEntity } from './entity';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { IConfigData } from '../index';
|
|
2
|
+
import type { EntityManager } from "typeorm/entity-manager/EntityManager";
|
|
3
|
+
/**
|
|
4
|
+
* Event class for ConfigData beforeInsert event
|
|
5
|
+
*/
|
|
6
|
+
export declare class ConfigDataEventBeforeInsert {
|
|
7
|
+
/**
|
|
8
|
+
* Any additional context data for event handlers
|
|
9
|
+
*/
|
|
10
|
+
context?: Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* EntityManager instance from the event
|
|
13
|
+
*/
|
|
14
|
+
eventManager: EntityManager;
|
|
15
|
+
/**
|
|
16
|
+
* The dynamic entity instance
|
|
17
|
+
* Note: This will be a dynamically generated entity at runtime
|
|
18
|
+
*/
|
|
19
|
+
item: IConfigData;
|
|
20
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Event class for ConfigData beforeInsert event
|
|
5
|
+
*/
|
|
6
|
+
class ConfigDataEventBeforeInsert {
|
|
7
|
+
/**
|
|
8
|
+
* Any additional context data for event handlers
|
|
9
|
+
*/
|
|
10
|
+
context;
|
|
11
|
+
/**
|
|
12
|
+
* EntityManager instance from the event
|
|
13
|
+
*/
|
|
14
|
+
eventManager;
|
|
15
|
+
/**
|
|
16
|
+
* The dynamic entity instance
|
|
17
|
+
* Note: This will be a dynamically generated entity at runtime
|
|
18
|
+
*/
|
|
19
|
+
item;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.ConfigDataEventBeforeInsert = ConfigDataEventBeforeInsert;
|
|
23
|
+
//# sourceMappingURL=before-insert.event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"before-insert.event.js","sources":["../../../../../../../src/modules/config/data/event/before-insert.event.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA;;AAEG;MACU,2BAA2B,CAAA;AACvC;;AAEG;AACH,IAAA,OAAO;AAEP;;AAEG;AACH,IAAA,YAAY;AAEZ;;;AAGG;AACH,IAAA,IAAI;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ConfigDataEventBeforeInsert } from './before-insert.event';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { IConfigData } from './interface';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IConfigSection } from '../../section/index';
|
|
2
|
+
export interface IConfigData {
|
|
3
|
+
createdAt: Date;
|
|
4
|
+
description: string;
|
|
5
|
+
environment: string;
|
|
6
|
+
id: string;
|
|
7
|
+
isEncrypted: boolean;
|
|
8
|
+
name: string;
|
|
9
|
+
section: IConfigSection | Partial<IConfigSection>;
|
|
10
|
+
updatedAt: Date;
|
|
11
|
+
value: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ApiServiceBase } from "@elsikora/nestjs-crud-automator";
|
|
2
|
+
import { IConfigData } from '../index';
|
|
3
|
+
import { ConfigDataEventBeforeInsert } from '../event/index';
|
|
4
|
+
/**
|
|
5
|
+
* Event listener for ConfigData beforeInsert events
|
|
6
|
+
*/
|
|
7
|
+
export declare class ConfigDataBeforeInsertListener {
|
|
8
|
+
private readonly service;
|
|
9
|
+
constructor(service: ApiServiceBase<IConfigData>);
|
|
10
|
+
/**
|
|
11
|
+
* Handle configdataevents.beforeInsert event
|
|
12
|
+
* @param {ConfigDataEventBeforeInsert} payload Event payload
|
|
13
|
+
* @returns {Promise<{ error?: unknown; isSuccess: boolean }>} Object indicating success or failure
|
|
14
|
+
*/
|
|
15
|
+
handleBeforeInsert(payload: ConfigDataEventBeforeInsert): Promise<{
|
|
16
|
+
error?: unknown;
|
|
17
|
+
isSuccess: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../../../../external/tslib/tslib.es6.js');
|
|
4
|
+
var nestjsCrudAutomator = require('@elsikora/nestjs-crud-automator');
|
|
5
|
+
var beforeInsert_event = require('../event/before-insert.event.js');
|
|
6
|
+
var common = require('@nestjs/common');
|
|
7
|
+
var eventEmitter = require('@nestjs/event-emitter');
|
|
8
|
+
var token_constant = require('../../../../shared/constant/token.constant.js');
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Event listener for ConfigData beforeInsert events
|
|
12
|
+
*/
|
|
13
|
+
exports.ConfigDataBeforeInsertListener = class ConfigDataBeforeInsertListener {
|
|
14
|
+
service;
|
|
15
|
+
constructor(service) {
|
|
16
|
+
this.service = service;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Handle configdataevents.beforeInsert event
|
|
20
|
+
* @param {ConfigDataEventBeforeInsert} payload Event payload
|
|
21
|
+
* @returns {Promise<{ error?: unknown; isSuccess: boolean }>} Object indicating success or failure
|
|
22
|
+
*/
|
|
23
|
+
async handleBeforeInsert(payload) {
|
|
24
|
+
try {
|
|
25
|
+
// Access the entity from the payload
|
|
26
|
+
const entity = payload.item;
|
|
27
|
+
const entityManager = payload.eventManager;
|
|
28
|
+
const existingConfigData = await this.service.get({
|
|
29
|
+
where: {
|
|
30
|
+
environment: entity.environment,
|
|
31
|
+
name: entity.name,
|
|
32
|
+
},
|
|
33
|
+
}, entityManager);
|
|
34
|
+
if (existingConfigData) {
|
|
35
|
+
throw new common.ConflictException("ConfigData with this environment and name already exists");
|
|
36
|
+
}
|
|
37
|
+
// Return success if no duplicate found
|
|
38
|
+
return { isSuccess: true };
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
if (error instanceof common.NotFoundException) {
|
|
42
|
+
return { isSuccess: true };
|
|
43
|
+
}
|
|
44
|
+
return { error, isSuccess: false };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
tslib_es6.__decorate([
|
|
49
|
+
eventEmitter.OnEvent("config-data.beforeInsert"),
|
|
50
|
+
tslib_es6.__metadata("design:type", Function),
|
|
51
|
+
tslib_es6.__metadata("design:paramtypes", [beforeInsert_event.ConfigDataEventBeforeInsert]),
|
|
52
|
+
tslib_es6.__metadata("design:returntype", Promise)
|
|
53
|
+
], exports.ConfigDataBeforeInsertListener.prototype, "handleBeforeInsert", null);
|
|
54
|
+
exports.ConfigDataBeforeInsertListener = tslib_es6.__decorate([
|
|
55
|
+
common.Injectable(),
|
|
56
|
+
tslib_es6.__param(0, common.Inject(token_constant.TOKEN_CONSTANT.CONFIG_DATA_SERVICE)),
|
|
57
|
+
tslib_es6.__metadata("design:paramtypes", [nestjsCrudAutomator.ApiServiceBase])
|
|
58
|
+
], exports.ConfigDataBeforeInsertListener);
|
|
59
|
+
//# sourceMappingURL=before-insert.listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"before-insert.listener.js","sources":["../../../../../../../src/modules/config/data/listener/before-insert.listener.ts"],"sourcesContent":[null],"names":["ConfigDataBeforeInsertListener","ConflictException","NotFoundException","__decorate","OnEvent","ConfigDataEventBeforeInsert","Injectable","__param","Inject","TOKEN_CONSTANT","ApiServiceBase"],"mappings":";;;;;;;;;AAQA;;AAEG;AAEUA,sCAA8B,GAApC,MAAM,8BAA8B,CAAA;AAEoB,IAAA,OAAA;AAD9D,IAAA,WAAA,CAC8D,OAAoC,EAAA;QAApC,IAAA,CAAA,OAAO,GAAP,OAAO;IAClE;AAEH;;;;AAIG;AAEG,IAAN,MAAM,kBAAkB,CACvB,OAAoC,EAAA;AAEpC,QAAA,IAAI;;AAEH,YAAA,MAAM,MAAM,GAAgB,OAAO,CAAC,IAAI;AACxC,YAAA,MAAM,aAAa,GAAkB,OAAO,CAAC,YAAY;YAEzD,MAAM,kBAAkB,GAAuB,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACpE;AACC,gBAAA,KAAK,EAAE;oBACN,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,iBAAA;aACD,EACD,aAAa,CACb;YAED,IAAI,kBAAkB,EAAE;AACvB,gBAAA,MAAM,IAAIC,wBAAiB,CAAC,0DAA0D,CAAC;YACxF;;AAGA,YAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;QAC3B;QAAE,OAAO,KAAK,EAAE;AACf,YAAA,IAAI,KAAK,YAAYC,wBAAiB,EAAE;AACvC,gBAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3B;AAEA,YAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;QACnC;IACD;;AA/BMC,oBAAA,CAAA;IADLC,oBAAO,CAAC,0BAA0B,CAAC;;+CAE1BC,8CAA2B,CAAA,CAAA;;AA8BpC,CAAA,EAAAL,sCAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,IAAA,CAAA;AA1CWA,sCAA8B,GAAAG,oBAAA,CAAA;AAD1C,IAAAG,iBAAU,EAAE;AAGV,IAAAC,iBAAA,CAAA,CAAA,EAAAC,aAAM,CAACC,6BAAc,CAAC,mBAAmB,CAAC,CAAA;+CAA2BC,kCAAc,CAAA;AAFzE,CAAA,EAAAV,sCAA8B,CA2C1C;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ConfigDataBeforeInsertListener } from './before-insert.listener';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IConfigData } from '../index';
|
|
2
|
+
import type { TDynamicEntity } from '../../../../shared/type/index';
|
|
3
|
+
import type { EntitySubscriberInterface, InsertEvent } from "typeorm";
|
|
4
|
+
import { EventEmitter2 } from "@nestjs/event-emitter";
|
|
5
|
+
import { DataSource } from "typeorm";
|
|
6
|
+
/**
|
|
7
|
+
* TypeORM subscriber for ConfigData beforeInsert event
|
|
8
|
+
* Note: Works with dynamically generated entities
|
|
9
|
+
*/
|
|
10
|
+
export declare class ConfigDataBeforeInsertSubscriber implements EntitySubscriberInterface<IConfigData> {
|
|
11
|
+
private readonly eventEmitter;
|
|
12
|
+
readonly connection: DataSource;
|
|
13
|
+
private readonly entityClass;
|
|
14
|
+
constructor(eventEmitter: EventEmitter2, connection: DataSource, entityClass: TDynamicEntity);
|
|
15
|
+
/**
|
|
16
|
+
* Handle the beforeInsert event
|
|
17
|
+
* @param {InsertEvent<IConfigData>} event - The TypeORM insert event
|
|
18
|
+
* @returns {Promise<boolean>} Promise resolving to boolean indicating success
|
|
19
|
+
*/
|
|
20
|
+
beforeInsert(event: InsertEvent<IConfigData>): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Specify which entity this subscriber listens to
|
|
23
|
+
* @returns {TDynamicEntity} The ConfigData entity class
|
|
24
|
+
*/
|
|
25
|
+
listenTo(): TDynamicEntity;
|
|
26
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../../../../external/tslib/tslib.es6.js');
|
|
4
|
+
var nestjsCrudAutomator = require('@elsikora/nestjs-crud-automator');
|
|
5
|
+
var beforeInsert_event = require('../event/before-insert.event.js');
|
|
6
|
+
var common = require('@nestjs/common');
|
|
7
|
+
var eventEmitter = require('@nestjs/event-emitter');
|
|
8
|
+
var token_constant = require('../../../../shared/constant/token.constant.js');
|
|
9
|
+
var typeorm = require('typeorm');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* TypeORM subscriber for ConfigData beforeInsert event
|
|
13
|
+
* Note: Works with dynamically generated entities
|
|
14
|
+
*/
|
|
15
|
+
exports.ConfigDataBeforeInsertSubscriber = class ConfigDataBeforeInsertSubscriber {
|
|
16
|
+
eventEmitter;
|
|
17
|
+
connection;
|
|
18
|
+
entityClass;
|
|
19
|
+
constructor(eventEmitter, connection, entityClass) {
|
|
20
|
+
this.eventEmitter = eventEmitter;
|
|
21
|
+
this.connection = connection;
|
|
22
|
+
this.entityClass = entityClass;
|
|
23
|
+
// Register this subscriber with the DataSource
|
|
24
|
+
connection.subscribers.push(this);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Handle the beforeInsert event
|
|
28
|
+
* @param {InsertEvent<IConfigData>} event - The TypeORM insert event
|
|
29
|
+
* @returns {Promise<boolean>} Promise resolving to boolean indicating success
|
|
30
|
+
*/
|
|
31
|
+
beforeInsert(event) {
|
|
32
|
+
// Only process if this is our ConfigData entity
|
|
33
|
+
if (event.entity.constructor !== this.entityClass) {
|
|
34
|
+
return Promise.resolve(true);
|
|
35
|
+
}
|
|
36
|
+
const item = event.entity;
|
|
37
|
+
const payload = new beforeInsert_event.ConfigDataEventBeforeInsert();
|
|
38
|
+
payload.item = item;
|
|
39
|
+
payload.eventManager = event.manager;
|
|
40
|
+
return this.eventEmitter
|
|
41
|
+
.emitAsync("config-data.beforeInsert", payload)
|
|
42
|
+
.then((result) => {
|
|
43
|
+
if (result.every((item) => item.isSuccess)) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const error = result.find((item) => !item.isSuccess)?.error;
|
|
48
|
+
if (error instanceof common.HttpException) {
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
// @ts-ignore - EErrorStringAction import issue with yalc package
|
|
52
|
+
throw new common.InternalServerErrorException(nestjsCrudAutomator.ErrorString({ entity: { name: "ConfigData" }, type: nestjsCrudAutomator.EErrorStringAction.CREATING_ERROR }));
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
.catch((error) => {
|
|
56
|
+
throw error;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Specify which entity this subscriber listens to
|
|
61
|
+
* @returns {TDynamicEntity} The ConfigData entity class
|
|
62
|
+
*/
|
|
63
|
+
listenTo() {
|
|
64
|
+
return this.entityClass;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
exports.ConfigDataBeforeInsertSubscriber = tslib_es6.__decorate([
|
|
68
|
+
typeorm.EventSubscriber(),
|
|
69
|
+
tslib_es6.__param(1, common.Inject(typeorm.DataSource)),
|
|
70
|
+
tslib_es6.__param(2, common.Inject(token_constant.TOKEN_CONSTANT.CONFIG_DATA_ENTITY)),
|
|
71
|
+
tslib_es6.__metadata("design:paramtypes", [eventEmitter.EventEmitter2,
|
|
72
|
+
typeorm.DataSource, Object])
|
|
73
|
+
], exports.ConfigDataBeforeInsertSubscriber);
|
|
74
|
+
//# sourceMappingURL=before-insert.subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"before-insert.subscriber.js","sources":["../../../../../../../src/modules/config/data/subscriber/before-insert.subscriber.ts"],"sourcesContent":[null],"names":["ConfigDataBeforeInsertSubscriber","ConfigDataEventBeforeInsert","HttpException","InternalServerErrorException","ErrorString","EErrorStringAction","__decorate","EventSubscriber","__param","Inject","DataSource","TOKEN_CONSTANT","EventEmitter2"],"mappings":";;;;;;;;;;AAYA;;;AAGG;AAEUA,wCAAgC,GAAtC,MAAM,gCAAgC,CAAA;AAE1B,IAAA,YAAA;AACY,IAAA,UAAA;AAC+B,IAAA,WAAA;AAH7D,IAAA,WAAA,CACkB,YAA2B,EACf,UAAsB,EACS,WAA2B,EAAA;QAFtE,IAAA,CAAA,YAAY,GAAZ,YAAY;QACA,IAAA,CAAA,UAAU,GAAV,UAAU;QACqB,IAAA,CAAA,WAAW,GAAX,WAAW;;AAGvE,QAAA,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAClC;AAEA;;;;AAIG;AACH,IAAA,YAAY,CAAC,KAA+B,EAAA;;QAE3C,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;AAClD,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7B;AAEA,QAAA,MAAM,IAAI,GAAgB,KAAK,CAAC,MAAM;AAEtC,QAAA,MAAM,OAAO,GAAgC,IAAIC,8CAA2B,EAAE;AAC9E,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI;AACnB,QAAA,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO;QAEpC,OAAO,IAAI,CAAC;AACV,aAAA,SAAS,CAAC,0BAA0B,EAAE,OAAO;AAC7C,aAAA,IAAI,CAAC,CAAC,MAAsD,KAAI;AAChE,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAA6C,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE;AACpF,gBAAA,OAAO,IAAI;YACZ;iBAAO;AACN,gBAAA,MAAM,KAAK,GAAY,MAAM,CAAC,IAAI,CACjC,CAAC,IAA6C,KAAK,CAAC,IAAI,CAAC,SAAS,CAClE,EAAE,KAAK;AAER,gBAAA,IAAI,KAAK,YAAYC,oBAAa,EAAE;AACnC,oBAAA,MAAM,KAAK;gBACZ;;gBAGA,MAAM,IAAIC,mCAA4B,CACrCC,+BAAW,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAEC,sCAAkB,CAAC,cAAc,EAAE,CAAC,CACxF;YACF;AACD,QAAA,CAAC;AACA,aAAA,KAAK,CAAC,CAAC,KAAc,KAAI;AACzB,YAAA,MAAM,KAAK;AACZ,QAAA,CAAC,CAAC;IACJ;AAEA;;;AAGG;IACH,QAAQ,GAAA;QACP,OAAO,IAAI,CAAC,WAAW;IACxB;;AA1DYL,wCAAgC,GAAAM,oBAAA,CAAA;AAD5C,IAAAC,uBAAe,EAAE;AAIf,IAAAC,iBAAA,CAAA,CAAA,EAAAC,aAAM,CAACC,kBAAU,CAAC,CAAA;AAClB,IAAAF,iBAAA,CAAA,CAAA,EAAAC,aAAM,CAACE,6BAAc,CAAC,kBAAkB,CAAC,CAAA;+CAFXC,0BAAa;QACHF,kBAAU,EAAA,MAAA,CAAA;AAHxC,CAAA,EAAAV,wCAAgC,CA2D5C;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ConfigDataBeforeInsertSubscriber } from './before-insert.subscriber';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CRUD Configuration Module for NestJS.
|
|
3
|
+
* Exports the module, service, and related interfaces.
|
|
4
|
+
*/
|
|
5
|
+
export { CrudConfigModule } from './config.module';
|
|
6
|
+
export { CrudConfigService } from './config.service';
|
|
7
|
+
export { type IConfigGetOptions, type IConfigSetOptions } from './interface/index';
|
|
8
|
+
export type * from './interface/index';
|
|
9
|
+
export type * from './type/index';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { EntityManager } from "typeorm/entity-manager/EntityManager";
|
|
2
|
+
/**
|
|
3
|
+
* Context options for configuration retrieval
|
|
4
|
+
*/
|
|
5
|
+
export interface IConfigDeleteOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The environment for the configuration, if not specified, the global-configured environment will be used
|
|
8
|
+
*/
|
|
9
|
+
environment?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Entity manager for database operations
|
|
12
|
+
*/
|
|
13
|
+
eventManager?: EntityManager;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the configuration
|
|
16
|
+
*/
|
|
17
|
+
name: string;
|
|
18
|
+
/**
|
|
19
|
+
* The section for the configuration
|
|
20
|
+
*/
|
|
21
|
+
section: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { EntityManager } from "typeorm/entity-manager/EntityManager";
|
|
2
|
+
/**
|
|
3
|
+
* Context options for configuration retrieval
|
|
4
|
+
*/
|
|
5
|
+
export interface IConfigGetListOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The environment for the configuration, if not specified, the global-configured environment will be used
|
|
8
|
+
*/
|
|
9
|
+
environment?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Entity manager for database operations
|
|
12
|
+
*/
|
|
13
|
+
eventManager?: EntityManager;
|
|
14
|
+
/**
|
|
15
|
+
* The section for the configuration
|
|
16
|
+
*/
|
|
17
|
+
section: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether or not the configuration should be cached
|
|
20
|
+
*/
|
|
21
|
+
useCache?: boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { EntityManager } from "typeorm/entity-manager/EntityManager";
|
|
2
|
+
/**
|
|
3
|
+
* Context options for configuration retrieval
|
|
4
|
+
*/
|
|
5
|
+
export interface IConfigGetOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The environment for the configuration, if not specified, the global-configured environment will be used
|
|
8
|
+
*/
|
|
9
|
+
environment?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Entity manager for database operations
|
|
12
|
+
*/
|
|
13
|
+
eventManager?: EntityManager;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the configuration
|
|
16
|
+
*/
|
|
17
|
+
name: string;
|
|
18
|
+
/**
|
|
19
|
+
* The section for the configuration
|
|
20
|
+
*/
|
|
21
|
+
section: string;
|
|
22
|
+
/**
|
|
23
|
+
* Whether or not the section info should be loaded
|
|
24
|
+
*/
|
|
25
|
+
shouldLoadSectionInfo?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether or not the configuration should be cached
|
|
28
|
+
*/
|
|
29
|
+
useCache?: boolean;
|
|
30
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { type IConfigDeleteOptions } from './delete-options.interface';
|
|
2
|
+
export { type IConfigGetListOptions } from './get-list-options.interface';
|
|
3
|
+
export { type IConfigGetOptions } from './get-options.interface';
|
|
4
|
+
export { type IConfigSetOptions } from './set-options.interface';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EntityManager } from "typeorm/entity-manager/EntityManager";
|
|
2
|
+
/**
|
|
3
|
+
* Context options for configuration setting
|
|
4
|
+
*/
|
|
5
|
+
export interface IConfigSetOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Description for the configuration
|
|
8
|
+
*/
|
|
9
|
+
description?: string;
|
|
10
|
+
/**
|
|
11
|
+
* The environment for the configuration
|
|
12
|
+
*/
|
|
13
|
+
environment?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Entity manager for database operations
|
|
16
|
+
*/
|
|
17
|
+
eventManager?: EntityManager;
|
|
18
|
+
/**
|
|
19
|
+
* The name of the configuration
|
|
20
|
+
*/
|
|
21
|
+
name: string;
|
|
22
|
+
/**
|
|
23
|
+
* Path components for hierarchical configuration
|
|
24
|
+
*/
|
|
25
|
+
path?: Array<string>;
|
|
26
|
+
/**
|
|
27
|
+
* The section for the configuration
|
|
28
|
+
*/
|
|
29
|
+
section: string;
|
|
30
|
+
/**
|
|
31
|
+
* The value for the configuration
|
|
32
|
+
*/
|
|
33
|
+
value: string;
|
|
34
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Type } from "@nestjs/common/interfaces";
|
|
2
|
+
import { IConfigControllerOptions } from '../../../shared/interface/config/index';
|
|
3
|
+
import { TDynamicEntity } from '../../../shared/type/index';
|
|
4
|
+
/**
|
|
5
|
+
* Factory to create dynamic ConfigSection controller with the correct entity
|
|
6
|
+
* @param {TDynamicEntity} entity The entity type to create controller for
|
|
7
|
+
* @param {IConfigControllerOptions} [options] Controller configuration options
|
|
8
|
+
* @returns {Type} The dynamic controller class
|
|
9
|
+
*/
|
|
10
|
+
export declare function createDynamicSectionController(entity: TDynamicEntity, options?: IConfigControllerOptions): Type;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../../../external/tslib/tslib.es6.js');
|
|
4
|
+
var nestjsCrudAutomator = require('@elsikora/nestjs-crud-automator');
|
|
5
|
+
var common = require('@nestjs/common');
|
|
6
|
+
var token_constant = require('../../../shared/constant/token.constant.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Factory to create dynamic ConfigSection controller with the correct entity
|
|
10
|
+
* @param {TDynamicEntity} entity The entity type to create controller for
|
|
11
|
+
* @param {IConfigControllerOptions} [options] Controller configuration options
|
|
12
|
+
* @returns {Type} The dynamic controller class
|
|
13
|
+
*/
|
|
14
|
+
function createDynamicSectionController(entity, options) {
|
|
15
|
+
const defaultConfig = {
|
|
16
|
+
entity,
|
|
17
|
+
name: "ConfigSection",
|
|
18
|
+
path: "config/section",
|
|
19
|
+
routes: {
|
|
20
|
+
[nestjsCrudAutomator.EApiRouteType.CREATE]: { isEnabled: true },
|
|
21
|
+
[nestjsCrudAutomator.EApiRouteType.DELETE]: { isEnabled: true },
|
|
22
|
+
[nestjsCrudAutomator.EApiRouteType.GET]: { isEnabled: true },
|
|
23
|
+
[nestjsCrudAutomator.EApiRouteType.GET_LIST]: { isEnabled: true },
|
|
24
|
+
[nestjsCrudAutomator.EApiRouteType.UPDATE]: { isEnabled: true },
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
const config = {
|
|
28
|
+
...defaultConfig,
|
|
29
|
+
...options?.properties,
|
|
30
|
+
};
|
|
31
|
+
let DynamicConfigSectionController = class DynamicConfigSectionController {
|
|
32
|
+
service;
|
|
33
|
+
constructor(service) {
|
|
34
|
+
this.service = service;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
DynamicConfigSectionController = tslib_es6.__decorate([
|
|
38
|
+
nestjsCrudAutomator.ApiController(config),
|
|
39
|
+
tslib_es6.__param(0, common.Inject(token_constant.TOKEN_CONSTANT.CONFIG_SECTION_SERVICE)),
|
|
40
|
+
tslib_es6.__metadata("design:paramtypes", [nestjsCrudAutomator.ApiServiceBase])
|
|
41
|
+
], DynamicConfigSectionController);
|
|
42
|
+
return DynamicConfigSectionController;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
exports.createDynamicSectionController = createDynamicSectionController;
|
|
46
|
+
//# sourceMappingURL=controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sources":["../../../../../../src/modules/config/section/controller.ts"],"sourcesContent":[null],"names":["EApiRouteType","__decorate","ApiController","__param","Inject","TOKEN_CONSTANT","ApiServiceBase"],"mappings":";;;;;;;AAaA;;;;;AAKG;AACG,SAAU,8BAA8B,CAC7C,MAAsB,EACtB,OAAkC,EAAA;AAElC,IAAA,MAAM,aAAa,GAA4C;QAC9D,MAAM;AACN,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,MAAM,EAAE;YACP,CAACA,iCAAa,CAAC,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3C,CAACA,iCAAa,CAAC,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3C,CAACA,iCAAa,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YACxC,CAACA,iCAAa,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;YAC7C,CAACA,iCAAa,CAAC,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;AAC3C,SAAA;KACD;AAED,IAAA,MAAM,MAAM,GAA4C;AACvD,QAAA,GAAG,aAAa;QAChB,GAAG,OAAO,EAAE,UAAU;KACtB;IAED,IACM,8BAA8B,GADpC,MACM,8BAA8B,CAAA;AAGlB,QAAA,OAAA;AAFjB,QAAA,WAAA,CAEiB,OAAsC,EAAA;YAAtC,IAAA,CAAA,OAAO,GAAP,OAAO;QACrB;KACH;IALK,8BAA8B,GAAAC,oBAAA,CAAA;QADnCC,iCAAa,CAAC,MAAM,CAAC;AAGnB,QAAAC,iBAAA,CAAA,CAAA,EAAAC,aAAM,CAACC,6BAAc,CAAC,sBAAsB,CAAC,CAAA;mDACrBC,kCAAc,CAAA;AAHnC,KAAA,EAAA,8BAA8B,CAKnC;AAED,IAAA,OAAO,8BAA8B;AACtC;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TDynamicEntity } from '../../../../shared/type/index';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a dynamic ConfigSection entity with TypeORM decorators
|
|
4
|
+
* @param {object} options - Configuration options for the entity
|
|
5
|
+
* @param {number} options.maxDescriptionLength - Maximum length for description field
|
|
6
|
+
* @param {number} options.maxNameLength - Maximum length for name field
|
|
7
|
+
* @param {string} options.tableName - Name of the database table
|
|
8
|
+
* @returns {TDynamicEntity} Dynamically created ConfigSection entity class
|
|
9
|
+
*/
|
|
10
|
+
export declare function createConfigSectionEntity(options: {
|
|
11
|
+
maxDescriptionLength: number;
|
|
12
|
+
maxNameLength: number;
|
|
13
|
+
tableName: string;
|
|
14
|
+
}): TDynamicEntity;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var nestjsCrudAutomator = require('@elsikora/nestjs-crud-automator');
|
|
4
|
+
var apiProperty_constant = require('../../../../shared/constant/api-property.constant.js');
|
|
5
|
+
var entity_utility = require('../../../../shared/utility/create-dynamic/entity.utility.js');
|
|
6
|
+
require('../../../../external/tslib/tslib.es6.js');
|
|
7
|
+
require('@nestjs/common');
|
|
8
|
+
require('@nestjs/typeorm');
|
|
9
|
+
var typeorm = require('typeorm');
|
|
10
|
+
require('../../../../shared/utility/crypto.utility.js');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates a dynamic ConfigSection entity with TypeORM decorators
|
|
14
|
+
* @param {object} options - Configuration options for the entity
|
|
15
|
+
* @param {number} options.maxDescriptionLength - Maximum length for description field
|
|
16
|
+
* @param {number} options.maxNameLength - Maximum length for name field
|
|
17
|
+
* @param {string} options.tableName - Name of the database table
|
|
18
|
+
* @returns {TDynamicEntity} Dynamically created ConfigSection entity class
|
|
19
|
+
*/
|
|
20
|
+
function createConfigSectionEntity(options) {
|
|
21
|
+
return entity_utility.createDynamicEntityClass({
|
|
22
|
+
columns: {
|
|
23
|
+
createdAt: {
|
|
24
|
+
default: () => "CURRENT_TIMESTAMP",
|
|
25
|
+
nullable: false,
|
|
26
|
+
type: "timestamp",
|
|
27
|
+
},
|
|
28
|
+
description: {
|
|
29
|
+
length: options.maxDescriptionLength,
|
|
30
|
+
nullable: true,
|
|
31
|
+
type: "varchar",
|
|
32
|
+
},
|
|
33
|
+
name: {
|
|
34
|
+
length: options.maxNameLength,
|
|
35
|
+
nullable: false,
|
|
36
|
+
type: "varchar",
|
|
37
|
+
},
|
|
38
|
+
updatedAt: {
|
|
39
|
+
default: () => "CURRENT_TIMESTAMP",
|
|
40
|
+
nullable: false,
|
|
41
|
+
type: "timestamp",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
decorators: {
|
|
45
|
+
createdAt: [
|
|
46
|
+
typeorm.CreateDateColumn(),
|
|
47
|
+
nestjsCrudAutomator.ApiPropertyDescribe({
|
|
48
|
+
format: nestjsCrudAutomator.EApiPropertyDateType.DATE_TIME,
|
|
49
|
+
identifier: nestjsCrudAutomator.EApiPropertyDateIdentifier.CREATED_AT,
|
|
50
|
+
type: nestjsCrudAutomator.EApiPropertyDescribeType.DATE,
|
|
51
|
+
}),
|
|
52
|
+
],
|
|
53
|
+
description: [
|
|
54
|
+
nestjsCrudAutomator.ApiPropertyDescribe({
|
|
55
|
+
description: "name",
|
|
56
|
+
exampleValue: "Section",
|
|
57
|
+
format: nestjsCrudAutomator.EApiPropertyStringType.STRING,
|
|
58
|
+
isNullable: true,
|
|
59
|
+
maxLength: options.maxDescriptionLength,
|
|
60
|
+
minLength: apiProperty_constant.API_PROPERTY_CONSTANT.MIN_NAME_LENGTH,
|
|
61
|
+
pattern: `/.{1,${options.maxDescriptionLength}}/`,
|
|
62
|
+
type: nestjsCrudAutomator.EApiPropertyDescribeType.STRING,
|
|
63
|
+
}),
|
|
64
|
+
],
|
|
65
|
+
id: [
|
|
66
|
+
nestjsCrudAutomator.ApiPropertyDescribe({
|
|
67
|
+
type: nestjsCrudAutomator.EApiPropertyDescribeType.UUID,
|
|
68
|
+
}),
|
|
69
|
+
],
|
|
70
|
+
name: [
|
|
71
|
+
nestjsCrudAutomator.ApiPropertyDescribe({
|
|
72
|
+
description: "name",
|
|
73
|
+
exampleValue: "section",
|
|
74
|
+
format: nestjsCrudAutomator.EApiPropertyStringType.STRING,
|
|
75
|
+
maxLength: options.maxNameLength,
|
|
76
|
+
minLength: apiProperty_constant.API_PROPERTY_CONSTANT.MIN_NAME_LENGTH,
|
|
77
|
+
pattern: `/^[a-z0-9-]{1,${options.maxNameLength}}/`,
|
|
78
|
+
type: nestjsCrudAutomator.EApiPropertyDescribeType.STRING,
|
|
79
|
+
}),
|
|
80
|
+
],
|
|
81
|
+
updatedAt: [
|
|
82
|
+
typeorm.UpdateDateColumn(),
|
|
83
|
+
nestjsCrudAutomator.ApiPropertyDescribe({
|
|
84
|
+
format: nestjsCrudAutomator.EApiPropertyDateType.DATE_TIME,
|
|
85
|
+
identifier: nestjsCrudAutomator.EApiPropertyDateIdentifier.UPDATED_AT,
|
|
86
|
+
type: nestjsCrudAutomator.EApiPropertyDescribeType.DATE,
|
|
87
|
+
}),
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
name: "ConfigSection",
|
|
91
|
+
tableName: options.tableName,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
exports.createConfigSectionEntity = createConfigSectionEntity;
|
|
96
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sources":["../../../../../../../src/modules/config/section/entity/entity.ts"],"sourcesContent":[null],"names":["createDynamicEntityClass","CreateDateColumn","ApiPropertyDescribe","EApiPropertyDateType","EApiPropertyDateIdentifier","EApiPropertyDescribeType","EApiPropertyStringType","API_PROPERTY_CONSTANT","UpdateDateColumn"],"mappings":";;;;;;;;;;;AAcA;;;;;;;AAOG;AACG,SAAU,yBAAyB,CAAC,OAIzC,EAAA;AACA,IAAA,OAAOA,uCAAwB,CAAC;AAC/B,QAAA,OAAO,EAAE;AACR,YAAA,SAAS,EAAE;AACV,gBAAA,OAAO,EAAE,MAAM,mBAAmB;AAClC,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,IAAI,EAAE,WAAW;AACjB,aAAA;AACD,YAAA,WAAW,EAAE;gBACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB;AACpC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE,SAAS;AACf,aAAA;AACD,YAAA,IAAI,EAAE;gBACL,MAAM,EAAE,OAAO,CAAC,aAAa;AAC7B,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,IAAI,EAAE,SAAS;AACf,aAAA;AACD,YAAA,SAAS,EAAE;AACV,gBAAA,OAAO,EAAE,MAAM,mBAAmB;AAClC,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,IAAI,EAAE,WAAW;AACjB,aAAA;AACD,SAAA;AACD,QAAA,UAAU,EAAE;AACX,YAAA,SAAS,EAAE;AACV,gBAAAC,wBAAgB,EAAE;AAClB,gBAAAC,uCAAmB,CAAC;oBACnB,MAAM,EAAEC,wCAAoB,CAAC,SAAS;oBACtC,UAAU,EAAEC,8CAA0B,CAAC,UAAU;oBACjD,IAAI,EAAEC,4CAAwB,CAAC,IAAI;iBACnC,CAAsB;AACvB,aAAA;AACD,YAAA,WAAW,EAAE;AACZ,gBAAAH,uCAAmB,CAAC;AACnB,oBAAA,WAAW,EAAE,MAAM;AACnB,oBAAA,YAAY,EAAE,SAAS;oBACvB,MAAM,EAAEI,0CAAsB,CAAC,MAAM;AACrC,oBAAA,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,OAAO,CAAC,oBAAoB;oBACvC,SAAS,EAAEC,0CAAqB,CAAC,eAAe;AAChD,oBAAA,OAAO,EAAE,CAAA,KAAA,EAAQ,OAAO,CAAC,oBAAoB,CAAA,EAAA,CAAI;oBACjD,IAAI,EAAEF,4CAAwB,CAAC,MAAM;iBACrC,CAAsB;AACvB,aAAA;AACD,YAAA,EAAE,EAAE;AACH,gBAAAH,uCAAmB,CAAC;oBACnB,IAAI,EAAEG,4CAAwB,CAAC,IAAI;iBACnC,CAAsB;AACvB,aAAA;AACD,YAAA,IAAI,EAAE;AACL,gBAAAH,uCAAmB,CAAC;AACnB,oBAAA,WAAW,EAAE,MAAM;AACnB,oBAAA,YAAY,EAAE,SAAS;oBACvB,MAAM,EAAEI,0CAAsB,CAAC,MAAM;oBACrC,SAAS,EAAE,OAAO,CAAC,aAAa;oBAChC,SAAS,EAAEC,0CAAqB,CAAC,eAAe;AAChD,oBAAA,OAAO,EAAE,CAAA,cAAA,EAAiB,OAAO,CAAC,aAAa,CAAA,EAAA,CAAI;oBACnD,IAAI,EAAEF,4CAAwB,CAAC,MAAM;iBACrC,CAAsB;AACvB,aAAA;AACD,YAAA,SAAS,EAAE;AACV,gBAAAG,wBAAgB,EAAE;AAClB,gBAAAN,uCAAmB,CAAC;oBACnB,MAAM,EAAEC,wCAAoB,CAAC,SAAS;oBACtC,UAAU,EAAEC,8CAA0B,CAAC,UAAU;oBACjD,IAAI,EAAEC,4CAAwB,CAAC,IAAI;iBACnC,CAAsB;AACvB,aAAA;AACD,SAAA;AACD,QAAA,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;AAC5B,KAAA,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createConfigSectionEntity } from './entity';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { IConfigSection } from './interface';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TConfigItem = Record<string, string>;
|