@tc-libs/setting 2.0.1
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 +11 -0
- package/package.json +29 -0
- package/src/constants/index.d.ts +3 -0
- package/src/constants/index.js +7 -0
- package/src/constants/index.js.map +1 -0
- package/src/constants/setting.doc.constant.d.ts +14 -0
- package/src/constants/setting.doc.constant.js +22 -0
- package/src/constants/setting.doc.constant.js.map +1 -0
- package/src/constants/setting.enum.constant.d.ts +9 -0
- package/src/constants/setting.enum.constant.js +14 -0
- package/src/constants/setting.enum.constant.js.map +1 -0
- package/src/constants/setting.list.constant.d.ts +6 -0
- package/src/constants/setting.list.constant.js +10 -0
- package/src/constants/setting.list.constant.js.map +1 -0
- package/src/constants/setting.permissions.constants.d.ts +2 -0
- package/src/constants/setting.permissions.constants.js +9 -0
- package/src/constants/setting.permissions.constants.js.map +1 -0
- package/src/controllers/index.d.ts +2 -0
- package/src/controllers/index.js +6 -0
- package/src/controllers/index.js.map +1 -0
- package/src/controllers/setting.admin.controller.d.ts +13 -0
- package/src/controllers/setting.admin.controller.js +107 -0
- package/src/controllers/setting.admin.controller.js.map +1 -0
- package/src/controllers/setting.controller.d.ts +7 -0
- package/src/controllers/setting.controller.js +36 -0
- package/src/controllers/setting.controller.js.map +1 -0
- package/src/decorators/setting.admin.decorator.d.ts +1 -0
- package/src/decorators/setting.admin.decorator.js +10 -0
- package/src/decorators/setting.admin.decorator.js.map +1 -0
- package/src/decorators/setting.decorator.d.ts +3 -0
- package/src/decorators/setting.decorator.js +19 -0
- package/src/decorators/setting.decorator.js.map +1 -0
- package/src/docs/index.d.ts +2 -0
- package/src/docs/index.js +6 -0
- package/src/docs/index.js.map +1 -0
- package/src/docs/setting.admin.doc.d.ts +1 -0
- package/src/docs/setting.admin.doc.js +19 -0
- package/src/docs/setting.admin.doc.js.map +1 -0
- package/src/docs/setting.doc.d.ts +3 -0
- package/src/docs/setting.doc.js +45 -0
- package/src/docs/setting.doc.js.map +1 -0
- package/src/dtos/index.d.ts +3 -0
- package/src/dtos/index.js +7 -0
- package/src/dtos/index.js.map +1 -0
- package/src/dtos/setting.create.dto.d.ts +7 -0
- package/src/dtos/setting.create.dto.js +58 -0
- package/src/dtos/setting.create.dto.js.map +1 -0
- package/src/dtos/setting.request.dto.d.ts +3 -0
- package/src/dtos/setting.request.dto.js +23 -0
- package/src/dtos/setting.request.dto.js.map +1 -0
- package/src/dtos/setting.update-value.dto.d.ts +5 -0
- package/src/dtos/setting.update-value.dto.js +11 -0
- package/src/dtos/setting.update-value.dto.js.map +1 -0
- package/src/errors/400/api.400.setting.error.d.ts +7 -0
- package/src/errors/400/api.400.setting.error.js +11 -0
- package/src/errors/400/api.400.setting.error.js.map +1 -0
- package/src/errors/400/index.d.ts +1 -0
- package/src/errors/400/index.js +5 -0
- package/src/errors/400/index.js.map +1 -0
- package/src/errors/index.d.ts +1 -0
- package/src/errors/index.js +5 -0
- package/src/errors/index.js.map +1 -0
- package/src/guards/setting.not-found.guard.d.ts +4 -0
- package/src/guards/setting.not-found.guard.js +20 -0
- package/src/guards/setting.not-found.guard.js.map +1 -0
- package/src/guards/setting.put-to-request.guard.d.ts +12 -0
- package/src/guards/setting.put-to-request.guard.js +43 -0
- package/src/guards/setting.put-to-request.guard.js.map +1 -0
- package/src/index.d.ts +7 -0
- package/src/index.js +11 -0
- package/src/index.js.map +1 -0
- package/src/middleware/maintenance/setting.maintenance.middleware.d.ts +9 -0
- package/src/middleware/maintenance/setting.maintenance.middleware.js +25 -0
- package/src/middleware/maintenance/setting.maintenance.middleware.js.map +1 -0
- package/src/middleware/setting.middleware.module.d.ts +4 -0
- package/src/middleware/setting.middleware.module.js +55 -0
- package/src/middleware/setting.middleware.module.js.map +1 -0
- package/src/repository/entities/setting.entity.d.ts +21 -0
- package/src/repository/entities/setting.entity.js +62 -0
- package/src/repository/entities/setting.entity.js.map +1 -0
- package/src/repository/index.d.ts +3 -0
- package/src/repository/index.js +7 -0
- package/src/repository/index.js.map +1 -0
- package/src/repository/repositories/setting.repository.d.ts +11 -0
- package/src/repository/repositories/setting.repository.js +28 -0
- package/src/repository/repositories/setting.repository.js.map +1 -0
- package/src/repository/setting.repository.module.d.ts +2 -0
- package/src/repository/setting.repository.module.js +27 -0
- package/src/repository/setting.repository.module.js.map +1 -0
- package/src/serializations/index.d.ts +2 -0
- package/src/serializations/index.js +6 -0
- package/src/serializations/index.js.map +1 -0
- package/src/serializations/setting.get.serialization.d.ts +10 -0
- package/src/serializations/setting.get.serialization.js +85 -0
- package/src/serializations/setting.get.serialization.js.map +1 -0
- package/src/serializations/setting.list.serialization.d.ts +3 -0
- package/src/serializations/setting.list.serialization.js +8 -0
- package/src/serializations/setting.list.serialization.js.map +1 -0
- package/src/services/index.d.ts +1 -0
- package/src/services/index.js +5 -0
- package/src/services/index.js.map +1 -0
- package/src/services/setting.abstract.service.d.ts +30 -0
- package/src/services/setting.abstract.service.js +115 -0
- package/src/services/setting.abstract.service.js.map +1 -0
- package/src/setting.module.d.ts +2 -0
- package/src/setting.module.js +21 -0
- package/src/setting.module.js.map +1 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SettingGetSerialization = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const faker_1 = require("@faker-js/faker");
|
|
6
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
+
const class_transformer_1 = require("class-transformer");
|
|
8
|
+
const setting_enum_constant_1 = require("../constants/setting.enum.constant");
|
|
9
|
+
const response_1 = require("@tc-libs/response");
|
|
10
|
+
class SettingGetSerialization extends response_1.ResponseIdSerialization {
|
|
11
|
+
}
|
|
12
|
+
exports.SettingGetSerialization = SettingGetSerialization;
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
(0, swagger_1.ApiProperty)({
|
|
15
|
+
description: 'Name of setting',
|
|
16
|
+
example: 'MaintenanceOn',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], SettingGetSerialization.prototype, "name", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({
|
|
23
|
+
description: 'Description of setting',
|
|
24
|
+
example: 'Maintenance Mode',
|
|
25
|
+
required: false,
|
|
26
|
+
}),
|
|
27
|
+
tslib_1.__metadata("design:type", String)
|
|
28
|
+
], SettingGetSerialization.prototype, "description", void 0);
|
|
29
|
+
tslib_1.__decorate([
|
|
30
|
+
(0, swagger_1.ApiProperty)({
|
|
31
|
+
description: 'Data type of setting',
|
|
32
|
+
example: 'BOOLEAN',
|
|
33
|
+
required: true,
|
|
34
|
+
enum: setting_enum_constant_1.ENUM_SETTING_DATA_TYPE,
|
|
35
|
+
}),
|
|
36
|
+
tslib_1.__metadata("design:type", String)
|
|
37
|
+
], SettingGetSerialization.prototype, "type", void 0);
|
|
38
|
+
tslib_1.__decorate([
|
|
39
|
+
(0, swagger_1.ApiProperty)({
|
|
40
|
+
description: 'Value of string, can be type string/boolean/number',
|
|
41
|
+
oneOf: [
|
|
42
|
+
{ type: 'string', readOnly: true, examples: ['on', 'off'] },
|
|
43
|
+
{ type: 'number', readOnly: true, examples: [100, 200] },
|
|
44
|
+
{ type: 'boolean', readOnly: true, examples: [true, false] },
|
|
45
|
+
],
|
|
46
|
+
required: true,
|
|
47
|
+
}),
|
|
48
|
+
(0, class_transformer_1.Transform)(({ value, obj }) => {
|
|
49
|
+
const regex = /^-?\d+$/;
|
|
50
|
+
const checkNum = regex.test(value);
|
|
51
|
+
if (obj.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.BOOLEAN &&
|
|
52
|
+
(value === 'true' || value === 'false')) {
|
|
53
|
+
return value === 'true' ? true : false;
|
|
54
|
+
}
|
|
55
|
+
else if (obj.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.NUMBER && checkNum) {
|
|
56
|
+
return Number(value);
|
|
57
|
+
}
|
|
58
|
+
else if (obj.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.ARRAY_OF_STRING) {
|
|
59
|
+
return value.split(',');
|
|
60
|
+
}
|
|
61
|
+
else if (obj.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.ARRAY_OF_ID &&
|
|
62
|
+
Array.isArray(value)) {
|
|
63
|
+
return value.map((x) => x.toString());
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
}),
|
|
67
|
+
tslib_1.__metadata("design:type", Object)
|
|
68
|
+
], SettingGetSerialization.prototype, "value", void 0);
|
|
69
|
+
tslib_1.__decorate([
|
|
70
|
+
(0, swagger_1.ApiProperty)({
|
|
71
|
+
description: 'Date created at',
|
|
72
|
+
example: faker_1.faker.date.recent(),
|
|
73
|
+
required: false,
|
|
74
|
+
}),
|
|
75
|
+
tslib_1.__metadata("design:type", Date)
|
|
76
|
+
], SettingGetSerialization.prototype, "createdAt", void 0);
|
|
77
|
+
tslib_1.__decorate([
|
|
78
|
+
(0, swagger_1.ApiProperty)({
|
|
79
|
+
description: 'Date updated at',
|
|
80
|
+
example: faker_1.faker.date.recent(),
|
|
81
|
+
required: false,
|
|
82
|
+
}),
|
|
83
|
+
tslib_1.__metadata("design:type", Date)
|
|
84
|
+
], SettingGetSerialization.prototype, "updatedAt", void 0);
|
|
85
|
+
//# sourceMappingURL=setting.get.serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting.get.serialization.js","sourceRoot":"","sources":["../../../../../packages/setting/src/serializations/setting.get.serialization.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,6CAA8C;AAC9C,yDAA8C;AAC9C,8EAA4E;AAC5E,gDAA4D;AAE5D,MAAa,uBAAwB,SAAQ,kCAAuB;CAqEnE;AArED,0DAqEC;AA/DU;IALR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;;qDACoB;AAOb;IALR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,KAAK;KAChB,CAAC;;4DAC4B;AAQrB;IANR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,8CAAsB;KAC7B,CAAC;;qDACoC;AAiC7B;IA/BR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACxD,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;SAC7D;QACD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IACE,GAAG,CAAC,IAAI,KAAK,8CAAsB,CAAC,OAAO;YAC3C,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,EACvC,CAAC;YACD,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,8CAAsB,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAClE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,8CAAsB,CAAC,eAAe,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,IACL,GAAG,CAAC,IAAI,KAAK,8CAAsB,CAAC,WAAW;YAC/C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,CAAC;YACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;sDACwC;AAOjC;IALR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,KAAK;KAChB,CAAC;sCACkB,IAAI;0DAAC;AAOhB;IALR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,KAAK;KAChB,CAAC;sCACkB,IAAI;0DAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SettingListSerialization = void 0;
|
|
4
|
+
const setting_get_serialization_1 = require("./setting.get.serialization");
|
|
5
|
+
class SettingListSerialization extends setting_get_serialization_1.SettingGetSerialization {
|
|
6
|
+
}
|
|
7
|
+
exports.SettingListSerialization = SettingListSerialization;
|
|
8
|
+
//# sourceMappingURL=setting.list.serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting.list.serialization.js","sourceRoot":"","sources":["../../../../../packages/setting/src/serializations/setting.list.serialization.ts"],"names":[],"mappings":";;;AAAA,2EAAsE;AAEtE,MAAa,wBAAyB,SAAQ,mDAAuB;CAAG;AAAxE,4DAAwE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './setting.abstract.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/setting/src/services/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { IDatabaseFindOneOptions } from '@tc-libs/database';
|
|
3
|
+
import { NumberService } from '@tc-libs/helper';
|
|
4
|
+
import { ENUM_SETTING_DATA_TYPE } from '../constants/setting.enum.constant';
|
|
5
|
+
import { SettingUpdateValueDto } from '../dtos/setting.update-value.dto';
|
|
6
|
+
import { SettingDoc, SettingEntity } from '../repository/entities/setting.entity';
|
|
7
|
+
import { SettingRepository } from '../repository/repositories/setting.repository';
|
|
8
|
+
import { AbstractService } from '@tc-libs/service';
|
|
9
|
+
import { PaginationService } from '@tc-libs/pagination';
|
|
10
|
+
export declare class BaseSettingService extends AbstractService<SettingEntity, SettingDoc> {
|
|
11
|
+
protected readonly _paging: PaginationService;
|
|
12
|
+
protected readonly settingRepository: SettingRepository;
|
|
13
|
+
protected readonly number: NumberService;
|
|
14
|
+
readonly logger: Logger;
|
|
15
|
+
protected readonly passwordAttempt: boolean;
|
|
16
|
+
protected readonly maxPasswordAttempt: number;
|
|
17
|
+
private cacheTime;
|
|
18
|
+
private _settingMap;
|
|
19
|
+
constructor(_paging: PaginationService, settingRepository: SettingRepository, number: NumberService);
|
|
20
|
+
getAllPublic(): Promise<Record<string, any>>;
|
|
21
|
+
findOneByName(name: string, options?: IDatabaseFindOneOptions): Promise<SettingDoc>;
|
|
22
|
+
updateValue(repository: SettingDoc, { description, type, value }: SettingUpdateValueDto): Promise<SettingDoc>;
|
|
23
|
+
updateByName(name: string, value: any): Promise<boolean>;
|
|
24
|
+
getValue<T>(setting: SettingDoc | SettingEntity): T;
|
|
25
|
+
checkValue(value: string, type: ENUM_SETTING_DATA_TYPE): Promise<boolean>;
|
|
26
|
+
private _invalidateCache;
|
|
27
|
+
private _getSettingAndCache;
|
|
28
|
+
protected _getSetting<T>(name: string, defaultValue: any): Promise<any>;
|
|
29
|
+
getMaintenance(): Promise<boolean>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var BaseSettingService_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.BaseSettingService = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const helper_1 = require("@tc-libs/helper");
|
|
8
|
+
const setting_enum_constant_1 = require("../constants/setting.enum.constant");
|
|
9
|
+
const setting_repository_1 = require("../repository/repositories/setting.repository");
|
|
10
|
+
const service_1 = require("@tc-libs/service");
|
|
11
|
+
const pagination_1 = require("@tc-libs/pagination");
|
|
12
|
+
let BaseSettingService = BaseSettingService_1 = class BaseSettingService extends service_1.AbstractService {
|
|
13
|
+
constructor(_paging, settingRepository, number) {
|
|
14
|
+
super(settingRepository, _paging);
|
|
15
|
+
this._paging = _paging;
|
|
16
|
+
this.settingRepository = settingRepository;
|
|
17
|
+
this.number = number;
|
|
18
|
+
this.logger = new common_1.Logger(BaseSettingService_1.name);
|
|
19
|
+
this.cacheTime = 1 * 60 * 1000;
|
|
20
|
+
this._settingMap = {};
|
|
21
|
+
}
|
|
22
|
+
async getAllPublic() {
|
|
23
|
+
const settings = await this.settingRepository.findAll({ public: true }, { returnPlain: true });
|
|
24
|
+
return settings.reduce((acc, setting) => {
|
|
25
|
+
acc[setting.name] = this.getValue(setting);
|
|
26
|
+
return acc;
|
|
27
|
+
}, {});
|
|
28
|
+
}
|
|
29
|
+
async findOneByName(name, options) {
|
|
30
|
+
return this.settingRepository.findOne({ name }, {
|
|
31
|
+
...options,
|
|
32
|
+
returnPlain: false,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async updateValue(repository, { description, type, value }) {
|
|
36
|
+
repository.description = description;
|
|
37
|
+
repository.type = type;
|
|
38
|
+
repository.value = value;
|
|
39
|
+
repository.value = this.getValue(repository);
|
|
40
|
+
return this.settingRepository.save(repository);
|
|
41
|
+
}
|
|
42
|
+
async updateByName(name, value) {
|
|
43
|
+
this._invalidateCache(name);
|
|
44
|
+
return this.settingRepository.updateOne({ name }, { value });
|
|
45
|
+
}
|
|
46
|
+
getValue(setting) {
|
|
47
|
+
if (setting.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.BOOLEAN &&
|
|
48
|
+
(setting.value === 'true' || setting.value === 'false')) {
|
|
49
|
+
return (setting.value === 'true');
|
|
50
|
+
}
|
|
51
|
+
else if (setting.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.NUMBER &&
|
|
52
|
+
this.number.checkDiscrete(setting.value)) {
|
|
53
|
+
return Number(setting.value);
|
|
54
|
+
}
|
|
55
|
+
else if (setting.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.ARRAY_OF_STRING) {
|
|
56
|
+
return setting.value.split(',');
|
|
57
|
+
}
|
|
58
|
+
else if (setting.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.ARRAY_OF_ID &&
|
|
59
|
+
Array.isArray(setting.value)) {
|
|
60
|
+
return setting.value.map((x) => x.toString());
|
|
61
|
+
}
|
|
62
|
+
else if (setting.type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.ID) {
|
|
63
|
+
return setting.value.toString();
|
|
64
|
+
}
|
|
65
|
+
return setting.value;
|
|
66
|
+
}
|
|
67
|
+
async checkValue(value, type) {
|
|
68
|
+
if (type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.BOOLEAN &&
|
|
69
|
+
(value === 'true' || value === 'false')) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
else if (type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.NUMBER &&
|
|
73
|
+
this.number.checkReal(value)) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
else if ((type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.STRING ||
|
|
77
|
+
type === setting_enum_constant_1.ENUM_SETTING_DATA_TYPE.ARRAY_OF_STRING) &&
|
|
78
|
+
typeof value === 'string') {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
_invalidateCache(name) {
|
|
84
|
+
delete this._settingMap[name];
|
|
85
|
+
}
|
|
86
|
+
async _getSettingAndCache(name) {
|
|
87
|
+
if (!this._settingMap[name] ||
|
|
88
|
+
this._settingMap[name].ts <
|
|
89
|
+
new Date(new Date().getTime() - this.cacheTime)) {
|
|
90
|
+
const setting = await this.settingRepository.findOne({
|
|
91
|
+
name,
|
|
92
|
+
}, { returnPlain: true });
|
|
93
|
+
this._settingMap[name] = { setting, ts: new Date() };
|
|
94
|
+
return setting;
|
|
95
|
+
}
|
|
96
|
+
return this._settingMap[name].setting;
|
|
97
|
+
}
|
|
98
|
+
async _getSetting(name, defaultValue) {
|
|
99
|
+
const setting = await this._getSettingAndCache(name);
|
|
100
|
+
if (!setting)
|
|
101
|
+
return defaultValue;
|
|
102
|
+
return this.getValue(setting);
|
|
103
|
+
}
|
|
104
|
+
async getMaintenance() {
|
|
105
|
+
return this._getSetting('maintenance', false);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
exports.BaseSettingService = BaseSettingService;
|
|
109
|
+
exports.BaseSettingService = BaseSettingService = BaseSettingService_1 = tslib_1.__decorate([
|
|
110
|
+
(0, common_1.Injectable)(),
|
|
111
|
+
tslib_1.__metadata("design:paramtypes", [pagination_1.PaginationService,
|
|
112
|
+
setting_repository_1.SettingRepository,
|
|
113
|
+
helper_1.NumberService])
|
|
114
|
+
], BaseSettingService);
|
|
115
|
+
//# sourceMappingURL=setting.abstract.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting.abstract.service.js","sourceRoot":"","sources":["../../../../../packages/setting/src/services/setting.abstract.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SettingModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const setting_middleware_module_1 = require("./middleware/setting.middleware.module");
|
|
7
|
+
const setting_repository_module_1 = require("./repository/setting.repository.module");
|
|
8
|
+
const setting_abstract_service_1 = require("./services/setting.abstract.service");
|
|
9
|
+
let SettingModule = class SettingModule {
|
|
10
|
+
};
|
|
11
|
+
exports.SettingModule = SettingModule;
|
|
12
|
+
exports.SettingModule = SettingModule = tslib_1.__decorate([
|
|
13
|
+
(0, common_1.Global)(),
|
|
14
|
+
(0, common_1.Module)({
|
|
15
|
+
imports: [setting_repository_module_1.SettingRepositoryModule, setting_middleware_module_1.SettingMiddlewareModule],
|
|
16
|
+
exports: [],
|
|
17
|
+
providers: [setting_abstract_service_1.BaseSettingService],
|
|
18
|
+
controllers: [],
|
|
19
|
+
})
|
|
20
|
+
], SettingModule);
|
|
21
|
+
//# sourceMappingURL=setting.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setting.module.js","sourceRoot":"","sources":["../../../../packages/setting/src/setting.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAgD;AAChD,sFAAiF;AACjF,sFAAiF;AACjF,kFAAyE;AASlE,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAPzB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,mDAAuB,EAAE,mDAAuB,CAAC;QAC3D,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,6CAAkB,CAAC;QAC/B,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,aAAa,CAAG"}
|