@hedhog/setting 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/dist/dto/create.dto.d.ts +4 -0
  2. package/dist/dto/create.dto.d.ts.map +1 -0
  3. package/dist/dto/create.dto.js +22 -0
  4. package/dist/dto/create.dto.js.map +1 -0
  5. package/dist/dto/delete.dto.d.ts +4 -0
  6. package/dist/dto/delete.dto.d.ts.map +1 -0
  7. package/dist/dto/delete.dto.js +24 -0
  8. package/dist/dto/delete.dto.js.map +1 -0
  9. package/dist/dto/update.dto.d.ts +4 -0
  10. package/dist/dto/update.dto.d.ts.map +1 -0
  11. package/dist/dto/update.dto.js +8 -0
  12. package/dist/dto/update.dto.js.map +1 -0
  13. package/dist/index.d.ts +3 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +19 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/migrations/index.d.ts +6 -0
  18. package/dist/migrations/index.d.ts.map +1 -0
  19. package/dist/migrations/index.js +66 -0
  20. package/dist/migrations/index.js.map +1 -0
  21. package/dist/settings.controller.d.ts +14 -0
  22. package/dist/settings.controller.d.ts.map +1 -0
  23. package/dist/settings.controller.js +93 -0
  24. package/dist/settings.controller.js.map +1 -0
  25. package/dist/settings.module.d.ts +3 -0
  26. package/dist/settings.module.d.ts.map +1 -0
  27. package/dist/settings.module.js +31 -0
  28. package/dist/settings.module.js.map +1 -0
  29. package/dist/settings.service.d.ts +19 -0
  30. package/dist/settings.service.d.ts.map +1 -0
  31. package/dist/settings.service.js +76 -0
  32. package/dist/settings.service.js.map +1 -0
  33. package/package.json +27 -0
  34. package/src/dto/create.dto.ts +7 -0
  35. package/src/dto/delete.dto.ts +14 -0
  36. package/src/dto/update.dto.ts +3 -0
  37. package/src/index.ts +2 -0
  38. package/src/migrations/index.ts +77 -0
  39. package/src/settings.controller.ts +63 -0
  40. package/src/settings.module.ts +18 -0
  41. package/src/settings.service.ts +78 -0
  42. package/tsconfig.lib.json +9 -0
  43. package/tsconfig.production.json +20 -0
@@ -0,0 +1,4 @@
1
+ export declare class CreateDTO {
2
+ name: string;
3
+ }
4
+ //# sourceMappingURL=create.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.dto.d.ts","sourceRoot":"","sources":["../../src/dto/create.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IAGpB,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,22 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateDTO = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CreateDTO {
15
+ }
16
+ exports.CreateDTO = CreateDTO;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)({ message: 'O nome deve ser uma string' }),
19
+ (0, class_validator_1.IsNotEmpty)({ message: 'O nome é obrigatório.' }),
20
+ __metadata("design:type", String)
21
+ ], CreateDTO.prototype, "name", void 0);
22
+ //# sourceMappingURL=create.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../src/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AAEvD,MAAa,SAAS;CAIrB;AAJD,8BAIC;AADC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACnD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;;uCACpC"}
@@ -0,0 +1,4 @@
1
+ export declare class DeleteDTO {
2
+ ids: number[];
3
+ }
4
+ //# sourceMappingURL=delete.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.dto.d.ts","sourceRoot":"","sources":["../../src/dto/delete.dto.ts"],"names":[],"mappings":"AAOA,qBAAa,SAAS;IAKpB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf"}
@@ -0,0 +1,24 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DeleteDTO = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class DeleteDTO {
15
+ }
16
+ exports.DeleteDTO = DeleteDTO;
17
+ __decorate([
18
+ (0, class_validator_1.IsArray)(),
19
+ (0, class_validator_1.ArrayNotEmpty)(),
20
+ (0, class_validator_1.ArrayMinSize)(1),
21
+ (0, class_validator_1.IsNumber)({}, { each: true }),
22
+ __metadata("design:type", Array)
23
+ ], DeleteDTO.prototype, "ids", void 0);
24
+ //# sourceMappingURL=delete.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.dto.js","sourceRoot":"","sources":["../../src/dto/delete.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAKyB;AAEzB,MAAa,SAAS;CAMrB;AAND,8BAMC;AADC;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,+BAAa,GAAE;IACf,IAAA,8BAAY,EAAC,CAAC,CAAC;IACf,IAAA,0BAAQ,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;sCACf"}
@@ -0,0 +1,4 @@
1
+ import { CreateDTO } from './create.dto';
2
+ export declare class UpdateDTO extends CreateDTO {
3
+ }
4
+ //# sourceMappingURL=update.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.dto.d.ts","sourceRoot":"","sources":["../../src/dto/update.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,SAAU,SAAQ,SAAS;CAAG"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateDTO = void 0;
4
+ const create_dto_1 = require("./create.dto");
5
+ class UpdateDTO extends create_dto_1.CreateDTO {
6
+ }
7
+ exports.UpdateDTO = UpdateDTO;
8
+ //# sourceMappingURL=update.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.dto.js","sourceRoot":"","sources":["../../src/dto/update.dto.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,SAAU,SAAQ,sBAAS;CAAG;AAA3C,8BAA2C"}
@@ -0,0 +1,3 @@
1
+ export * from './settings.module';
2
+ export * from './settings.service';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./settings.module"), exports);
18
+ __exportStar(require("./settings.service"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class CreateSettings1726152718000 implements MigrationInterface {
3
+ up(queryRunner: QueryRunner): Promise<void>;
4
+ down(queryRunner: QueryRunner): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EAGZ,MAAM,SAAS,CAAC;AAGjB,qBAAa,2BAA4B,YAAW,kBAAkB;IACvD,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAI3D"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateSettings1726152718000 = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const utils_1 = require("@hedhog/utils");
6
+ class CreateSettings1726152718000 {
7
+ async up(queryRunner) {
8
+ await queryRunner.createTable(new typeorm_1.Table({
9
+ name: 'settings',
10
+ columns: [
11
+ (0, utils_1.idColumn)(),
12
+ {
13
+ name: 'name',
14
+ type: 'varchar',
15
+ },
16
+ (0, utils_1.timestampColumn)(),
17
+ (0, utils_1.timestampColumn)('updated_at'),
18
+ ],
19
+ }));
20
+ await queryRunner.createTable(new typeorm_1.Table({
21
+ name: 'setting_values',
22
+ columns: [
23
+ (0, utils_1.idColumn)(),
24
+ {
25
+ name: 'value',
26
+ type: 'varchar',
27
+ length: '1023',
28
+ },
29
+ {
30
+ name: 'name',
31
+ type: 'varchar',
32
+ isUnique: true,
33
+ },
34
+ {
35
+ name: 'description',
36
+ type: 'varchar',
37
+ isNullable: true,
38
+ },
39
+ {
40
+ name: 'label',
41
+ type: 'varchar',
42
+ isNullable: true,
43
+ },
44
+ {
45
+ name: 'setting_id',
46
+ type: 'int',
47
+ },
48
+ (0, utils_1.timestampColumn)(),
49
+ (0, utils_1.timestampColumn)('updated_at'),
50
+ ],
51
+ }));
52
+ // Criação das foreign keys
53
+ await queryRunner.createForeignKey('setting_values', new typeorm_1.TableForeignKey({
54
+ columnNames: ['setting_id'],
55
+ referencedColumnNames: ['id'],
56
+ referencedTableName: 'settings',
57
+ onDelete: 'CASCADE',
58
+ }));
59
+ }
60
+ async down(queryRunner) {
61
+ await queryRunner.dropTable('setting_values');
62
+ await queryRunner.dropTable('settings');
63
+ }
64
+ }
65
+ exports.CreateSettings1726152718000 = CreateSettings1726152718000;
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":";;;AAAA,qCAKiB;AACjB,yCAA0D;AAE1D,MAAa,2BAA2B;IAC/B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,WAAW,CAC3B,IAAI,eAAK,CAAC;YACR,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,IAAA,gBAAQ,GAAE;gBACV;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;iBAChB;gBACD,IAAA,uBAAe,GAAE;gBACjB,IAAA,uBAAe,EAAC,YAAY,CAAC;aAC9B;SACF,CAAC,CACH,CAAC;QAEF,MAAM,WAAW,CAAC,WAAW,CAC3B,IAAI,eAAK,CAAC;YACR,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE;gBACP,IAAA,gBAAQ,GAAE;gBACV;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,MAAM;iBACf;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,KAAK;iBACZ;gBACD,IAAA,uBAAe,GAAE;gBACjB,IAAA,uBAAe,EAAC,YAAY,CAAC;aAC9B;SACF,CAAC,CACH,CAAC;QAEF,2BAA2B;QAC3B,MAAM,WAAW,CAAC,gBAAgB,CAChC,gBAAgB,EAChB,IAAI,yBAAe,CAAC;YAClB,WAAW,EAAE,CAAC,YAAY,CAAC;YAC3B,qBAAqB,EAAE,CAAC,IAAI,CAAC;YAC7B,mBAAmB,EAAE,UAAU;YAC/B,QAAQ,EAAE,SAAS;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9C,MAAM,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;CACF;AApED,kEAoEC"}
@@ -0,0 +1,14 @@
1
+ import { CreateDTO } from './dto/create.dto';
2
+ import { DeleteDTO } from './dto/delete.dto';
3
+ import { UpdateDTO } from './dto/update.dto';
4
+ import { SettingsService } from './settings.service';
5
+ export declare class SettingsController {
6
+ private readonly settingsService;
7
+ constructor(settingsService: SettingsService);
8
+ getSettings(paginationParams: any): Promise<import("@hedhog/pagination").PaginatedResult<unknown>>;
9
+ show(settingId: number): Promise<any>;
10
+ create(data: CreateDTO): Promise<any>;
11
+ update(settingId: number, data: UpdateDTO): Promise<any>;
12
+ delete(data: DeleteDTO): Promise<any>;
13
+ }
14
+ //# sourceMappingURL=settings.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.controller.d.ts","sourceRoot":"","sources":["../src/settings.controller.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAK7C,WAAW,CAAe,gBAAgB,KAAA;IAM1C,IAAI,CAAmC,SAAS,EAAE,MAAM;IAM9D,MAAM,CAAS,IAAI,EAAE,SAAS;IAMxB,MAAM,CACwB,SAAS,EAAE,MAAM,EAC3C,IAAI,EAAE,SAAS;IAUnB,MAAM,CAAS,IAAI,EAAE,SAAS;CAGrC"}
@@ -0,0 +1,93 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SettingsController = void 0;
16
+ const auth_1 = require("@hedhog/auth");
17
+ const pagination_1 = require("@hedhog/pagination");
18
+ const common_1 = require("@nestjs/common");
19
+ const create_dto_1 = require("./dto/create.dto");
20
+ const delete_dto_1 = require("./dto/delete.dto");
21
+ const update_dto_1 = require("./dto/update.dto");
22
+ const settings_service_1 = require("./settings.service");
23
+ let SettingsController = class SettingsController {
24
+ constructor(settingsService) {
25
+ this.settingsService = settingsService;
26
+ }
27
+ async getSettings(paginationParams) {
28
+ return this.settingsService.getSettings(paginationParams);
29
+ }
30
+ async show(settingId) {
31
+ return this.settingsService.get(settingId);
32
+ }
33
+ create(data) {
34
+ return this.settingsService.create(data);
35
+ }
36
+ async update(settingId, data) {
37
+ return this.settingsService.update({
38
+ id: settingId,
39
+ data,
40
+ });
41
+ }
42
+ async delete(data) {
43
+ return this.settingsService.delete(data);
44
+ }
45
+ };
46
+ exports.SettingsController = SettingsController;
47
+ __decorate([
48
+ (0, common_1.UseGuards)(auth_1.AuthGuard),
49
+ (0, common_1.Get)(),
50
+ __param(0, (0, pagination_1.Pagination)()),
51
+ __metadata("design:type", Function),
52
+ __metadata("design:paramtypes", [Object]),
53
+ __metadata("design:returntype", Promise)
54
+ ], SettingsController.prototype, "getSettings", null);
55
+ __decorate([
56
+ (0, common_1.UseGuards)(auth_1.AuthGuard),
57
+ (0, common_1.Get)(':settingId'),
58
+ __param(0, (0, common_1.Param)('settingId', common_1.ParseIntPipe)),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", [Number]),
61
+ __metadata("design:returntype", Promise)
62
+ ], SettingsController.prototype, "show", null);
63
+ __decorate([
64
+ (0, common_1.UseGuards)(auth_1.AuthGuard),
65
+ (0, common_1.Post)(),
66
+ __param(0, (0, common_1.Body)()),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [create_dto_1.CreateDTO]),
69
+ __metadata("design:returntype", void 0)
70
+ ], SettingsController.prototype, "create", null);
71
+ __decorate([
72
+ (0, common_1.UseGuards)(auth_1.AuthGuard),
73
+ (0, common_1.Patch)(':settingId'),
74
+ __param(0, (0, common_1.Param)('settingId', common_1.ParseIntPipe)),
75
+ __param(1, (0, common_1.Body)()),
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", [Number, update_dto_1.UpdateDTO]),
78
+ __metadata("design:returntype", Promise)
79
+ ], SettingsController.prototype, "update", null);
80
+ __decorate([
81
+ (0, common_1.UseGuards)(auth_1.AuthGuard),
82
+ (0, common_1.Delete)(),
83
+ __param(0, (0, common_1.Body)()),
84
+ __metadata("design:type", Function),
85
+ __metadata("design:paramtypes", [delete_dto_1.DeleteDTO]),
86
+ __metadata("design:returntype", Promise)
87
+ ], SettingsController.prototype, "delete", null);
88
+ exports.SettingsController = SettingsController = __decorate([
89
+ (0, common_1.Controller)('settings'),
90
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => settings_service_1.SettingsService))),
91
+ __metadata("design:paramtypes", [settings_service_1.SettingsService])
92
+ ], SettingsController);
93
+ //# sourceMappingURL=settings.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.controller.js","sourceRoot":"","sources":["../src/settings.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAyC;AACzC,mDAAgD;AAChD,2CAYwB;AACxB,iDAA6C;AAC7C,iDAA6C;AAC7C,iDAA6C;AAC7C,yDAAqD;AAG9C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAEmB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAIE,AAAN,KAAK,CAAC,WAAW,CAAe,gBAAgB;QAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAIK,AAAN,KAAK,CAAC,IAAI,CAAmC,SAAiB;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAID,MAAM,CAAS,IAAe;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CACwB,SAAiB,EAC3C,IAAe;QAEvB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YACjC,EAAE,EAAE,SAAS;YACb,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAe;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAzCY,gDAAkB;AAQvB;IAFL,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,YAAG,GAAE;IACa,WAAA,IAAA,uBAAU,GAAE,CAAA;;;;qDAE9B;AAIK;IAFL,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,YAAG,EAAC,YAAY,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,qBAAY,CAAC,CAAA;;;;8CAE3C;AAID;IAFC,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,sBAAS;;gDAE7B;AAIK;IAFL,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,cAAK,EAAC,YAAY,CAAC;IAEjB,WAAA,IAAA,cAAK,EAAC,WAAW,EAAE,qBAAY,CAAC,CAAA;IAChC,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,sBAAS;;gDAMxB;AAIK;IAFL,IAAA,kBAAS,EAAC,gBAAS,CAAC;IACpB,IAAA,eAAM,GAAE;IACK,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,sBAAS;;gDAEnC;6BAxCU,kBAAkB;IAD9B,IAAA,mBAAU,EAAC,UAAU,CAAC;IAGlB,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAe,CAAC,CAAC,CAAA;qCACR,kCAAe;GAHxC,kBAAkB,CAyC9B"}
@@ -0,0 +1,3 @@
1
+ export declare class SettingsModule {
2
+ }
3
+ //# sourceMappingURL=settings.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.module.d.ts","sourceRoot":"","sources":["../src/settings.module.ts"],"names":[],"mappings":"AAOA,qBAUa,cAAc;CAAG"}
@@ -0,0 +1,31 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SettingsModule = void 0;
10
+ const auth_1 = require("@hedhog/auth");
11
+ const pagination_1 = require("@hedhog/pagination");
12
+ const prisma_1 = require("@hedhog/prisma");
13
+ const common_1 = require("@nestjs/common");
14
+ const settings_controller_1 = require("./settings.controller");
15
+ const settings_service_1 = require("./settings.service");
16
+ let SettingsModule = class SettingsModule {
17
+ };
18
+ exports.SettingsModule = SettingsModule;
19
+ exports.SettingsModule = SettingsModule = __decorate([
20
+ (0, common_1.Module)({
21
+ providers: [settings_service_1.SettingsService],
22
+ exports: [settings_service_1.SettingsService],
23
+ controllers: [settings_controller_1.SettingsController],
24
+ imports: [
25
+ (0, common_1.forwardRef)(() => auth_1.AuthModule),
26
+ (0, common_1.forwardRef)(() => prisma_1.PrismaModule),
27
+ (0, common_1.forwardRef)(() => pagination_1.PaginationModule),
28
+ ],
29
+ })
30
+ ], SettingsModule);
31
+ //# sourceMappingURL=settings.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.module.js","sourceRoot":"","sources":["../src/settings.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAA0C;AAC1C,mDAAsD;AACtD,2CAA8C;AAC9C,2CAAoD;AACpD,+DAA2D;AAC3D,yDAAqD;AAY9C,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAV1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,kCAAe,CAAC;QAC5B,OAAO,EAAE,CAAC,kCAAe,CAAC;QAC1B,WAAW,EAAE,CAAC,wCAAkB,CAAC;QACjC,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6BAAgB,CAAC;SACnC;KACF,CAAC;GACW,cAAc,CAAG"}
@@ -0,0 +1,19 @@
1
+ import { PaginationDTO, PaginationService } from '@hedhog/pagination';
2
+ import { PrismaService } from '@hedhog/prisma';
3
+ import { CreateDTO } from './dto/create.dto';
4
+ import { DeleteDTO } from './dto/delete.dto';
5
+ import { UpdateDTO } from './dto/update.dto';
6
+ export declare class SettingsService {
7
+ private readonly prismaService;
8
+ private readonly paginationService;
9
+ constructor(prismaService: PrismaService, paginationService: PaginationService);
10
+ getSettings(paginationParams: PaginationDTO): Promise<import("@hedhog/pagination").PaginatedResult<unknown>>;
11
+ get(settingId: number): Promise<any>;
12
+ create({ name }: CreateDTO): Promise<any>;
13
+ update({ id, data }: {
14
+ id: number;
15
+ data: UpdateDTO;
16
+ }): Promise<any>;
17
+ delete({ ids }: DeleteDTO): Promise<any>;
18
+ }
19
+ //# sourceMappingURL=settings.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.service.d.ts","sourceRoot":"","sources":["../src/settings.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB;IAGjD,WAAW,CAAC,gBAAgB,EAAE,aAAa;IAsB3C,GAAG,CAAC,SAAS,EAAE,MAAM;IAMrB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;IAM1B,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE;IAOpD,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS;CAehC"}
@@ -0,0 +1,76 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SettingsService = void 0;
16
+ const pagination_1 = require("@hedhog/pagination");
17
+ const prisma_1 = require("@hedhog/prisma");
18
+ const common_1 = require("@nestjs/common");
19
+ let SettingsService = class SettingsService {
20
+ constructor(prismaService, paginationService) {
21
+ this.prismaService = prismaService;
22
+ this.paginationService = paginationService;
23
+ }
24
+ async getSettings(paginationParams) {
25
+ const OR = [
26
+ {
27
+ name: { contains: paginationParams.search, mode: 'insensitive' },
28
+ },
29
+ ];
30
+ if (!isNaN(+paginationParams.search)) {
31
+ OR.push({ id: { equals: +paginationParams.search } });
32
+ }
33
+ return this.paginationService.paginate(this.prismaService.settings, paginationParams, {
34
+ where: {
35
+ OR,
36
+ },
37
+ });
38
+ }
39
+ async get(settingId) {
40
+ return this.prismaService.settings.findUnique({
41
+ where: { id: settingId },
42
+ });
43
+ }
44
+ async create({ name }) {
45
+ return this.prismaService.settings.create({
46
+ data: { name },
47
+ });
48
+ }
49
+ async update({ id, data }) {
50
+ return this.prismaService.settings.update({
51
+ where: { id },
52
+ data,
53
+ });
54
+ }
55
+ async delete({ ids }) {
56
+ if (ids == undefined || ids == null) {
57
+ throw new common_1.BadRequestException(`You must select at least one setting to delete.`);
58
+ }
59
+ return this.prismaService.settings.deleteMany({
60
+ where: {
61
+ id: {
62
+ in: ids,
63
+ },
64
+ },
65
+ });
66
+ }
67
+ };
68
+ exports.SettingsService = SettingsService;
69
+ exports.SettingsService = SettingsService = __decorate([
70
+ (0, common_1.Injectable)(),
71
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => prisma_1.PrismaService))),
72
+ __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => pagination_1.PaginationService))),
73
+ __metadata("design:paramtypes", [prisma_1.PrismaService,
74
+ pagination_1.PaginationService])
75
+ ], SettingsService);
76
+ //# sourceMappingURL=settings.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../src/settings.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAsE;AACtE,2CAA+C;AAC/C,2CAKwB;AAMjB,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAEmB,aAA4B,EAE5B,iBAAoC;QAFpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,gBAA+B;QAC/C,MAAM,EAAE,GAAU;YAChB;gBACE,IAAI,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;aACjE;SACF,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAC3B,gBAAgB,EAChB;YACE,KAAK,EAAE;gBACL,EAAE;aACH;SACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAa;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAmC;QACxD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAa;QAC7B,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAC3B,iDAAiD,CAClD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5C,KAAK,EAAE;gBACL,EAAE,EAAE;oBACF,EAAE,EAAE,GAAG;iBACR;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhEY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,sBAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAiB,CAAC,CAAC,CAAA;qCADZ,sBAAa;QAET,8BAAiB;GAL5C,eAAe,CAgE3B"}
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@hedhog/setting",
3
+ "version": "0.0.1",
4
+ "private": false,
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "tsc --project tsconfig.production.json && npm version patch",
8
+ "prod": "npm run build && npm publish --access public"
9
+ },
10
+ "keywords": [],
11
+ "author": "",
12
+ "license": "MIT",
13
+ "description": "",
14
+ "peerDependencies": {
15
+ "@hedhog/auth": "latest",
16
+ "@hedhog/pagination": "latest",
17
+ "@prisma/client": "^5.17.0",
18
+ "bcrypt": "^5.1.1"
19
+ },
20
+ "devDependencies": {
21
+ "@hedhog/auth": "^0.0.5",
22
+ "@hedhog/pagination": "^0.0.2",
23
+ "@hedhog/prisma": "^0.0.2",
24
+ "ts-node": "^10.9.1",
25
+ "typescript": "^5.1.3"
26
+ }
27
+ }
@@ -0,0 +1,7 @@
1
+ import { IsNotEmpty, IsString } from 'class-validator';
2
+
3
+ export class CreateDTO {
4
+ @IsString({ message: 'O nome deve ser uma string' })
5
+ @IsNotEmpty({ message: 'O nome é obrigatório.' })
6
+ name: string;
7
+ }
@@ -0,0 +1,14 @@
1
+ import {
2
+ ArrayMinSize,
3
+ ArrayNotEmpty,
4
+ IsArray,
5
+ IsNumber,
6
+ } from 'class-validator';
7
+
8
+ export class DeleteDTO {
9
+ @IsArray()
10
+ @ArrayNotEmpty()
11
+ @ArrayMinSize(1)
12
+ @IsNumber({}, { each: true })
13
+ ids: number[];
14
+ }
@@ -0,0 +1,3 @@
1
+ import { CreateDTO } from './create.dto';
2
+
3
+ export class UpdateDTO extends CreateDTO {}
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './settings.module';
2
+ export * from './settings.service';
@@ -0,0 +1,77 @@
1
+ import {
2
+ MigrationInterface,
3
+ QueryRunner,
4
+ Table,
5
+ TableForeignKey,
6
+ } from 'typeorm';
7
+ import { idColumn, timestampColumn } from '@hedhog/utils';
8
+
9
+ export class CreateSettings1726152718000 implements MigrationInterface {
10
+ public async up(queryRunner: QueryRunner): Promise<void> {
11
+ await queryRunner.createTable(
12
+ new Table({
13
+ name: 'settings',
14
+ columns: [
15
+ idColumn(),
16
+ {
17
+ name: 'name',
18
+ type: 'varchar',
19
+ },
20
+ timestampColumn(),
21
+ timestampColumn('updated_at'),
22
+ ],
23
+ }),
24
+ );
25
+
26
+ await queryRunner.createTable(
27
+ new Table({
28
+ name: 'setting_values',
29
+ columns: [
30
+ idColumn(),
31
+ {
32
+ name: 'value',
33
+ type: 'varchar',
34
+ length: '1023',
35
+ },
36
+ {
37
+ name: 'name',
38
+ type: 'varchar',
39
+ isUnique: true,
40
+ },
41
+ {
42
+ name: 'description',
43
+ type: 'varchar',
44
+ isNullable: true,
45
+ },
46
+ {
47
+ name: 'label',
48
+ type: 'varchar',
49
+ isNullable: true,
50
+ },
51
+ {
52
+ name: 'setting_id',
53
+ type: 'int',
54
+ },
55
+ timestampColumn(),
56
+ timestampColumn('updated_at'),
57
+ ],
58
+ }),
59
+ );
60
+
61
+ // Criação das foreign keys
62
+ await queryRunner.createForeignKey(
63
+ 'setting_values',
64
+ new TableForeignKey({
65
+ columnNames: ['setting_id'],
66
+ referencedColumnNames: ['id'],
67
+ referencedTableName: 'settings',
68
+ onDelete: 'CASCADE',
69
+ }),
70
+ );
71
+ }
72
+
73
+ public async down(queryRunner: QueryRunner): Promise<void> {
74
+ await queryRunner.dropTable('setting_values');
75
+ await queryRunner.dropTable('settings');
76
+ }
77
+ }
@@ -0,0 +1,63 @@
1
+ import { AuthGuard } from '@hedhog/auth';
2
+ import { Pagination } from '@hedhog/pagination';
3
+ import {
4
+ Body,
5
+ Controller,
6
+ Delete,
7
+ Get,
8
+ Inject,
9
+ Param,
10
+ ParseIntPipe,
11
+ Patch,
12
+ Post,
13
+ UseGuards,
14
+ forwardRef,
15
+ } from '@nestjs/common';
16
+ import { CreateDTO } from './dto/create.dto';
17
+ import { DeleteDTO } from './dto/delete.dto';
18
+ import { UpdateDTO } from './dto/update.dto';
19
+ import { SettingsService } from './settings.service';
20
+
21
+ @Controller('settings')
22
+ export class SettingsController {
23
+ constructor(
24
+ @Inject(forwardRef(() => SettingsService))
25
+ private readonly settingsService: SettingsService,
26
+ ) {}
27
+
28
+ @UseGuards(AuthGuard)
29
+ @Get()
30
+ async getSettings(@Pagination() paginationParams) {
31
+ return this.settingsService.getSettings(paginationParams);
32
+ }
33
+
34
+ @UseGuards(AuthGuard)
35
+ @Get(':settingId')
36
+ async show(@Param('settingId', ParseIntPipe) settingId: number) {
37
+ return this.settingsService.get(settingId);
38
+ }
39
+
40
+ @UseGuards(AuthGuard)
41
+ @Post()
42
+ create(@Body() data: CreateDTO) {
43
+ return this.settingsService.create(data);
44
+ }
45
+
46
+ @UseGuards(AuthGuard)
47
+ @Patch(':settingId')
48
+ async update(
49
+ @Param('settingId', ParseIntPipe) settingId: number,
50
+ @Body() data: UpdateDTO,
51
+ ) {
52
+ return this.settingsService.update({
53
+ id: settingId,
54
+ data,
55
+ });
56
+ }
57
+
58
+ @UseGuards(AuthGuard)
59
+ @Delete()
60
+ async delete(@Body() data: DeleteDTO) {
61
+ return this.settingsService.delete(data);
62
+ }
63
+ }
@@ -0,0 +1,18 @@
1
+ import { AuthModule } from '@hedhog/auth';
2
+ import { PaginationModule } from '@hedhog/pagination';
3
+ import { PrismaModule } from '@hedhog/prisma';
4
+ import { Module, forwardRef } from '@nestjs/common';
5
+ import { SettingsController } from './settings.controller';
6
+ import { SettingsService } from './settings.service';
7
+
8
+ @Module({
9
+ providers: [SettingsService],
10
+ exports: [SettingsService],
11
+ controllers: [SettingsController],
12
+ imports: [
13
+ forwardRef(() => AuthModule),
14
+ forwardRef(() => PrismaModule),
15
+ forwardRef(() => PaginationModule),
16
+ ],
17
+ })
18
+ export class SettingsModule {}
@@ -0,0 +1,78 @@
1
+ import { PaginationDTO, PaginationService } from '@hedhog/pagination';
2
+ import { PrismaService } from '@hedhog/prisma';
3
+ import {
4
+ BadRequestException,
5
+ Inject,
6
+ Injectable,
7
+ forwardRef,
8
+ } from '@nestjs/common';
9
+ import { CreateDTO } from './dto/create.dto';
10
+ import { DeleteDTO } from './dto/delete.dto';
11
+ import { UpdateDTO } from './dto/update.dto';
12
+
13
+ @Injectable()
14
+ export class SettingsService {
15
+ constructor(
16
+ @Inject(forwardRef(() => PrismaService))
17
+ private readonly prismaService: PrismaService,
18
+ @Inject(forwardRef(() => PaginationService))
19
+ private readonly paginationService: PaginationService,
20
+ ) {}
21
+
22
+ async getSettings(paginationParams: PaginationDTO) {
23
+ const OR: any[] = [
24
+ {
25
+ name: { contains: paginationParams.search, mode: 'insensitive' },
26
+ },
27
+ ];
28
+
29
+ if (!isNaN(+paginationParams.search)) {
30
+ OR.push({ id: { equals: +paginationParams.search } });
31
+ }
32
+
33
+ return this.paginationService.paginate(
34
+ this.prismaService.settings,
35
+ paginationParams,
36
+ {
37
+ where: {
38
+ OR,
39
+ },
40
+ },
41
+ );
42
+ }
43
+
44
+ async get(settingId: number) {
45
+ return this.prismaService.settings.findUnique({
46
+ where: { id: settingId },
47
+ });
48
+ }
49
+
50
+ async create({ name }: CreateDTO) {
51
+ return this.prismaService.settings.create({
52
+ data: { name },
53
+ });
54
+ }
55
+
56
+ async update({ id, data }: { id: number; data: UpdateDTO }) {
57
+ return this.prismaService.settings.update({
58
+ where: { id },
59
+ data,
60
+ });
61
+ }
62
+
63
+ async delete({ ids }: DeleteDTO) {
64
+ if (ids == undefined || ids == null) {
65
+ throw new BadRequestException(
66
+ `You must select at least one setting to delete.`,
67
+ );
68
+ }
69
+
70
+ return this.prismaService.settings.deleteMany({
71
+ where: {
72
+ id: {
73
+ in: ids,
74
+ },
75
+ },
76
+ });
77
+ }
78
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "outDir": "../../dist/libs/setting"
6
+ },
7
+ "include": ["src/**/*"],
8
+ "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
9
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "experimentalDecorators": true,
4
+ "target": "es2017",
5
+ "module": "commonjs",
6
+ "lib": ["es2017", "es7", "es6"],
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "sourceMap": true,
10
+ "outDir": "./dist",
11
+ "rootDir": "./src",
12
+ "strict": true,
13
+ "noImplicitAny": false,
14
+ "strictNullChecks": false,
15
+ "allowSyntheticDefaultImports": true,
16
+ "esModuleInterop": true,
17
+ "emitDecoratorMetadata": true
18
+ },
19
+ "exclude": ["node_modules", "dist"]
20
+ }