rez_core 5.0.210 → 5.0.212

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rez_core",
3
- "version": "5.0.210",
3
+ "version": "5.0.212",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -26,8 +26,7 @@ export class FilterService {
26
26
  @Inject() protected readonly loggingService: LoggingService,
27
27
  private readonly configService: ConfigService,
28
28
  private readonly reflectionHelper: ReflectionHelper,
29
- ) {
30
- }
29
+ ) {}
31
30
 
32
31
  schema = this.configService.get('DB_SCHEMA');
33
32
 
@@ -38,33 +37,69 @@ export class FilterService {
38
37
  ) {
39
38
  if (!column) return [];
40
39
 
40
+ // let whereSQL = '';
41
+ // const values: any[] = [];
42
+ // let paramIndex = 1; // PostgreSQL placeholders start at $1
43
+
44
+ // if (whereClauses.length > 0) {
45
+ // const clauseParts = whereClauses.map((clause) => {
46
+ // let parsedQuery = clause.query.replace(/\be\./g, ''); // remove e.
47
+
48
+ // Object.entries(clause.params).forEach(([key, val]) => {
49
+ // if (Array.isArray(val)) {
50
+ // // Create ($1,$2,$3)
51
+ // const placeholders = val.map(() => `$${paramIndex++}`).join(', ');
52
+
53
+ // parsedQuery = parsedQuery.replace(
54
+ // new RegExp(`:${key}`, 'g'),
55
+ // `(${placeholders})`,
56
+ // );
57
+
58
+ // values.push(...val.map((v) => String(v)));
59
+ // } else {
60
+ // // Create $1
61
+ // const placeholder = `$${paramIndex++}`;
62
+
63
+ // parsedQuery = parsedQuery.replace(
64
+ // new RegExp(`:${key}`, 'g'),
65
+ // placeholder,
66
+ // );
67
+
68
+ // values.push(String(val));
69
+ // }
70
+ // });
71
+
72
+ // return parsedQuery;
73
+ // });
74
+
75
+ // whereSQL = `WHERE ${clauseParts.join(' AND ')}`;
76
+ // }
77
+
41
78
  let whereSQL = '';
42
79
  const values: any[] = [];
43
- let paramIndex = 1; // PostgreSQL placeholders start at $1
80
+ let paramIndex = 1;
44
81
 
45
82
  if (whereClauses.length > 0) {
46
83
  const clauseParts = whereClauses.map((clause) => {
47
- let parsedQuery = clause.query.replace(/\be\./g, ''); // remove e.
84
+ let parsedQuery = clause.query.replace(/\be\./g, '');
48
85
 
49
86
  Object.entries(clause.params).forEach(([key, val]) => {
50
87
  if (Array.isArray(val)) {
51
88
  // Create ($1,$2,$3)
52
89
  const placeholders = val.map(() => `$${paramIndex++}`).join(', ');
53
90
 
54
- parsedQuery = parsedQuery.replace(
55
- new RegExp(`:${key}`, 'g'),
56
- `(${placeholders})`,
57
- );
91
+ parsedQuery = parsedQuery
92
+ .replace(new RegExp(`:...${key}`, 'g'), `(${placeholders})`)
93
+ .replace(new RegExp(`:${key}`, 'g'), `(${placeholders})`);
58
94
 
59
95
  values.push(...val.map((v) => String(v)));
60
96
  } else {
61
97
  // Create $1
62
98
  const placeholder = `$${paramIndex++}`;
63
99
 
64
- parsedQuery = parsedQuery.replace(
65
- new RegExp(`:${key}`, 'g'),
66
- placeholder,
67
- );
100
+ parsedQuery = parsedQuery
101
+ .replace(new RegExp(`:...${key}`, 'g'), placeholder)
102
+ .replace(new RegExp(`:${key}`, 'g'), placeholder);
68
103
 
69
104
  values.push(String(val));
70
105
  }
@@ -82,7 +117,6 @@ export class FilterService {
82
117
  GROUP BY ${column}
83
118
  `;
84
119
 
85
-
86
120
  const rows = await this.entityManager.query(rawSQL, values);
87
121
 
88
122
  const total = rows.reduce(
@@ -284,7 +318,6 @@ export class FilterService {
284
318
 
285
319
  // Handle TEMPLATE entity special condition
286
320
  if (entity_type === 'TEMP' || entity_type === 'TEM') {
287
-
288
321
  if (level_type === 'ORG') {
289
322
  baseWhere.push({
290
323
  query: ` ((e.level_type = 'ORG' AND e.level_id = '${loggedInUser.enterprise_id}'))`,
@@ -325,8 +358,7 @@ export class FilterService {
325
358
  !customLevelId
326
359
  ) {
327
360
  baseWhere.push({
328
- query:
329
- 'e.level_type = :level_type AND e.level_id = :level_id',
361
+ query: 'e.level_type = :level_type AND e.level_id = :level_id',
330
362
  params: {
331
363
  level_type,
332
364
  level_id,
@@ -694,30 +726,28 @@ export class FilterService {
694
726
  layoutPreference: any,
695
727
  tabs: any,
696
728
  ) {
697
- if (layoutPreference && layoutPreference[0]?.mapped_json?.sorting) {
698
- if (Array.isArray(layoutPreference[0]?.mapped_json?.sorting?.tabs)) {
699
- const preferenceTabArray =
700
- layoutPreference[0]?.mapped_json?.sorting?.tabs;
729
+ const sorting = layoutPreference?.mapped_json?.sorting;
730
+
731
+ if (sorting) {
732
+ if (Array.isArray(sorting?.tabs)) {
733
+ const preferenceTabArray = sorting?.tabs;
701
734
  const tabFilter = preferenceTabArray.find(
702
- (tabData) => tabData.tab_name === tabs?.value,
735
+ (tabData) => tabData.tab_name?.value === tabs?.value,
703
736
  );
704
- tabFilter?.sortby.forEach(({ column, order }) => {
737
+
738
+ tabFilter?.sortby?.forEach(({ column, order }) => {
739
+ qb.addOrderBy(
740
+ `e.${column}`,
741
+ order?.toUpperCase() === 'DSC' ? 'DESC' : 'ASC',
742
+ );
743
+ });
744
+ } else if (Array.isArray(sorting.sortby)) {
745
+ sorting?.sortby?.forEach(({ column, order }) => {
705
746
  qb.addOrderBy(
706
747
  `e.${column}`,
707
748
  order?.toUpperCase() === 'DSC' ? 'DESC' : 'ASC',
708
749
  );
709
750
  });
710
- } else if (
711
- Array.isArray(layoutPreference[0]?.mapped_json?.sorting?.sortby)
712
- ) {
713
- layoutPreference[0]?.mapped_json?.sorting?.sortby?.forEach(
714
- ({ column, order }) => {
715
- qb.addOrderBy(
716
- `e.${column}`,
717
- order?.toUpperCase() === 'DSC' ? 'DESC' : 'ASC',
718
- );
719
- },
720
- );
721
751
  }
722
752
  }
723
753