@neohm/nestend 3.3.9 → 3.3.11

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 (251) hide show
  1. package/README.md +168 -67
  2. package/dist/admin/admin.module.d.ts.map +1 -1
  3. package/dist/admin/admin.module.js.map +1 -1
  4. package/dist/admin/controllers/admin.api.key.controller.d.ts +4 -10
  5. package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
  6. package/dist/admin/controllers/admin.api.key.controller.js +6 -6
  7. package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
  8. package/dist/admin/controllers/admin.email.template.controller.d.ts +18 -0
  9. package/dist/admin/controllers/admin.email.template.controller.d.ts.map +1 -0
  10. package/dist/admin/controllers/admin.email.template.controller.js +106 -0
  11. package/dist/admin/controllers/admin.email.template.controller.js.map +1 -0
  12. package/dist/admin/controllers/admin.pdf.template.controller.d.ts +18 -0
  13. package/dist/admin/controllers/admin.pdf.template.controller.d.ts.map +1 -0
  14. package/dist/admin/controllers/admin.pdf.template.controller.js +106 -0
  15. package/dist/admin/controllers/admin.pdf.template.controller.js.map +1 -0
  16. package/dist/admin/controllers/admin.role.controller.d.ts +5 -17
  17. package/dist/admin/controllers/admin.role.controller.d.ts.map +1 -1
  18. package/dist/admin/controllers/admin.role.controller.js +7 -6
  19. package/dist/admin/controllers/admin.role.controller.js.map +1 -1
  20. package/dist/admin/controllers/admin.scheduled.task.controller.d.ts +4 -10
  21. package/dist/admin/controllers/admin.scheduled.task.controller.d.ts.map +1 -1
  22. package/dist/admin/controllers/admin.scheduled.task.controller.js +6 -6
  23. package/dist/admin/controllers/admin.scheduled.task.controller.js.map +1 -1
  24. package/dist/admin/controllers/admin.scope.controller.d.ts +4 -10
  25. package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
  26. package/dist/admin/controllers/admin.scope.controller.js +6 -6
  27. package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
  28. package/dist/admin/controllers/admin.system.user.controller.d.ts +4 -10
  29. package/dist/admin/controllers/admin.system.user.controller.d.ts.map +1 -1
  30. package/dist/admin/controllers/admin.system.user.controller.js +6 -6
  31. package/dist/admin/controllers/admin.system.user.controller.js.map +1 -1
  32. package/dist/admin/controllers/admin.tenant.controller.d.ts +4 -10
  33. package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
  34. package/dist/admin/controllers/admin.tenant.controller.js +7 -7
  35. package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
  36. package/dist/admin/controllers/admin.tenant.user.controller.d.ts +4 -10
  37. package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
  38. package/dist/admin/controllers/admin.tenant.user.controller.js +6 -6
  39. package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
  40. package/dist/admin/controllers/admin.user.controller.d.ts +4 -10
  41. package/dist/admin/controllers/admin.user.controller.d.ts.map +1 -1
  42. package/dist/admin/controllers/admin.user.controller.js +6 -6
  43. package/dist/admin/controllers/admin.user.controller.js.map +1 -1
  44. package/dist/admin/controllers/system.role.controller.d.ts +4 -10
  45. package/dist/admin/controllers/system.role.controller.d.ts.map +1 -1
  46. package/dist/admin/controllers/system.role.controller.js +6 -6
  47. package/dist/admin/controllers/system.role.controller.js.map +1 -1
  48. package/dist/admin/dtos/add.email.template.dto.d.ts +9 -0
  49. package/dist/admin/dtos/add.email.template.dto.d.ts.map +1 -0
  50. package/dist/admin/dtos/add.email.template.dto.js +68 -0
  51. package/dist/admin/dtos/add.email.template.dto.js.map +1 -0
  52. package/dist/admin/dtos/add.pdf.template.dto.d.ts +8 -0
  53. package/dist/admin/dtos/add.pdf.template.dto.d.ts.map +1 -0
  54. package/dist/admin/dtos/add.pdf.template.dto.js +58 -0
  55. package/dist/admin/dtos/add.pdf.template.dto.js.map +1 -0
  56. package/dist/admin/dtos/add.tenant.dto.d.ts +1 -0
  57. package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
  58. package/dist/admin/dtos/add.tenant.dto.js +7 -0
  59. package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
  60. package/dist/admin/dtos/email.template.list.dto.d.ts +4 -0
  61. package/dist/admin/dtos/email.template.list.dto.d.ts.map +1 -0
  62. package/dist/admin/dtos/email.template.list.dto.js +8 -0
  63. package/dist/admin/dtos/email.template.list.dto.js.map +1 -0
  64. package/dist/admin/dtos/pdf.template.list.dto.d.ts +4 -0
  65. package/dist/admin/dtos/pdf.template.list.dto.d.ts.map +1 -0
  66. package/dist/admin/dtos/pdf.template.list.dto.js +8 -0
  67. package/dist/admin/dtos/pdf.template.list.dto.js.map +1 -0
  68. package/dist/admin/es6.classes.d.ts +14 -5
  69. package/dist/admin/es6.classes.d.ts.map +1 -1
  70. package/dist/admin/es6.classes.js +24 -2
  71. package/dist/admin/es6.classes.js.map +1 -1
  72. package/dist/admin/libraries/admin.role.list.processor.d.ts +11 -0
  73. package/dist/admin/libraries/admin.role.list.processor.d.ts.map +1 -0
  74. package/dist/admin/libraries/admin.role.list.processor.js +39 -0
  75. package/dist/admin/libraries/admin.role.list.processor.js.map +1 -0
  76. package/dist/admin/libraries/admin.user.list.processor.d.ts +6 -10
  77. package/dist/admin/libraries/admin.user.list.processor.d.ts.map +1 -1
  78. package/dist/admin/libraries/admin.user.list.processor.js +17 -8
  79. package/dist/admin/libraries/admin.user.list.processor.js.map +1 -1
  80. package/dist/admin/libraries/api.key.list.processor.d.ts +6 -10
  81. package/dist/admin/libraries/api.key.list.processor.d.ts.map +1 -1
  82. package/dist/admin/libraries/api.key.list.processor.js +55 -26
  83. package/dist/admin/libraries/api.key.list.processor.js.map +1 -1
  84. package/dist/admin/libraries/client.user.list.processor.d.ts +7 -10
  85. package/dist/admin/libraries/client.user.list.processor.d.ts.map +1 -1
  86. package/dist/admin/libraries/client.user.list.processor.js +35 -25
  87. package/dist/admin/libraries/client.user.list.processor.js.map +1 -1
  88. package/dist/admin/libraries/email.template.data.processor.d.ts +13 -0
  89. package/dist/admin/libraries/email.template.data.processor.d.ts.map +1 -0
  90. package/dist/admin/libraries/email.template.data.processor.js +51 -0
  91. package/dist/admin/libraries/email.template.data.processor.js.map +1 -0
  92. package/dist/admin/libraries/email.template.list.processor.d.ts +11 -0
  93. package/dist/admin/libraries/email.template.list.processor.d.ts.map +1 -0
  94. package/dist/admin/libraries/email.template.list.processor.js +40 -0
  95. package/dist/admin/libraries/email.template.list.processor.js.map +1 -0
  96. package/dist/admin/libraries/pdf.template.data.processor.d.ts +13 -0
  97. package/dist/admin/libraries/pdf.template.data.processor.d.ts.map +1 -0
  98. package/dist/admin/libraries/pdf.template.data.processor.js +48 -0
  99. package/dist/admin/libraries/pdf.template.data.processor.js.map +1 -0
  100. package/dist/admin/libraries/pdf.template.list.processor.d.ts +11 -0
  101. package/dist/admin/libraries/pdf.template.list.processor.d.ts.map +1 -0
  102. package/dist/admin/libraries/pdf.template.list.processor.js +39 -0
  103. package/dist/admin/libraries/pdf.template.list.processor.js.map +1 -0
  104. package/dist/admin/libraries/role.list.processor.d.ts +6 -21
  105. package/dist/admin/libraries/role.list.processor.d.ts.map +1 -1
  106. package/dist/admin/libraries/role.list.processor.js +17 -32
  107. package/dist/admin/libraries/role.list.processor.js.map +1 -1
  108. package/dist/admin/libraries/scheduled.task.list.processor.d.ts +6 -10
  109. package/dist/admin/libraries/scheduled.task.list.processor.d.ts.map +1 -1
  110. package/dist/admin/libraries/scheduled.task.list.processor.js +27 -10
  111. package/dist/admin/libraries/scheduled.task.list.processor.js.map +1 -1
  112. package/dist/admin/libraries/scope.list.processor.d.ts +6 -10
  113. package/dist/admin/libraries/scope.list.processor.d.ts.map +1 -1
  114. package/dist/admin/libraries/scope.list.processor.js +13 -7
  115. package/dist/admin/libraries/scope.list.processor.js.map +1 -1
  116. package/dist/admin/libraries/system.user.list.processor.d.ts +7 -10
  117. package/dist/admin/libraries/system.user.list.processor.d.ts.map +1 -1
  118. package/dist/admin/libraries/system.user.list.processor.js +34 -23
  119. package/dist/admin/libraries/system.user.list.processor.js.map +1 -1
  120. package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
  121. package/dist/admin/libraries/tenant.data.processor.js +1 -0
  122. package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
  123. package/dist/admin/libraries/tenant.list.processor.d.ts +6 -10
  124. package/dist/admin/libraries/tenant.list.processor.d.ts.map +1 -1
  125. package/dist/admin/libraries/tenant.list.processor.js +27 -10
  126. package/dist/admin/libraries/tenant.list.processor.js.map +1 -1
  127. package/dist/admin/services/template.service.d.ts +7 -0
  128. package/dist/admin/services/template.service.d.ts.map +1 -0
  129. package/dist/admin/services/template.service.js +34 -0
  130. package/dist/admin/services/template.service.js.map +1 -0
  131. package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
  132. package/dist/auth/helpers/auth.js +1 -1
  133. package/dist/auth/helpers/auth.js.map +1 -1
  134. package/dist/common/common.module.d.ts.map +1 -1
  135. package/dist/common/common.module.js +2 -0
  136. package/dist/common/common.module.js.map +1 -1
  137. package/dist/common/dtos/common.list.filter.dto.d.ts.map +1 -1
  138. package/dist/common/dtos/common.list.filter.dto.js +4 -0
  139. package/dist/common/dtos/common.list.filter.dto.js.map +1 -1
  140. package/dist/common/dtos/filter.dto.d.ts +0 -2
  141. package/dist/common/dtos/filter.dto.d.ts.map +1 -1
  142. package/dist/common/dtos/filter.dto.js +0 -10
  143. package/dist/common/dtos/filter.dto.js.map +1 -1
  144. package/dist/common/enums/filter.value.type.enum.d.ts +3 -1
  145. package/dist/common/enums/filter.value.type.enum.d.ts.map +1 -1
  146. package/dist/common/enums/filter.value.type.enum.js +3 -1
  147. package/dist/common/enums/filter.value.type.enum.js.map +1 -1
  148. package/dist/common/enums/sql.default.enum.d.ts +1 -0
  149. package/dist/common/enums/sql.default.enum.d.ts.map +1 -1
  150. package/dist/common/enums/sql.default.enum.js +1 -0
  151. package/dist/common/enums/sql.default.enum.js.map +1 -1
  152. package/dist/common/libraries/common.list.processor.d.ts +7 -22
  153. package/dist/common/libraries/common.list.processor.d.ts.map +1 -1
  154. package/dist/common/libraries/common.list.processor.js +14 -159
  155. package/dist/common/libraries/common.list.processor.js.map +1 -1
  156. package/dist/common/libraries/filter.operator.defaults.d.ts +4 -0
  157. package/dist/common/libraries/filter.operator.defaults.d.ts.map +1 -0
  158. package/dist/common/libraries/filter.operator.defaults.js +26 -0
  159. package/dist/common/libraries/filter.operator.defaults.js.map +1 -0
  160. package/dist/common/libraries/predicate.set.d.ts +14 -0
  161. package/dist/common/libraries/predicate.set.d.ts.map +1 -0
  162. package/dist/common/libraries/predicate.set.js +48 -0
  163. package/dist/common/libraries/predicate.set.js.map +1 -0
  164. package/dist/common/services/list.filter.service.d.ts +19 -0
  165. package/dist/common/services/list.filter.service.d.ts.map +1 -0
  166. package/dist/common/services/list.filter.service.js +225 -0
  167. package/dist/common/services/list.filter.service.js.map +1 -0
  168. package/dist/common/services/sql.service.d.ts.map +1 -1
  169. package/dist/common/services/sql.service.js +1 -1
  170. package/dist/common/services/sql.service.js.map +1 -1
  171. package/dist/common/types/list.types.d.ts +25 -0
  172. package/dist/common/types/list.types.d.ts.map +1 -1
  173. package/dist/constants/entity.constants.d.ts +1 -0
  174. package/dist/constants/entity.constants.d.ts.map +1 -1
  175. package/dist/constants/entity.constants.js +1 -0
  176. package/dist/constants/entity.constants.js.map +1 -1
  177. package/dist/constants/entity.maps.d.ts +2 -0
  178. package/dist/constants/entity.maps.d.ts.map +1 -1
  179. package/dist/constants/entity.maps.js +2 -0
  180. package/dist/constants/entity.maps.js.map +1 -1
  181. package/dist/document/document.module.d.ts.map +1 -1
  182. package/dist/document/document.module.js +3 -1
  183. package/dist/document/document.module.js.map +1 -1
  184. package/dist/document/dtos/pdf.document.options.dto.d.ts +17 -0
  185. package/dist/document/dtos/pdf.document.options.dto.d.ts.map +1 -0
  186. package/dist/document/dtos/pdf.document.options.dto.js +13 -0
  187. package/dist/document/dtos/pdf.document.options.dto.js.map +1 -0
  188. package/dist/document/dtos/pdf.template.attributes.dto.d.ts +3 -0
  189. package/dist/document/dtos/pdf.template.attributes.dto.d.ts.map +1 -0
  190. package/dist/document/dtos/pdf.template.attributes.dto.js +7 -0
  191. package/dist/document/dtos/pdf.template.attributes.dto.js.map +1 -0
  192. package/dist/document/entities/document.entity.d.ts +1 -0
  193. package/dist/document/entities/document.entity.d.ts.map +1 -1
  194. package/dist/document/entities/document.entity.js +4 -0
  195. package/dist/document/entities/document.entity.js.map +1 -1
  196. package/dist/document/entities/pdf.template.entity.d.ts +9 -0
  197. package/dist/document/entities/pdf.template.entity.d.ts.map +1 -0
  198. package/dist/document/entities/pdf.template.entity.js +38 -0
  199. package/dist/document/entities/pdf.template.entity.js.map +1 -0
  200. package/dist/document/enums/pdf.default.enum.d.ts +2 -1
  201. package/dist/document/enums/pdf.default.enum.d.ts.map +1 -1
  202. package/dist/document/enums/pdf.default.enum.js +1 -0
  203. package/dist/document/enums/pdf.default.enum.js.map +1 -1
  204. package/dist/document/es6.classes.d.ts +6 -5
  205. package/dist/document/es6.classes.d.ts.map +1 -1
  206. package/dist/document/es6.classes.js +14 -2
  207. package/dist/document/es6.classes.js.map +1 -1
  208. package/dist/document/libraries/process.pdf.document.d.ts +16 -0
  209. package/dist/document/libraries/process.pdf.document.d.ts.map +1 -0
  210. package/dist/document/libraries/process.pdf.document.js +47 -0
  211. package/dist/document/libraries/process.pdf.document.js.map +1 -0
  212. package/dist/document/services/document.service.d.ts +2 -2
  213. package/dist/document/services/document.service.d.ts.map +1 -1
  214. package/dist/document/services/document.service.js +5 -2
  215. package/dist/document/services/document.service.js.map +1 -1
  216. package/dist/document/services/pdf.template.service.d.ts +12 -0
  217. package/dist/document/services/pdf.template.service.d.ts.map +1 -0
  218. package/dist/document/services/pdf.template.service.js +57 -0
  219. package/dist/document/services/pdf.template.service.js.map +1 -0
  220. package/dist/document/types/document.types.d.ts +3 -0
  221. package/dist/document/types/document.types.d.ts.map +1 -1
  222. package/dist/document/types/pdf.types.d.ts +4 -0
  223. package/dist/document/types/pdf.types.d.ts.map +1 -1
  224. package/dist/index.d.ts +11 -3
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +21 -3
  227. package/dist/index.js.map +1 -1
  228. package/dist/migrations/1749600000002.CreateSysTenantsTable.d.ts.map +1 -1
  229. package/dist/migrations/1749600000002.CreateSysTenantsTable.js +1 -0
  230. package/dist/migrations/1749600000002.CreateSysTenantsTable.js.map +1 -1
  231. package/dist/migrations/1749600000003.CreateSysUsersTable.js +2 -2
  232. package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
  233. package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.d.ts.map +1 -1
  234. package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js +11 -1
  235. package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js.map +1 -1
  236. package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts.map +1 -1
  237. package/dist/migrations/1749600000028.CreateSysDocumentsTable.js +1 -0
  238. package/dist/migrations/1749600000028.CreateSysDocumentsTable.js.map +1 -1
  239. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.d.ts +6 -0
  240. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.d.ts.map +1 -0
  241. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js +33 -0
  242. package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js.map +1 -0
  243. package/dist/notification/entities/email.template.entity.d.ts +2 -2
  244. package/dist/notification/entities/email.template.entity.d.ts.map +1 -1
  245. package/dist/notification/entities/email.template.entity.js +2 -2
  246. package/dist/notification/entities/email.template.entity.js.map +1 -1
  247. package/dist/tenant/entities/tenant.entity.d.ts +1 -0
  248. package/dist/tenant/entities/tenant.entity.d.ts.map +1 -1
  249. package/dist/tenant/entities/tenant.entity.js +5 -1
  250. package/dist/tenant/entities/tenant.entity.js.map +1 -1
  251. package/package.json +1 -1
@@ -1,167 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommonListProcessor = void 0;
4
- const operation_exception_1 = require("../../global/exceptions/operation.exception");
5
- const filter_operator_enum_1 = require("../enums/filter.operator.enum");
6
- const filter_value_type_enum_1 = require("../enums/filter.value.type.enum");
7
- const sort_direction_enum_1 = require("../enums/sort.direction.enum");
8
- const sql_default_enum_1 = require("../enums/sql.default.enum");
9
- const filter_operator_registry_1 = require("./filter.operator.registry");
10
- const SEARCH_PARAM = 'search_str';
11
- const SOFT_DELETE_COLUMN = 'deleted_at';
12
- function escapeLikePattern(value) {
13
- return value.replace(/[\\%_]/g, (character) => `\\${character}`);
14
- }
4
+ const predicate_set_1 = require("./predicate.set");
15
5
  class CommonListProcessor {
16
6
  constructor() {
17
- this.conditions = [];
18
- this.filterParams = {};
19
- }
20
- async handle() {
21
- this.constructFilterConditions();
22
- this.constructSearchCondition();
23
- this.constructSoftDeleteCondition();
24
- const finalQuery = this.constructFinalQuery();
25
- const page = Math.max(this.payload?.page ?? sql_default_enum_1.SqlDefault.PAGE, 1);
26
- const limit = Math.max(this.payload?.limit ?? sql_default_enum_1.SqlDefault.LIMIT, 1);
27
- const result = await this.sqlService.paginate(finalQuery, this.filterParams, { page, limit });
28
- const finalResult = {
29
- records: result.data,
30
- total: result.total,
31
- page: result.page,
32
- limit: result.limit,
33
- total_pages: result.total_pages,
34
- };
35
- return finalResult;
36
- }
37
- constructFinalQuery() {
38
- let query = this.config.query;
39
- const columnStatement = this.config.columns
40
- .map((column) => `${column.key} ${column.identifier}`)
41
- .join(', ');
42
- query = 'select ' + columnStatement + ' from ' + query;
43
- const wrapperQuery = `select * from ( ${query} ) query where true`;
44
- let conditionStatement = '';
45
- for (const condition of this.conditions)
46
- conditionStatement += ` and ( ${condition} )`;
47
- const finalQuery = wrapperQuery + conditionStatement + this.constructOrderByStatement();
48
- return finalQuery;
49
- }
50
- constructOrderByStatement() {
51
- const sorts = this.payload?.sorts?.length
52
- ? this.payload.sorts.map((sort) => ({
53
- field: this.resolveColumn(sort.identifier).identifier,
54
- direction: sort.direction,
55
- }))
56
- : this.config.defaultSort
57
- ? [this.config.defaultSort]
58
- : [];
59
- if (!sorts.length)
60
- return '';
61
- const orderStatement = sorts
62
- .map((sort) => `${sort.field} ${sort.direction === sort_direction_enum_1.SortDirection.DESC
63
- ? sort_direction_enum_1.SortDirection.DESC
64
- : sort_direction_enum_1.SortDirection.ASC}`)
65
- .join(', ');
66
- return ` order by ${orderStatement}`;
67
- }
68
- constructFilterConditions() {
69
- this.conditions = [];
70
- this.filterParams = {};
71
- for (const [index, filter] of (this.payload?.filters ?? []).entries()) {
72
- const column = this.resolveColumn(filter.identifier);
73
- const buildClause = filter_operator_registry_1.FILTER_OPERATORS[filter.operator];
74
- if (!buildClause)
75
- throw new operation_exception_1.OperationException(`Unsupported filter operator: ${filter.operator}`);
76
- const { clause, params } = buildClause(column.identifier, `filter_${index}`, this.transformFilterValue(filter));
77
- this.conditions.push(clause);
78
- Object.assign(this.filterParams, params);
79
- }
80
- }
81
- constructSoftDeleteCondition() {
82
- if (this.config.includeDeleted)
83
- return;
84
- const column = this.config.columns.find((candidate) => candidate.identifier === SOFT_DELETE_COLUMN);
85
- if (!column)
86
- return;
87
- const filtered = (this.payload?.filters ?? []).some((filter) => filter.identifier === SOFT_DELETE_COLUMN);
88
- if (filtered)
89
- return;
90
- this.conditions.push(`${SOFT_DELETE_COLUMN} IS NULL`);
91
- }
92
- constructSearchCondition() {
93
- const term = this.payload?.str?.trim();
94
- if (!term)
95
- return;
96
- const columns = this.config.columns.filter((column) => column.searchable);
97
- if (!columns.length)
98
- throw new operation_exception_1.OperationException('This list does not support free-text search');
99
- const clause = columns
100
- .map((column) => `CAST(${column.identifier} AS TEXT) ILIKE :${SEARCH_PARAM} ESCAPE '\\'`)
101
- .join(' or ');
102
- this.conditions.push(clause);
103
- this.filterParams[SEARCH_PARAM] = `%${escapeLikePattern(term)}%`;
104
- }
105
- resolveColumn(identifier) {
106
- const column = this.config.columns.find((candidate) => candidate.identifier === identifier);
107
- if (!column)
108
- throw new operation_exception_1.OperationException(`Unknown filter identifier: ${identifier}`);
109
- return column;
110
- }
111
- transformFilterValue(filter) {
112
- switch (filter.operator) {
113
- case filter_operator_enum_1.FilterOperatorEnum.IS_NULL:
114
- return !['false', '0', ''].includes((filter.value ?? '').trim().toLowerCase());
115
- case filter_operator_enum_1.FilterOperatorEnum.IN:
116
- return this.splitFilterValue(filter).map((part) => this.castFilterValue(part, filter.value_type));
117
- case filter_operator_enum_1.FilterOperatorEnum.BETWEEN: {
118
- const parts = this.splitFilterValue(filter);
119
- if (parts.length !== 2)
120
- throw new operation_exception_1.OperationException(`Filter on ${filter.identifier} expects exactly two comma-separated values`);
121
- return parts.map((part) => this.castFilterValue(part, filter.value_type));
122
- }
123
- default:
124
- return this.castFilterValue(filter.value, filter.value_type);
125
- }
126
- }
127
- splitFilterValue(filter) {
128
- const parts = (filter.value ?? '')
129
- .split(',')
130
- .map((part) => part.trim())
131
- .filter((part) => part.length);
132
- if (!parts.length)
133
- throw new operation_exception_1.OperationException(`Filter on ${filter.identifier} received no values`);
134
- return parts;
135
- }
136
- castFilterValue(raw, valueType) {
137
- switch (valueType) {
138
- case filter_value_type_enum_1.FilterValueTypeEnum.NULL:
139
- return null;
140
- case filter_value_type_enum_1.FilterValueTypeEnum.NUMBER: {
141
- const numeric = Number(raw);
142
- if (raw === null || raw === '' || Number.isNaN(numeric))
143
- throw new operation_exception_1.OperationException(`Invalid numeric filter value: ${raw}`);
144
- return numeric;
145
- }
146
- case filter_value_type_enum_1.FilterValueTypeEnum.DATE: {
147
- const date = new Date(raw);
148
- if (Number.isNaN(date.getTime()))
149
- throw new operation_exception_1.OperationException(`Invalid date filter value: ${raw}`);
150
- return date;
151
- }
152
- case filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN: {
153
- const normalized = (raw ?? '').trim().toLowerCase();
154
- if (normalized === 'true')
155
- return true;
156
- if (normalized === 'false')
157
- return false;
158
- throw new operation_exception_1.OperationException(`Invalid boolean filter value: ${raw}`);
159
- }
160
- case filter_value_type_enum_1.FilterValueTypeEnum.STRING:
161
- return raw;
162
- default:
163
- throw new operation_exception_1.OperationException(`Unsupported filter value type: ${String(valueType)}`);
164
- }
7
+ this.predicates = new predicate_set_1.PredicateSet();
8
+ }
9
+ applyCustomPredicates() { }
10
+ handle() {
11
+ this.predicates.reset();
12
+ for (const clause of this.config?.predicates ?? [])
13
+ this.predicates.add(clause);
14
+ this.applyCustomPredicates();
15
+ return this.listFilterService.execute({
16
+ config: this.config,
17
+ payload: this.payload,
18
+ predicates: this.predicates,
19
+ });
165
20
  }
166
21
  }
167
22
  exports.CommonListProcessor = CommonListProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"common.list.processor.js","sourceRoot":"","sources":["../../../src/common/libraries/common.list.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.list.processor.js","sourceRoot":"","sources":["../../../src/common/libraries/common.list.processor.ts"],"names":[],"mappings":";;;AAGA,mDAA+C;AAc/C,MAAa,mBAAmB;IAAhC;QAKqB,eAAU,GAAG,IAAI,4BAAY,EAAE,CAAC;IA0BrD,CAAC;IAjBW,qBAAqB,KAAU,CAAC;IAEhC,MAAM;QACd,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAIxB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE;YAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AA/BD,kDA+BC"}
@@ -0,0 +1,4 @@
1
+ import { FilterOperatorEnum } from '../enums/filter.operator.enum';
2
+ import { FilterValueTypeEnum } from '../enums/filter.value.type.enum';
3
+ export declare const DEFAULT_OPERATORS: Record<FilterValueTypeEnum, FilterOperatorEnum[]>;
4
+ //# sourceMappingURL=filter.operator.defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.operator.defaults.d.ts","sourceRoot":"","sources":["../../../src/common/libraries/filter.operator.defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AActE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,mBAAmB,EACnB,kBAAkB,EAAE,CAqBrB,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_OPERATORS = void 0;
4
+ const filter_operator_enum_1 = require("../enums/filter.operator.enum");
5
+ const filter_value_type_enum_1 = require("../enums/filter.value.type.enum");
6
+ const { EQ, NE, IN, GT, GTE, LT, LTE, LIKE, ILIKE, BETWEEN, IS_NULL } = filter_operator_enum_1.FilterOperatorEnum;
7
+ exports.DEFAULT_OPERATORS = {
8
+ [filter_value_type_enum_1.FilterValueTypeEnum.STRING]: [EQ, NE, IN, LIKE, ILIKE, IS_NULL],
9
+ [filter_value_type_enum_1.FilterValueTypeEnum.NUMBER]: [
10
+ EQ,
11
+ NE,
12
+ IN,
13
+ GT,
14
+ GTE,
15
+ LT,
16
+ LTE,
17
+ BETWEEN,
18
+ IS_NULL,
19
+ ],
20
+ [filter_value_type_enum_1.FilterValueTypeEnum.DATE]: [EQ, NE, GT, GTE, LT, LTE, BETWEEN, IS_NULL],
21
+ [filter_value_type_enum_1.FilterValueTypeEnum.DATETIME]: [EQ, NE, GT, GTE, LT, LTE, BETWEEN, IS_NULL],
22
+ [filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN]: [EQ, NE, IS_NULL],
23
+ [filter_value_type_enum_1.FilterValueTypeEnum.UUID]: [EQ, NE, IN, IS_NULL],
24
+ [filter_value_type_enum_1.FilterValueTypeEnum.JSON]: [IS_NULL],
25
+ };
26
+ //# sourceMappingURL=filter.operator.defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.operator.defaults.js","sourceRoot":"","sources":["../../../src/common/libraries/filter.operator.defaults.ts"],"names":[],"mappings":";;;AAAA,wEAAmE;AACnE,4EAAsE;AAEtE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GACnE,yCAAkB,CAAC;AAWR,QAAA,iBAAiB,GAG1B;IACF,CAAC,4CAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;IAChE,CAAC,4CAAmB,CAAC,MAAM,CAAC,EAAE;QAC5B,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,GAAG;QACH,EAAE;QACF,GAAG;QACH,OAAO;QACP,OAAO;KACR;IACD,CAAC,4CAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC;IACxE,CAAC,4CAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC;IAC5E,CAAC,4CAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC;IAEhD,CAAC,4CAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC;IAEjD,CAAC,4CAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;CACtC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { SqlParams } from '../types/sql.types';
2
+ export declare class PredicateSet {
3
+ private clauses;
4
+ private params;
5
+ private sequence;
6
+ add(clause: string, value?: unknown): void;
7
+ add(clause: string, params: SqlParams): void;
8
+ reset(): void;
9
+ get statement(): string;
10
+ get bindings(): SqlParams;
11
+ get isEmpty(): boolean;
12
+ private isParamBag;
13
+ }
14
+ //# sourceMappingURL=predicate.set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicate.set.d.ts","sourceRoot":"","sources":["../../../src/common/libraries/predicate.set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgB/C,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAK;IAYrB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAC1C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI;IAqB5C,KAAK,IAAI,IAAI;IAMb,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,QAAQ,IAAI,SAAS,CAExB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAMD,OAAO,CAAC,UAAU;CASnB"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PredicateSet = void 0;
4
+ const VALUE_PLACEHOLDER = /:value\b/g;
5
+ class PredicateSet {
6
+ constructor() {
7
+ this.clauses = [];
8
+ this.params = {};
9
+ this.sequence = 0;
10
+ }
11
+ add(clause, value) {
12
+ if (value === undefined) {
13
+ this.clauses.push(clause);
14
+ return;
15
+ }
16
+ if (this.isParamBag(value)) {
17
+ this.clauses.push(clause);
18
+ Object.assign(this.params, value);
19
+ return;
20
+ }
21
+ const name = `predicate_${this.sequence++}`;
22
+ this.clauses.push(clause.replace(VALUE_PLACEHOLDER, `:${name}`));
23
+ this.params[name] = value;
24
+ }
25
+ reset() {
26
+ this.clauses = [];
27
+ this.params = {};
28
+ this.sequence = 0;
29
+ }
30
+ get statement() {
31
+ return this.clauses.map((clause) => ` and ( ${clause} )`).join('');
32
+ }
33
+ get bindings() {
34
+ return this.params;
35
+ }
36
+ get isEmpty() {
37
+ return this.clauses.length === 0;
38
+ }
39
+ isParamBag(value) {
40
+ return (typeof value === 'object' &&
41
+ value !== null &&
42
+ !Array.isArray(value) &&
43
+ !(value instanceof Date) &&
44
+ Object.getPrototypeOf(value) === Object.prototype);
45
+ }
46
+ }
47
+ exports.PredicateSet = PredicateSet;
48
+ //# sourceMappingURL=predicate.set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicate.set.js","sourceRoot":"","sources":["../../../src/common/libraries/predicate.set.ts"],"names":[],"mappings":";;;AAGA,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAatC,MAAa,YAAY;IAAzB;QACU,YAAO,GAAa,EAAE,CAAC;QACvB,WAAM,GAAc,EAAE,CAAC;QACvB,aAAQ,GAAG,CAAC,CAAC;IAiEvB,CAAC;IAnDC,GAAG,CAAC,MAAc,EAAE,KAAe;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAID,MAAM,IAAI,GAAG,aAAa,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IAGD,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAMO,UAAU,CAAC,KAAc;QAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;YACxB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAClD,CAAC;IACJ,CAAC;CACF;AApED,oCAoEC"}
@@ -0,0 +1,19 @@
1
+ import { SqlService } from './sql.service';
2
+ import { CommonListResult, ListFilterRequest } from '../types/list.types';
3
+ export declare class ListFilterService {
4
+ private readonly sqlService;
5
+ constructor(sqlService: SqlService);
6
+ execute(request: ListFilterRequest): Promise<CommonListResult>;
7
+ private constructFinalQuery;
8
+ private constructOrderByStatement;
9
+ private constructFilterConditions;
10
+ private constructSoftDeleteCondition;
11
+ private constructSearchCondition;
12
+ private resolveColumn;
13
+ private allowedOperators;
14
+ private assertOperatorAllowed;
15
+ private transformFilterValue;
16
+ private splitFilterValue;
17
+ private castFilterValue;
18
+ }
19
+ //# sourceMappingURL=list.filter.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.filter.service.d.ts","sourceRoot":"","sources":["../../../src/common/services/list.filter.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAEL,gBAAgB,EAEhB,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAiD7B,qBACa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE7C,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCpE,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,yBAAyB;IAgCjC,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,4BAA4B;IAoBpC,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;CAuDxB"}
@@ -0,0 +1,225 @@
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.ListFilterService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const operation_exception_1 = require("../../global/exceptions/operation.exception");
15
+ const filter_operator_enum_1 = require("../enums/filter.operator.enum");
16
+ const filter_value_type_enum_1 = require("../enums/filter.value.type.enum");
17
+ const sort_direction_enum_1 = require("../enums/sort.direction.enum");
18
+ const sql_default_enum_1 = require("../enums/sql.default.enum");
19
+ const sql_service_1 = require("./sql.service");
20
+ const filter_operator_registry_1 = require("../libraries/filter.operator.registry");
21
+ const filter_operator_defaults_1 = require("../libraries/filter.operator.defaults");
22
+ const SEARCH_PARAM = 'search_str';
23
+ const SOFT_DELETE_COLUMN = 'deleted_at';
24
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
25
+ function escapeLikePattern(value) {
26
+ return value.replace(/[\\%_]/g, (character) => `\\${character}`);
27
+ }
28
+ const CALENDAR_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
29
+ function isRealCalendarDate(value) {
30
+ const [year, month, day] = value.split('-').map(Number);
31
+ const parsed = new Date(Date.UTC(year, month - 1, day));
32
+ return (parsed.getUTCFullYear() === year &&
33
+ parsed.getUTCMonth() === month - 1 &&
34
+ parsed.getUTCDate() === day);
35
+ }
36
+ let ListFilterService = class ListFilterService {
37
+ constructor(sqlService) {
38
+ this.sqlService = sqlService;
39
+ }
40
+ async execute(request) {
41
+ const context = {
42
+ ...request,
43
+ conditions: [],
44
+ filterParams: {},
45
+ };
46
+ this.constructFilterConditions(context);
47
+ this.constructSearchCondition(context);
48
+ this.constructSoftDeleteCondition(context);
49
+ const finalQuery = this.constructFinalQuery(context);
50
+ const page = Math.max(context.payload?.page ?? sql_default_enum_1.SqlDefault.PAGE, 1);
51
+ const limit = Math.min(Math.max(context.payload?.limit ?? sql_default_enum_1.SqlDefault.LIMIT, 1), context.config.maxLimit ?? sql_default_enum_1.SqlDefault.MAX_LIMIT);
52
+ const result = await this.sqlService.paginate(finalQuery, context.filterParams, { page, limit });
53
+ return {
54
+ records: result.data,
55
+ total: result.total,
56
+ page: result.page,
57
+ limit: result.limit,
58
+ total_pages: result.total_pages,
59
+ };
60
+ }
61
+ constructFinalQuery(context) {
62
+ let query = context.config.query;
63
+ const columnStatement = context.config.columns
64
+ .map((column) => `${column.key} ${column.identifier}`)
65
+ .join(', ');
66
+ query =
67
+ 'select ' +
68
+ columnStatement +
69
+ ' from ' +
70
+ query +
71
+ ' where true' +
72
+ context.predicates.statement;
73
+ const wrapperQuery = `select * from ( ${query} ) query where true`;
74
+ let conditionStatement = '';
75
+ for (const condition of context.conditions)
76
+ conditionStatement += ` and ( ${condition} )`;
77
+ const finalQuery = wrapperQuery +
78
+ conditionStatement +
79
+ this.constructOrderByStatement(context);
80
+ return finalQuery;
81
+ }
82
+ constructOrderByStatement(context) {
83
+ const sorts = context.payload?.sorts?.length
84
+ ? context.payload.sorts.map((sort) => ({
85
+ field: this.resolveColumn(context, sort.identifier).identifier,
86
+ direction: sort.direction,
87
+ }))
88
+ : context.config.defaultSort
89
+ ? [context.config.defaultSort]
90
+ : [];
91
+ if (!sorts.length)
92
+ return '';
93
+ const orderStatement = sorts
94
+ .map((sort) => `${sort.field} ${sort.direction === sort_direction_enum_1.SortDirection.DESC
95
+ ? sort_direction_enum_1.SortDirection.DESC
96
+ : sort_direction_enum_1.SortDirection.ASC}`)
97
+ .join(', ');
98
+ return ` order by ${orderStatement}`;
99
+ }
100
+ constructFilterConditions(context) {
101
+ context.conditions = [];
102
+ context.filterParams = { ...context.predicates.bindings };
103
+ for (const [index, filter] of (context.payload?.filters ?? []).entries()) {
104
+ const column = this.resolveColumn(context, filter.identifier);
105
+ const buildClause = filter_operator_registry_1.FILTER_OPERATORS[filter.operator];
106
+ if (!buildClause)
107
+ throw new operation_exception_1.OperationException(`Unsupported filter operator: ${filter.operator}`);
108
+ this.assertOperatorAllowed(column, filter.operator);
109
+ const { clause, params } = buildClause(column.identifier, `filter_${index}`, this.transformFilterValue(filter, column));
110
+ context.conditions.push(clause);
111
+ Object.assign(context.filterParams, params);
112
+ }
113
+ }
114
+ constructSoftDeleteCondition(context) {
115
+ if (context.config.includeDeleted)
116
+ return;
117
+ const column = context.config.columns.find((candidate) => candidate.identifier === SOFT_DELETE_COLUMN);
118
+ if (!column)
119
+ return;
120
+ context.conditions.push(`${SOFT_DELETE_COLUMN} IS NULL`);
121
+ }
122
+ constructSearchCondition(context) {
123
+ const term = context.payload?.str?.trim();
124
+ if (!term)
125
+ return;
126
+ const columns = context.config.columns.filter((column) => column.searchable);
127
+ if (!columns.length)
128
+ throw new operation_exception_1.OperationException('This list does not support free-text search');
129
+ const clause = columns
130
+ .map((column) => `CAST(${column.identifier} AS TEXT) ILIKE :${SEARCH_PARAM} ESCAPE '\\'`)
131
+ .join(' or ');
132
+ context.conditions.push(clause);
133
+ context.filterParams[SEARCH_PARAM] = `%${escapeLikePattern(term)}%`;
134
+ }
135
+ resolveColumn(context, identifier) {
136
+ const column = context.config.columns.find((candidate) => candidate.identifier === identifier);
137
+ if (!column)
138
+ throw new operation_exception_1.OperationException(`Unknown filter identifier: ${identifier}`);
139
+ return column;
140
+ }
141
+ allowedOperators(column) {
142
+ const supported = filter_operator_defaults_1.DEFAULT_OPERATORS[column.type ?? filter_value_type_enum_1.FilterValueTypeEnum.STRING];
143
+ if (!column.operators)
144
+ return supported;
145
+ return column.operators.filter((operator) => supported.includes(operator));
146
+ }
147
+ assertOperatorAllowed(column, operator) {
148
+ if (this.allowedOperators(column).includes(operator))
149
+ return;
150
+ throw new operation_exception_1.OperationException(`Operator ${operator} is not available on ${column.identifier}`);
151
+ }
152
+ transformFilterValue(filter, column) {
153
+ switch (filter.operator) {
154
+ case filter_operator_enum_1.FilterOperatorEnum.IS_NULL:
155
+ return !['false', '0', ''].includes((filter.value ?? '').trim().toLowerCase());
156
+ case filter_operator_enum_1.FilterOperatorEnum.IN:
157
+ return this.splitFilterValue(filter).map((part) => this.castFilterValue(part, column));
158
+ case filter_operator_enum_1.FilterOperatorEnum.BETWEEN: {
159
+ const parts = this.splitFilterValue(filter);
160
+ if (parts.length !== 2)
161
+ throw new operation_exception_1.OperationException(`Filter on ${filter.identifier} expects exactly two comma-separated values`);
162
+ return parts.map((part) => this.castFilterValue(part, column));
163
+ }
164
+ default:
165
+ return this.castFilterValue(filter.value, column);
166
+ }
167
+ }
168
+ splitFilterValue(filter) {
169
+ const parts = (filter.value ?? '')
170
+ .split(',')
171
+ .map((part) => part.trim())
172
+ .filter((part) => part.length);
173
+ if (!parts.length)
174
+ throw new operation_exception_1.OperationException(`Filter on ${filter.identifier} received no values`);
175
+ return parts;
176
+ }
177
+ castFilterValue(raw, column) {
178
+ const valueType = column.type ?? filter_value_type_enum_1.FilterValueTypeEnum.STRING;
179
+ switch (valueType) {
180
+ case filter_value_type_enum_1.FilterValueTypeEnum.UUID: {
181
+ if (!UUID_PATTERN.test(raw?.trim() ?? ''))
182
+ throw new operation_exception_1.OperationException(`Invalid uuid filter value on ${column.identifier}`);
183
+ return raw.trim();
184
+ }
185
+ case filter_value_type_enum_1.FilterValueTypeEnum.JSON:
186
+ throw new operation_exception_1.OperationException(`${column.identifier} cannot be compared by value`);
187
+ case filter_value_type_enum_1.FilterValueTypeEnum.NUMBER: {
188
+ const numeric = Number(raw);
189
+ if (raw === null || raw === '' || Number.isNaN(numeric))
190
+ throw new operation_exception_1.OperationException(`Invalid numeric filter value: ${raw}`);
191
+ return numeric;
192
+ }
193
+ case filter_value_type_enum_1.FilterValueTypeEnum.DATE: {
194
+ const value = raw?.trim() ?? '';
195
+ if (!CALENDAR_DATE_PATTERN.test(value) || !isRealCalendarDate(value))
196
+ throw new operation_exception_1.OperationException(`Invalid date filter value on ${column.identifier}: expected YYYY-MM-DD`);
197
+ return value;
198
+ }
199
+ case filter_value_type_enum_1.FilterValueTypeEnum.DATETIME: {
200
+ const date = new Date(raw);
201
+ if (Number.isNaN(date.getTime()))
202
+ throw new operation_exception_1.OperationException(`Invalid datetime filter value on ${column.identifier}`);
203
+ return date;
204
+ }
205
+ case filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN: {
206
+ const normalized = (raw ?? '').trim().toLowerCase();
207
+ if (normalized === 'true')
208
+ return true;
209
+ if (normalized === 'false')
210
+ return false;
211
+ throw new operation_exception_1.OperationException(`Invalid boolean filter value: ${raw}`);
212
+ }
213
+ case filter_value_type_enum_1.FilterValueTypeEnum.STRING:
214
+ return raw;
215
+ default:
216
+ throw new operation_exception_1.OperationException(`Unsupported filter value type: ${String(valueType)}`);
217
+ }
218
+ }
219
+ };
220
+ exports.ListFilterService = ListFilterService;
221
+ exports.ListFilterService = ListFilterService = __decorate([
222
+ (0, common_1.Injectable)(),
223
+ __metadata("design:paramtypes", [sql_service_1.SqlService])
224
+ ], ListFilterService);
225
+ //# sourceMappingURL=list.filter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.filter.service.js","sourceRoot":"","sources":["../../../src/common/services/list.filter.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql.service.d.ts","sourceRoot":"","sources":["../../../src/common/services/sql.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,eAAe,EAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACP,MAAM,oBAAoB,CAAC;AAW5B,qBACa,UAAU;IAWG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IALpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CACY;gBAId,UAAU,CAAC,EAAE,UAAU;IAG1D,UAAU,CAAC,CAAC,GAAG,MAAM,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAKT,mBAAmB,CAAC,CAAC,GAAG,MAAM,EAClC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,GACrB,OAAO,CAAC,CAAC,EAAE,CAAC;IAKT,QAAQ,CAAC,CAAC,GAAG,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMd,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAOd,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAMT,MAAM,CACV,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,OAAO,CAAC;IAUb,KAAK,CACT,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAaZ,QAAQ,CAAC,CAAC,GAAG,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAoBxB,IAAI,CAAC,MAAM,GAAE,SAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAanE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,SAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAM1E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAKtC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,aAAa;IAIrB,OAAO,KAAK,UAAU,GAOrB;YAEa,GAAG;CAalB"}
1
+ {"version":3,"file":"sql.service.d.ts","sourceRoot":"","sources":["../../../src/common/services/sql.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,eAAe,EAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACP,MAAM,oBAAoB,CAAC;AAW5B,qBACa,UAAU;IAWG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IALpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CACY;gBAId,UAAU,CAAC,EAAE,UAAU;IAG1D,UAAU,CAAC,CAAC,GAAG,MAAM,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAKT,mBAAmB,CAAC,CAAC,GAAG,MAAM,EAClC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,GACrB,OAAO,CAAC,CAAC,EAAE,CAAC;IAKT,QAAQ,CAAC,CAAC,GAAG,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAMd,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAOd,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IAMT,MAAM,CACV,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,OAAO,CAAC;IAUb,KAAK,CACT,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAaZ,QAAQ,CAAC,CAAC,GAAG,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,SAAc,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAuBxB,IAAI,CAAC,MAAM,GAAE,SAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAanE,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,SAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAM1E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAKtC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,aAAa;IAIrB,OAAO,KAAK,UAAU,GAOrB;YAEa,GAAG;CAalB"}
@@ -54,7 +54,7 @@ let SqlService = SqlService_1 = class SqlService {
54
54
  }
55
55
  async paginate(sql, params = {}, options) {
56
56
  const page = Math.max(options?.page ?? sql_default_enum_1.SqlDefault.PAGE, 1);
57
- const limit = Math.max(options?.limit ?? sql_default_enum_1.SqlDefault.LIMIT, 1);
57
+ const limit = Math.min(Math.max(options?.limit ?? sql_default_enum_1.SqlDefault.LIMIT, 1), sql_default_enum_1.SqlDefault.MAX_LIMIT);
58
58
  const source = this.trimStatement(sql);
59
59
  const [data, total] = await Promise.all([
60
60
  this.executeSql(`${source} LIMIT :${sql_default_enum_1.SqlDefault.LIMIT_PARAM} OFFSET :${sql_default_enum_1.SqlDefault.OFFSET_PARAM}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"sql.service.js","sourceRoot":"","sources":["../../../src/common/services/sql.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.service.js","sourceRoot":"","sources":["../../../src/common/services/sql.service.ts"],"names":[],"mappings":"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"}