@dirayaah/assessment-module 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.
Files changed (156) hide show
  1. package/.prettierrc +4 -0
  2. package/README copy.md +93 -0
  3. package/README.md +93 -0
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.js +26 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/jest.config.d.ts +0 -0
  8. package/dist/jest.config.js +10 -0
  9. package/dist/jest.config.js.map +1 -0
  10. package/dist/src/constants/assessments-options.d.ts +1 -0
  11. package/dist/src/constants/assessments-options.js +5 -0
  12. package/dist/src/constants/assessments-options.js.map +1 -0
  13. package/dist/src/constants/index.d.ts +3 -0
  14. package/dist/src/constants/index.js +10 -0
  15. package/dist/src/constants/index.js.map +1 -0
  16. package/dist/src/constants/predefined-assessments/disc.d.ts +3 -0
  17. package/dist/src/constants/predefined-assessments/disc.js +184 -0
  18. package/dist/src/constants/predefined-assessments/disc.js.map +1 -0
  19. package/dist/src/constants/predefined-assessments/holland.d.ts +3 -0
  20. package/dist/src/constants/predefined-assessments/holland.js +208 -0
  21. package/dist/src/constants/predefined-assessments/holland.js.map +1 -0
  22. package/dist/src/constants/predefined-assessments/index.d.ts +4 -0
  23. package/dist/src/constants/predefined-assessments/index.js +10 -0
  24. package/dist/src/constants/predefined-assessments/index.js.map +1 -0
  25. package/dist/src/constants/predefined-assessments/leadership.d.ts +3 -0
  26. package/dist/src/constants/predefined-assessments/leadership.js +211 -0
  27. package/dist/src/constants/predefined-assessments/leadership.js.map +1 -0
  28. package/dist/src/dto/assessment.dto.d.ts +14 -0
  29. package/dist/src/dto/assessment.dto.js +88 -0
  30. package/dist/src/dto/assessment.dto.js.map +1 -0
  31. package/dist/src/dto/base.dto.d.ts +7 -0
  32. package/dist/src/dto/base.dto.js +7 -0
  33. package/dist/src/dto/base.dto.js.map +1 -0
  34. package/dist/src/dto/index.d.ts +3 -0
  35. package/dist/src/dto/index.js +8 -0
  36. package/dist/src/dto/index.js.map +1 -0
  37. package/dist/src/dto/predefined-assessment.dto.d.ts +12 -0
  38. package/dist/src/dto/predefined-assessment.dto.js +74 -0
  39. package/dist/src/dto/predefined-assessment.dto.js.map +1 -0
  40. package/dist/src/entities/assessment.entity.d.ts +15 -0
  41. package/dist/src/entities/assessment.entity.js +69 -0
  42. package/dist/src/entities/assessment.entity.js.map +1 -0
  43. package/dist/src/entities/base.entity.d.ts +7 -0
  44. package/dist/src/entities/base.entity.js +37 -0
  45. package/dist/src/entities/base.entity.js.map +1 -0
  46. package/dist/src/entities/index.d.ts +3 -0
  47. package/dist/src/entities/index.js +8 -0
  48. package/dist/src/entities/index.js.map +1 -0
  49. package/dist/src/entities/pagination.d.ts +19 -0
  50. package/dist/src/entities/pagination.js +58 -0
  51. package/dist/src/entities/pagination.js.map +1 -0
  52. package/dist/src/entities/predefined-assessment.entity.d.ts +13 -0
  53. package/dist/src/entities/predefined-assessment.entity.js +55 -0
  54. package/dist/src/entities/predefined-assessment.entity.js.map +1 -0
  55. package/dist/src/enums/index.d.ts +3 -0
  56. package/dist/src/enums/index.js +8 -0
  57. package/dist/src/enums/index.js.map +1 -0
  58. package/dist/src/enums/language.d.ts +5 -0
  59. package/dist/src/enums/language.js +10 -0
  60. package/dist/src/enums/language.js.map +1 -0
  61. package/dist/src/enums/predefined-assessment-type.d.ts +5 -0
  62. package/dist/src/enums/predefined-assessment-type.js +10 -0
  63. package/dist/src/enums/predefined-assessment-type.js.map +1 -0
  64. package/dist/src/interfaces/assessments-options.interface.d.ts +6 -0
  65. package/dist/src/interfaces/assessments-options.interface.js +3 -0
  66. package/dist/src/interfaces/assessments-options.interface.js.map +1 -0
  67. package/dist/src/mappers/assessment.mapper.d.ts +6 -0
  68. package/dist/src/mappers/assessment.mapper.js +31 -0
  69. package/dist/src/mappers/assessment.mapper.js.map +1 -0
  70. package/dist/src/mappers/predefined-assessment.mapper.d.ts +6 -0
  71. package/dist/src/mappers/predefined-assessment.mapper.js +31 -0
  72. package/dist/src/mappers/predefined-assessment.mapper.js.map +1 -0
  73. package/dist/src/migrations/1767108782301-CreateAssessmentTable.d.ts +5 -0
  74. package/dist/src/migrations/1767108782301-CreateAssessmentTable.js +83 -0
  75. package/dist/src/migrations/1767108782301-CreateAssessmentTable.js.map +1 -0
  76. package/dist/src/migrations/1767200020161-CreatePredefinedAssessmentTable.d.ts +6 -0
  77. package/dist/src/migrations/1767200020161-CreatePredefinedAssessmentTable.js +70 -0
  78. package/dist/src/migrations/1767200020161-CreatePredefinedAssessmentTable.js.map +1 -0
  79. package/dist/src/migrations/1767204696509-SeedPredefinedAssessments.d.ts +6 -0
  80. package/dist/src/migrations/1767204696509-SeedPredefinedAssessments.js +29 -0
  81. package/dist/src/migrations/1767204696509-SeedPredefinedAssessments.js.map +1 -0
  82. package/dist/src/migrations/1767651698587-AddMetaFieldsToAssessmentTable.d.ts +7 -0
  83. package/dist/src/migrations/1767651698587-AddMetaFieldsToAssessmentTable.js +60 -0
  84. package/dist/src/migrations/1767651698587-AddMetaFieldsToAssessmentTable.js.map +1 -0
  85. package/dist/src/migrations/index.d.ts +6 -0
  86. package/dist/src/migrations/index.js +18 -0
  87. package/dist/src/migrations/index.js.map +1 -0
  88. package/dist/src/modules/assessment.module.d.ts +5 -0
  89. package/dist/src/modules/assessment.module.js +34 -0
  90. package/dist/src/modules/assessment.module.js.map +1 -0
  91. package/dist/src/repositories/assessment.repository.d.ts +4 -0
  92. package/dist/src/repositories/assessment.repository.js +19 -0
  93. package/dist/src/repositories/assessment.repository.js.map +1 -0
  94. package/dist/src/repositories/base.repository.d.ts +10 -0
  95. package/dist/src/repositories/base.repository.js +29 -0
  96. package/dist/src/repositories/base.repository.js.map +1 -0
  97. package/dist/src/repositories/index.d.ts +3 -0
  98. package/dist/src/repositories/index.js +8 -0
  99. package/dist/src/repositories/index.js.map +1 -0
  100. package/dist/src/repositories/predefined-assessment.repository.d.ts +4 -0
  101. package/dist/src/repositories/predefined-assessment.repository.js +19 -0
  102. package/dist/src/repositories/predefined-assessment.repository.js.map +1 -0
  103. package/dist/src/services/assessment.service.d.ts +23 -0
  104. package/dist/src/services/assessment.service.js +108 -0
  105. package/dist/src/services/assessment.service.js.map +1 -0
  106. package/dist/src/services/index.d.ts +3 -0
  107. package/dist/src/services/index.js +8 -0
  108. package/dist/src/services/index.js.map +1 -0
  109. package/dist/src/services/predefined-assessment.service.d.ts +21 -0
  110. package/dist/src/services/predefined-assessment.service.js +95 -0
  111. package/dist/src/services/predefined-assessment.service.js.map +1 -0
  112. package/dist/src/utilities/migrations/get-base-columns.d.ts +2 -0
  113. package/dist/src/utilities/migrations/get-base-columns.js +34 -0
  114. package/dist/src/utilities/migrations/get-base-columns.js.map +1 -0
  115. package/dist/tsconfig.tsbuildinfo +1 -0
  116. package/index.ts +26 -0
  117. package/jest.config.ts +10 -0
  118. package/nest-cli.json +8 -0
  119. package/package.json +53 -0
  120. package/src/constants/assessments-options.ts +1 -0
  121. package/src/constants/index.ts +12 -0
  122. package/src/constants/predefined-assessments/disc.ts +205 -0
  123. package/src/constants/predefined-assessments/holland.ts +235 -0
  124. package/src/constants/predefined-assessments/index.ts +5 -0
  125. package/src/constants/predefined-assessments/leadership.ts +242 -0
  126. package/src/dto/assessment.dto.ts +69 -0
  127. package/src/dto/base.dto.ts +11 -0
  128. package/src/dto/index.ts +4 -0
  129. package/src/dto/predefined-assessment.dto.ts +59 -0
  130. package/src/entities/assessment.entity.ts +41 -0
  131. package/src/entities/base.entity.ts +23 -0
  132. package/src/entities/index.ts +4 -0
  133. package/src/entities/pagination.ts +42 -0
  134. package/src/entities/predefined-assessment.entity.ts +31 -0
  135. package/src/enums/index.ts +4 -0
  136. package/src/enums/language.ts +5 -0
  137. package/src/enums/predefined-assessment-type.ts +5 -0
  138. package/src/interfaces/assessments-options.interface.ts +6 -0
  139. package/src/mappers/assessment.mapper.ts +34 -0
  140. package/src/mappers/predefined-assessment.mapper.ts +36 -0
  141. package/src/migrations/1767108782301-CreateAssessmentTable.ts +88 -0
  142. package/src/migrations/1767200020161-CreatePredefinedAssessmentTable.ts +77 -0
  143. package/src/migrations/1767204696509-SeedPredefinedAssessments.ts +32 -0
  144. package/src/migrations/1767651698587-AddMetaFieldsToAssessmentTable.ts +88 -0
  145. package/src/migrations/index.ts +20 -0
  146. package/src/modules/assessment.module.ts +22 -0
  147. package/src/repositories/assessment.repository.ts +6 -0
  148. package/src/repositories/base.repository.ts +39 -0
  149. package/src/repositories/index.ts +4 -0
  150. package/src/repositories/predefined-assessment.repository.ts +6 -0
  151. package/src/services/assessment.service.ts +144 -0
  152. package/src/services/index.ts +4 -0
  153. package/src/services/predefined-assessment.service.ts +121 -0
  154. package/src/utilities/migrations/get-base-columns.ts +32 -0
  155. package/tsconfig.build.json +4 -0
  156. package/tsconfig.json +21 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateAssessmentTable1767108782301 = void 0;
4
+ const get_base_columns_1 = require("../utilities/migrations/get-base-columns");
5
+ const index_js_1 = require("typeorm/index.js");
6
+ class CreateAssessmentTable1767108782301 {
7
+ async up(queryRunner) {
8
+ const [idColumn, ...otherBaseColumns] = get_base_columns_1.baseColumns;
9
+ await queryRunner.createTable(new index_js_1.Table({
10
+ name: 'assessment',
11
+ columns: [
12
+ idColumn,
13
+ {
14
+ name: 'title',
15
+ type: 'varchar',
16
+ isNullable: false,
17
+ },
18
+ {
19
+ name: 'type',
20
+ type: 'varchar',
21
+ isNullable: false,
22
+ },
23
+ {
24
+ name: 'description',
25
+ type: 'text',
26
+ isNullable: true,
27
+ },
28
+ {
29
+ name: 'background_image_url',
30
+ type: 'varchar',
31
+ isNullable: true,
32
+ },
33
+ {
34
+ name: 'price',
35
+ type: 'numeric',
36
+ isNullable: true,
37
+ },
38
+ {
39
+ name: 'discount_price',
40
+ type: 'numeric',
41
+ isNullable: true,
42
+ },
43
+ {
44
+ name: 'status',
45
+ type: 'varchar',
46
+ isNullable: true,
47
+ },
48
+ {
49
+ name: 'configuration',
50
+ type: 'json',
51
+ isNullable: true,
52
+ },
53
+ {
54
+ name: 'published_by',
55
+ type: 'varchar',
56
+ isNullable: true,
57
+ },
58
+ {
59
+ name: 'is_private',
60
+ type: 'boolean',
61
+ default: false,
62
+ },
63
+ {
64
+ name: 'slug',
65
+ type: 'varchar',
66
+ isNullable: false,
67
+ },
68
+ {
69
+ name: 'meta_description',
70
+ type: 'varchar',
71
+ isNullable: true,
72
+ },
73
+ ...otherBaseColumns,
74
+ ],
75
+ uniques: [{ columnNames: ['slug'] }],
76
+ }), true);
77
+ }
78
+ async down(queryRunner) {
79
+ await queryRunner.dropTable('assessment');
80
+ }
81
+ }
82
+ exports.CreateAssessmentTable1767108782301 = CreateAssessmentTable1767108782301;
83
+ //# sourceMappingURL=1767108782301-CreateAssessmentTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1767108782301-CreateAssessmentTable.js","sourceRoot":"","sources":["../../../src/migrations/1767108782301-CreateAssessmentTable.ts"],"names":[],"mappings":";;;AAAA,+EAAuE;AACvE,+CAK0B;AAE1B,MAAa,kCAAkC;IACtC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,GAAG,8BAAW,CAAC;QACpD,MAAM,WAAW,CAAC,WAAW,CAC3B,IAAI,gBAAK,CAAC;YACR,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE;gBACP,QAAQ;gBACR;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,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,gBAAgB;oBACtB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;iBACf;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACrC,CAAC,EACF,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;CACF;AA/ED,gFA+EC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm/index.js';
2
+ export declare class CreatePredefinedAssessmentTable1767200020161 implements MigrationInterface {
3
+ private readonly tableName;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreatePredefinedAssessmentTable1767200020161 = void 0;
4
+ const enums_1 = require("../enums");
5
+ const language_1 = require("../enums/language");
6
+ const get_base_columns_1 = require("../utilities/migrations/get-base-columns");
7
+ const index_js_1 = require("typeorm/index.js");
8
+ class CreatePredefinedAssessmentTable1767200020161 {
9
+ constructor() {
10
+ this.tableName = 'predefined_assessment';
11
+ }
12
+ async up(queryRunner) {
13
+ const [idColumn, ...otherBaseColumns] = get_base_columns_1.baseColumns;
14
+ await queryRunner.createTable(new index_js_1.Table({
15
+ name: this.tableName,
16
+ columns: [
17
+ idColumn,
18
+ {
19
+ name: 'title',
20
+ type: 'varchar',
21
+ isNullable: false,
22
+ },
23
+ {
24
+ name: 'type',
25
+ type: 'enum',
26
+ enum: Object.values(enums_1.PredefinedAssessmentType),
27
+ isNullable: false,
28
+ },
29
+ {
30
+ name: 'description',
31
+ type: 'text',
32
+ isNullable: true,
33
+ },
34
+ {
35
+ name: 'background_image_url',
36
+ type: 'varchar',
37
+ isNullable: true,
38
+ },
39
+ {
40
+ name: 'language',
41
+ type: 'enum',
42
+ enum: Object.values(language_1.AssessmentDetailsLanguage),
43
+ isNullable: false,
44
+ },
45
+ {
46
+ name: 'category',
47
+ type: 'varchar',
48
+ isNullable: true,
49
+ },
50
+ {
51
+ name: 'details',
52
+ type: 'json',
53
+ isNullable: false,
54
+ },
55
+ {
56
+ name: 'configuration',
57
+ type: 'json',
58
+ isNullable: true,
59
+ },
60
+ ...otherBaseColumns,
61
+ ],
62
+ uniques: [{ columnNames: ['type', 'language'] }],
63
+ }), true);
64
+ }
65
+ async down(queryRunner) {
66
+ await queryRunner.dropTable(this.tableName);
67
+ }
68
+ }
69
+ exports.CreatePredefinedAssessmentTable1767200020161 = CreatePredefinedAssessmentTable1767200020161;
70
+ //# sourceMappingURL=1767200020161-CreatePredefinedAssessmentTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1767200020161-CreatePredefinedAssessmentTable.js","sourceRoot":"","sources":["../../../src/migrations/1767200020161-CreatePredefinedAssessmentTable.ts"],"names":[],"mappings":";;;AAAA,oCAAoD;AACpD,gDAA8D;AAC9D,+EAAuE;AACvE,+CAO0B;AAE1B,MAAa,4CAA4C;IAAzD;QAGmB,cAAS,GAAG,uBAAuB,CAAC;IA6DvD,CAAC;IA5DQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,GAAG,8BAAW,CAAC;QACpD,MAAM,WAAW,CAAC,WAAW,CAC3B,IAAI,gBAAK,CAAC;YACR,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,OAAO,EAAE;gBACP,QAAQ;gBACR;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,gCAAwB,CAAC;oBAC7C,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,oCAAyB,CAAC;oBAC9C,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;SACjD,CAAC,EACF,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;CACF;AAhED,oGAgEC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm/index.js';
2
+ export declare class SeedPredefinedAssessments1767204696509 implements MigrationInterface {
3
+ private readonly tableName;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SeedPredefinedAssessments1767204696509 = void 0;
4
+ const entities_1 = require("../entities");
5
+ const constants_1 = require("../constants");
6
+ class SeedPredefinedAssessments1767204696509 {
7
+ constructor() {
8
+ this.tableName = 'predefined_assessment';
9
+ }
10
+ async up(queryRunner) {
11
+ const assessments = [
12
+ ...constants_1.DISC_ASSESSMENT,
13
+ ...constants_1.HOLLAND_ASSESSMENT,
14
+ ...constants_1.LEADERSHIP_ASSESSMENT,
15
+ ].map((item) => ({
16
+ ...item,
17
+ configuration: item.configuration ?? {},
18
+ }));
19
+ for (const assessment of assessments) {
20
+ await queryRunner.manager.save(queryRunner.manager.create(entities_1.PredefinedAssessmentEntity, assessment));
21
+ }
22
+ ;
23
+ }
24
+ async down(queryRunner) {
25
+ await queryRunner.query(`DELETE FROM "${this.tableName}"`);
26
+ }
27
+ }
28
+ exports.SeedPredefinedAssessments1767204696509 = SeedPredefinedAssessments1767204696509;
29
+ //# sourceMappingURL=1767204696509-SeedPredefinedAssessments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1767204696509-SeedPredefinedAssessments.js","sourceRoot":"","sources":["../../../src/migrations/1767204696509-SeedPredefinedAssessments.ts"],"names":[],"mappings":";;;AAAA,0CAAyD;AACzD,4CAIsB;AAGtB,MAAa,sCAAsC;IAAnD;QAGmB,cAAS,GAAG,uBAAuB,CAAC;IAoBvD,CAAC;IAlBQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,GAAG;YAClB,GAAG,2BAAe;YAClB,GAAG,8BAAkB;YACrB,GAAG,iCAAqB;SACzB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACf,GAAG,IAAI;YACP,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;SACxC,CAAC,CAAC,CAAC;QAEJ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,qCAA0B,EAAE,UAAU,CAAC,CAAC,CAAC;QACvG,CAAC;QAAA,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAvBD,wFAuBC"}
@@ -0,0 +1,7 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm/index.js';
2
+ export declare class AddMetaFieldsToAssessmentTable1767651698587 implements MigrationInterface {
3
+ private readonly tableName;
4
+ private readonly slugUniqueConstraintName;
5
+ up(queryRunner: QueryRunner): Promise<void>;
6
+ down(queryRunner: QueryRunner): Promise<void>;
7
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddMetaFieldsToAssessmentTable1767651698587 = void 0;
4
+ const index_js_1 = require("typeorm/index.js");
5
+ class AddMetaFieldsToAssessmentTable1767651698587 {
6
+ constructor() {
7
+ this.tableName = 'assessment';
8
+ this.slugUniqueConstraintName = `UQ_${this.tableName}_slug`;
9
+ }
10
+ async up(queryRunner) {
11
+ const table = await queryRunner.getTable(this.tableName);
12
+ if (!table) {
13
+ throw new Error(`Table ${this.tableName} does not exist`);
14
+ }
15
+ const columnsToAdd = [];
16
+ if (!table.findColumnByName('slug')) {
17
+ columnsToAdd.push(new index_js_1.TableColumn({
18
+ name: 'slug',
19
+ type: 'varchar',
20
+ isNullable: false,
21
+ }));
22
+ }
23
+ if (!table.findColumnByName('meta_description')) {
24
+ columnsToAdd.push(new index_js_1.TableColumn({
25
+ name: 'meta_description',
26
+ type: 'varchar',
27
+ isNullable: true,
28
+ }));
29
+ }
30
+ if (columnsToAdd.length > 0) {
31
+ await queryRunner.addColumns(this.tableName, columnsToAdd);
32
+ }
33
+ const refreshedTable = await queryRunner.getTable(this.tableName);
34
+ if (refreshedTable) {
35
+ const slugColumn = refreshedTable.findColumnByName('slug');
36
+ if (slugColumn) {
37
+ const existingConstraint = refreshedTable.uniques.find((u) => u.name === this.slugUniqueConstraintName);
38
+ const hasSlugUnique = refreshedTable.uniques.some((u) => u.columnNames.includes('slug'));
39
+ if (!existingConstraint && !hasSlugUnique) {
40
+ await queryRunner.createUniqueConstraint(this.tableName, new index_js_1.TableUnique({
41
+ name: this.slugUniqueConstraintName,
42
+ columnNames: ['slug'],
43
+ }));
44
+ }
45
+ }
46
+ }
47
+ }
48
+ async down(queryRunner) {
49
+ const constraintExists = await queryRunner.getTable(this.tableName);
50
+ if (constraintExists) {
51
+ const uniqueConstraint = constraintExists.uniques.find((u) => u.name === this.slugUniqueConstraintName);
52
+ if (uniqueConstraint) {
53
+ await queryRunner.dropUniqueConstraint(this.tableName, this.slugUniqueConstraintName);
54
+ }
55
+ }
56
+ await queryRunner.dropColumns(this.tableName, ['slug', 'meta_description']);
57
+ }
58
+ }
59
+ exports.AddMetaFieldsToAssessmentTable1767651698587 = AddMetaFieldsToAssessmentTable1767651698587;
60
+ //# sourceMappingURL=1767651698587-AddMetaFieldsToAssessmentTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1767651698587-AddMetaFieldsToAssessmentTable.js","sourceRoot":"","sources":["../../../src/migrations/1767651698587-AddMetaFieldsToAssessmentTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CreateAssessmentTable1767108782301 } from './1767108782301-CreateAssessmentTable';
2
+ import { CreatePredefinedAssessmentTable1767200020161 } from './1767200020161-CreatePredefinedAssessmentTable';
3
+ import { SeedPredefinedAssessments1767204696509 } from './1767204696509-SeedPredefinedAssessments';
4
+ import { AddMetaFieldsToAssessmentTable1767651698587 } from './1767651698587-AddMetaFieldsToAssessmentTable';
5
+ export declare const AssessmentMigrations: (typeof CreateAssessmentTable1767108782301)[];
6
+ export { CreateAssessmentTable1767108782301, CreatePredefinedAssessmentTable1767200020161, SeedPredefinedAssessments1767204696509, AddMetaFieldsToAssessmentTable1767651698587, };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddMetaFieldsToAssessmentTable1767651698587 = exports.SeedPredefinedAssessments1767204696509 = exports.CreatePredefinedAssessmentTable1767200020161 = exports.CreateAssessmentTable1767108782301 = exports.AssessmentMigrations = void 0;
4
+ const _1767108782301_CreateAssessmentTable_1 = require("./1767108782301-CreateAssessmentTable");
5
+ Object.defineProperty(exports, "CreateAssessmentTable1767108782301", { enumerable: true, get: function () { return _1767108782301_CreateAssessmentTable_1.CreateAssessmentTable1767108782301; } });
6
+ const _1767200020161_CreatePredefinedAssessmentTable_1 = require("./1767200020161-CreatePredefinedAssessmentTable");
7
+ Object.defineProperty(exports, "CreatePredefinedAssessmentTable1767200020161", { enumerable: true, get: function () { return _1767200020161_CreatePredefinedAssessmentTable_1.CreatePredefinedAssessmentTable1767200020161; } });
8
+ const _1767204696509_SeedPredefinedAssessments_1 = require("./1767204696509-SeedPredefinedAssessments");
9
+ Object.defineProperty(exports, "SeedPredefinedAssessments1767204696509", { enumerable: true, get: function () { return _1767204696509_SeedPredefinedAssessments_1.SeedPredefinedAssessments1767204696509; } });
10
+ const _1767651698587_AddMetaFieldsToAssessmentTable_1 = require("./1767651698587-AddMetaFieldsToAssessmentTable");
11
+ Object.defineProperty(exports, "AddMetaFieldsToAssessmentTable1767651698587", { enumerable: true, get: function () { return _1767651698587_AddMetaFieldsToAssessmentTable_1.AddMetaFieldsToAssessmentTable1767651698587; } });
12
+ exports.AssessmentMigrations = [
13
+ _1767108782301_CreateAssessmentTable_1.CreateAssessmentTable1767108782301,
14
+ _1767200020161_CreatePredefinedAssessmentTable_1.CreatePredefinedAssessmentTable1767200020161,
15
+ _1767204696509_SeedPredefinedAssessments_1.SeedPredefinedAssessments1767204696509,
16
+ _1767651698587_AddMetaFieldsToAssessmentTable_1.AddMetaFieldsToAssessmentTable1767651698587,
17
+ ];
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":";;;AAAA,gGAA2F;AAezF,mHAfO,yEAAkC,OAeP;AAbpC,oHAA+G;AAc7G,6HAdO,6FAA4C,OAcP;AAZ9C,wGAAmG;AAajG,uHAbO,iFAAsC,OAaP;AAXxC,kHAA6G;AAY3G,4HAZO,2FAA2C,OAYP;AAXhC,QAAA,oBAAoB,GAAG;IAClC,yEAAkC;IAClC,6FAA4C;IAC5C,iFAAsC;IACtC,2FAA2C;CAC5C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { AssessmentModuleOptions } from '../interfaces/assessments-options.interface';
3
+ export declare class AssessmentModule {
4
+ static forRoot(options: AssessmentModuleOptions): DynamicModule;
5
+ }
@@ -0,0 +1,34 @@
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 AssessmentModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AssessmentModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const services_1 = require("../services");
13
+ const constants_1 = require("../constants");
14
+ let AssessmentModule = AssessmentModule_1 = class AssessmentModule {
15
+ static forRoot(options) {
16
+ return {
17
+ module: AssessmentModule_1,
18
+ providers: [
19
+ {
20
+ provide: constants_1.ASSESSMENTS_OPTIONS,
21
+ useValue: options,
22
+ },
23
+ services_1.AssessmentService,
24
+ services_1.PredefinedAssessmentService,
25
+ ],
26
+ exports: [services_1.AssessmentService, services_1.PredefinedAssessmentService],
27
+ };
28
+ }
29
+ };
30
+ exports.AssessmentModule = AssessmentModule;
31
+ exports.AssessmentModule = AssessmentModule = AssessmentModule_1 = __decorate([
32
+ (0, common_1.Module)({})
33
+ ], AssessmentModule);
34
+ //# sourceMappingURL=assessment.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessment.module.js","sourceRoot":"","sources":["../../../src/modules/assessment.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,0CAA6E;AAE7E,4CAAmD;AAG5C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,+BAAmB;oBAC5B,QAAQ,EAAE,OAAO;iBAClB;gBACD,4BAAiB;gBACjB,sCAA2B;aAC5B;YACD,OAAO,EAAE,CAAC,4BAAiB,EAAE,sCAA2B,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF,CAAA;AAfY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gBAAgB,CAe5B"}
@@ -0,0 +1,4 @@
1
+ import { AssessmentEntity } from '../entities';
2
+ import { BaseRepository } from './base.repository';
3
+ export declare class AssessmentRepository extends BaseRepository<AssessmentEntity> {
4
+ }
@@ -0,0 +1,19 @@
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.AssessmentRepository = void 0;
10
+ const entities_1 = require("../entities");
11
+ const index_js_1 = require("typeorm/index.js");
12
+ const base_repository_1 = require("./base.repository");
13
+ let AssessmentRepository = class AssessmentRepository extends base_repository_1.BaseRepository {
14
+ };
15
+ exports.AssessmentRepository = AssessmentRepository;
16
+ exports.AssessmentRepository = AssessmentRepository = __decorate([
17
+ (0, index_js_1.EntityRepository)(entities_1.AssessmentEntity)
18
+ ], AssessmentRepository);
19
+ //# sourceMappingURL=assessment.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessment.repository.js","sourceRoot":"","sources":["../../../src/repositories/assessment.repository.ts"],"names":[],"mappings":";;;;;;;;;AAAA,0CAA+C;AAC/C,+CAAoD;AACpD,uDAAmD;AAG5C,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,gCAAgC;CAAG,CAAA;AAAhE,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,2BAAgB,EAAC,2BAAgB,CAAC;GACtB,oBAAoB,CAA4C"}
@@ -0,0 +1,10 @@
1
+ import { FindManyOptions, Repository } from 'typeorm/index.js';
2
+ import { BaseEntity } from '../entities/base.entity';
3
+ import { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity';
4
+ import { DeepPartial } from 'typeorm/browser';
5
+ export declare abstract class BaseRepository<T extends BaseEntity> extends Repository<T> {
6
+ findById(id: string): Promise<T | undefined>;
7
+ findWithOptions(options: FindManyOptions<T>): Promise<[T[], number]>;
8
+ createEntity(data: DeepPartial<T>, creator?: string): Promise<T>;
9
+ updateEntity(id: string, data: QueryDeepPartialEntity<T>, updater?: string): Promise<T | undefined>;
10
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseRepository = void 0;
4
+ const index_js_1 = require("typeorm/index.js");
5
+ class BaseRepository extends index_js_1.Repository {
6
+ async findById(id) {
7
+ return this.findOne({ where: { id } });
8
+ }
9
+ async findWithOptions(options) {
10
+ return this.findAndCount(options);
11
+ }
12
+ async createEntity(data, creator) {
13
+ const entity = this.create(data);
14
+ if (creator) {
15
+ entity.createdBy = creator;
16
+ entity.lastModifiedBy = creator;
17
+ }
18
+ return this.save(entity);
19
+ }
20
+ async updateEntity(id, data, updater) {
21
+ await this.update(id, {
22
+ ...data,
23
+ updatedBy: updater,
24
+ });
25
+ return this.findById(id);
26
+ }
27
+ }
28
+ exports.BaseRepository = BaseRepository;
29
+ //# sourceMappingURL=base.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../src/repositories/base.repository.ts"],"names":[],"mappings":";;;AACA,+CAA+E;AAK/E,MAAsB,cAEpB,SAAQ,qBAAa;IACrB,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAuB,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA2B;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAoB,EAAE,OAAgB;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;YAC3B,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,IAA+B,EAC/B,OAAgB;QAEhB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YACpB,GAAG,IAAI;YACP,SAAS,EAAE,OAAO;SACU,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF;AAhCD,wCAgCC"}
@@ -0,0 +1,3 @@
1
+ import { AssessmentRepository } from './assessment.repository';
2
+ import { PredefinedAssessmentRepository } from './predefined-assessment.repository';
3
+ export { AssessmentRepository, PredefinedAssessmentRepository };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PredefinedAssessmentRepository = exports.AssessmentRepository = void 0;
4
+ const assessment_repository_1 = require("./assessment.repository");
5
+ Object.defineProperty(exports, "AssessmentRepository", { enumerable: true, get: function () { return assessment_repository_1.AssessmentRepository; } });
6
+ const predefined_assessment_repository_1 = require("./predefined-assessment.repository");
7
+ Object.defineProperty(exports, "PredefinedAssessmentRepository", { enumerable: true, get: function () { return predefined_assessment_repository_1.PredefinedAssessmentRepository; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":";;;AAAA,mEAA+D;AAGtD,qGAHA,4CAAoB,OAGA;AAF7B,yFAAoF;AAErD,+GAFtB,iEAA8B,OAEsB"}
@@ -0,0 +1,4 @@
1
+ import { BaseRepository } from './base.repository';
2
+ import { PredefinedAssessmentEntity } from '../entities/predefined-assessment.entity';
3
+ export declare class PredefinedAssessmentRepository extends BaseRepository<PredefinedAssessmentEntity> {
4
+ }
@@ -0,0 +1,19 @@
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.PredefinedAssessmentRepository = void 0;
10
+ const index_js_1 = require("typeorm/index.js");
11
+ const base_repository_1 = require("./base.repository");
12
+ const predefined_assessment_entity_1 = require("../entities/predefined-assessment.entity");
13
+ let PredefinedAssessmentRepository = class PredefinedAssessmentRepository extends base_repository_1.BaseRepository {
14
+ };
15
+ exports.PredefinedAssessmentRepository = PredefinedAssessmentRepository;
16
+ exports.PredefinedAssessmentRepository = PredefinedAssessmentRepository = __decorate([
17
+ (0, index_js_1.EntityRepository)(predefined_assessment_entity_1.PredefinedAssessmentEntity)
18
+ ], PredefinedAssessmentRepository);
19
+ //# sourceMappingURL=predefined-assessment.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predefined-assessment.repository.js","sourceRoot":"","sources":["../../../src/repositories/predefined-assessment.repository.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAoD;AACpD,uDAAmD;AACnD,2FAAsF;AAG/E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gCAA0C;CAAG,CAAA;AAApF,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,2BAAgB,EAAC,yDAA0B,CAAC;GAChC,8BAA8B,CAAsD"}
@@ -0,0 +1,23 @@
1
+ import { AssessmentModuleOptions } from '../interfaces/assessments-options.interface';
2
+ import { AssessmentEntity } from '../entities';
3
+ import { AssessmentDto } from '../dto';
4
+ import { FindManyOptions } from 'typeorm/index.js';
5
+ import { PageRequest } from '../entities/pagination';
6
+ export declare class AssessmentService {
7
+ private readonly options;
8
+ constructor(options: AssessmentModuleOptions);
9
+ private getRepository;
10
+ private validateUniqueAssessmentSlug;
11
+ create(createAssessmentDto: AssessmentDto, tenantId: string): Promise<AssessmentEntity>;
12
+ findAll(tenantId: string): Promise<AssessmentDto[]>;
13
+ findByOptions(options: FindManyOptions<AssessmentEntity>, tenantId: string): Promise<AssessmentDto[]>;
14
+ findOne(id: number, tenantId: string): Promise<AssessmentDto>;
15
+ findOneBySlug(slug: string, tenantId: string): Promise<AssessmentDto>;
16
+ findOneByOptions(options: FindManyOptions<AssessmentEntity>, tenantId: string): Promise<AssessmentDto>;
17
+ getPaginatedAssessments(pageRequest: PageRequest, tenantId: string): Promise<{
18
+ result: AssessmentDto[];
19
+ totalCount: number;
20
+ }>;
21
+ update(updateAssessmentDto: AssessmentDto, tenantId: string): Promise<import("typeorm/index.js").UpdateResult>;
22
+ remove(id: number, tenantId: string): Promise<import("typeorm/index.js").DeleteResult>;
23
+ }
@@ -0,0 +1,108 @@
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.AssessmentService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const assessments_options_1 = require("../constants/assessments-options");
18
+ const entities_1 = require("../entities");
19
+ const assessment_mapper_1 = require("../mappers/assessment.mapper");
20
+ let AssessmentService = class AssessmentService {
21
+ constructor(options) {
22
+ this.options = options;
23
+ }
24
+ async getRepository(tenantId) {
25
+ const connection = await this.options.connectionProvider.getTenantConnection(tenantId);
26
+ return connection.getRepository(entities_1.AssessmentEntity);
27
+ }
28
+ async validateUniqueAssessmentSlug(createAssessmentDto, tenantId) {
29
+ const assessment = await this.findOneByOptions({
30
+ where: [{ slug: createAssessmentDto.slug }],
31
+ }, tenantId);
32
+ if (assessment) {
33
+ throw new common_1.BadRequestException('ASSESSMENT_SLUG_ALREADY_EXISTS');
34
+ }
35
+ }
36
+ async create(createAssessmentDto, tenantId) {
37
+ const repository = await this.getRepository(tenantId);
38
+ const assessmentEntity = assessment_mapper_1.AssessmentMapper.fromDTOToEntity(createAssessmentDto);
39
+ return repository.save(assessmentEntity);
40
+ }
41
+ async findAll(tenantId) {
42
+ const repository = await this.getRepository(tenantId);
43
+ const assessments = await repository
44
+ .createQueryBuilder('assessment')
45
+ .getMany();
46
+ return assessments.map((assessment) => assessment_mapper_1.AssessmentMapper.fromEntityToDTO(assessment));
47
+ }
48
+ async findByOptions(options, tenantId) {
49
+ const repository = await this.getRepository(tenantId);
50
+ const assessments = await repository.find(options);
51
+ return assessments.map((assessment) => assessment_mapper_1.AssessmentMapper.fromEntityToDTO(assessment));
52
+ }
53
+ async findOne(id, tenantId) {
54
+ const repository = await this.getRepository(tenantId);
55
+ const assessment = await repository
56
+ .createQueryBuilder('assessment')
57
+ .where('assessment.id = :id', { id })
58
+ .getOne();
59
+ return assessment_mapper_1.AssessmentMapper.fromEntityToDTO(assessment);
60
+ }
61
+ async findOneBySlug(slug, tenantId) {
62
+ const repository = await this.getRepository(tenantId);
63
+ const assessment = await repository
64
+ .createQueryBuilder('assessment')
65
+ .where('assessment.slug = :slug', { slug })
66
+ .getOne();
67
+ return assessment_mapper_1.AssessmentMapper.fromEntityToDTO(assessment);
68
+ }
69
+ async findOneByOptions(options, tenantId) {
70
+ const repository = await this.getRepository(tenantId);
71
+ const assessment = await repository.findOne(options);
72
+ return assessment_mapper_1.AssessmentMapper.fromEntityToDTO(assessment);
73
+ }
74
+ async getPaginatedAssessments(pageRequest, tenantId) {
75
+ const repository = await this.getRepository(tenantId);
76
+ const assessments = await repository
77
+ .createQueryBuilder('assessment')
78
+ .skip(pageRequest.page * pageRequest.size)
79
+ .take(pageRequest.size)
80
+ .orderBy('assessment.id', 'DESC')
81
+ .getMany();
82
+ const totalCount = await repository.count();
83
+ return {
84
+ result: assessments.map((assessment) => assessment_mapper_1.AssessmentMapper.fromEntityToDTO(assessment)),
85
+ totalCount,
86
+ };
87
+ }
88
+ async update(updateAssessmentDto, tenantId) {
89
+ const repository = await this.getRepository(tenantId);
90
+ const existingAssessment = await repository.findOne(updateAssessmentDto.id);
91
+ if (!existingAssessment) {
92
+ throw new common_1.NotFoundException('ASSESSMENT_DOES_NOT_EXIST');
93
+ }
94
+ const updateAssessmentEntity = assessment_mapper_1.AssessmentMapper.fromDTOToEntity(updateAssessmentDto);
95
+ return repository.update(updateAssessmentDto.id, updateAssessmentEntity);
96
+ }
97
+ async remove(id, tenantId) {
98
+ const repository = await this.getRepository(tenantId);
99
+ return await repository.delete(id);
100
+ }
101
+ };
102
+ exports.AssessmentService = AssessmentService;
103
+ exports.AssessmentService = AssessmentService = __decorate([
104
+ (0, common_1.Injectable)(),
105
+ __param(0, (0, common_1.Inject)(assessments_options_1.ASSESSMENTS_OPTIONS)),
106
+ __metadata("design:paramtypes", [Object])
107
+ ], AssessmentService);
108
+ //# sourceMappingURL=assessment.service.js.map