rez_core 5.0.145 → 5.0.150
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/dist/config/bull.config.js +4 -4
- package/dist/config/bull.config.js.map +1 -1
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.d.ts +6 -0
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js +32 -0
- package/dist/migrations/1732612800000-AddEntityJsonGinIndex.js.map +1 -0
- package/dist/module/entity_json/entity_json.module.js +1 -1
- package/dist/module/entity_json/entity_json.module.js.map +1 -1
- package/dist/module/entity_json/service/entity_json.service.js +1 -1
- package/dist/module/entity_json/service/entity_json.service.js.map +1 -1
- package/dist/module/filter/controller/filter.controller.d.ts +12 -0
- package/dist/module/filter/controller/filter.controller.js +1 -1
- package/dist/module/filter/controller/filter.controller.js.map +1 -1
- package/dist/module/filter/filter.module.js +9 -2
- package/dist/module/filter/filter.module.js.map +1 -1
- package/dist/module/filter/repository/saved-filter.repository.d.ts +5 -1
- package/dist/module/filter/repository/saved-filter.repository.js +5 -1
- package/dist/module/filter/repository/saved-filter.repository.js.map +1 -1
- package/dist/module/filter/service/filter.service.d.ts +37 -1
- package/dist/module/filter/service/filter.service.js +30 -2
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/filter/service/flatjson-filter.service.d.ts +30 -0
- package/dist/module/filter/service/flatjson-filter.service.js +615 -0
- package/dist/module/filter/service/flatjson-filter.service.js.map +1 -0
- package/dist/module/integration/service/wrapper.service.d.ts +1 -3
- package/dist/module/integration/service/wrapper.service.js +2 -24
- package/dist/module/integration/service/wrapper.service.js.map +1 -1
- package/dist/module/linked_attributes/controller/linked_attributes.controller.d.ts +19 -0
- package/dist/module/linked_attributes/controller/linked_attributes.controller.js +77 -0
- package/dist/module/linked_attributes/controller/linked_attributes.controller.js.map +1 -1
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.d.ts +13 -0
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js +64 -0
- package/dist/module/linked_attributes/dto/create-linked-attribute-smart.dto.js.map +1 -0
- package/dist/module/linked_attributes/linked_attributes.module.js +8 -1
- package/dist/module/linked_attributes/linked_attributes.module.js.map +1 -1
- package/dist/module/linked_attributes/service/linked_attributes.service.d.ts +41 -1
- package/dist/module/linked_attributes/service/linked_attributes.service.js +266 -2
- package/dist/module/linked_attributes/service/linked_attributes.service.js.map +1 -1
- package/dist/module/meta/dto/entity-table.dto.d.ts +4 -1
- package/dist/module/meta/dto/entity-table.dto.js.map +1 -1
- package/dist/module/meta/service/media-data.service.js +5 -18
- package/dist/module/meta/service/media-data.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config/bull.config.ts +4 -4
- package/src/migrations/1732612800000-AddEntityJsonGinIndex.ts +41 -0
- package/src/module/entity_json/docs/FlatJson_Filterin_System.md +2804 -0
- package/src/module/entity_json/entity_json.module.ts +1 -1
- package/src/module/entity_json/service/entity_json.service.ts +1 -1
- package/src/module/filter/controller/filter.controller.ts +1 -3
- package/src/module/filter/filter.module.ts +9 -2
- package/src/module/filter/repository/saved-filter.repository.ts +5 -8
- package/src/module/filter/service/filter.service.ts +49 -0
- package/src/module/filter/service/flatjson-filter.service.ts +888 -0
- package/src/module/filter/test/flatjson-filter.service.spec.ts +415 -0
- package/src/module/integration/service/wrapper.service.ts +0 -37
- package/src/module/linked_attributes/controller/linked_attributes.controller.ts +86 -0
- package/src/module/linked_attributes/dto/create-linked-attribute-smart.dto.ts +54 -0
- package/src/module/linked_attributes/linked_attributes.module.ts +9 -2
- package/src/module/linked_attributes/service/linked_attributes.service.ts +548 -3
- package/src/module/linked_attributes/test/linked-attributes.service.spec.ts +244 -0
- package/src/module/meta/dto/entity-table.dto.ts +1 -2
- package/src/module/meta/service/media-data.service.ts +9 -27
|
@@ -13,6 +13,6 @@ import { EntityJSONRepository } from './service/entityJson.repository';
|
|
|
13
13
|
imports: [EntityModule, TypeOrmModule.forFeature([EntityJson]),FilterModule,UtilsModule],
|
|
14
14
|
controllers: [EntityJSONController],
|
|
15
15
|
providers: [EntityJSONService,EntityJSONRepository],
|
|
16
|
-
exports: [],
|
|
16
|
+
exports: [EntityJSONService],
|
|
17
17
|
})
|
|
18
18
|
export class EntityJSONModule {}
|
|
@@ -107,7 +107,7 @@ export class EntityJSONService extends EntityServiceImpl {
|
|
|
107
107
|
dropdown.push(...mainAttributes.map(a => ({ label: a.name, value: a.flat_json_key })));
|
|
108
108
|
dropdown.push(...relatedAttributes.map(a => ({ label: a.name, value: a.flat_json_key })));
|
|
109
109
|
if (linkedAttributes.length > 0) {
|
|
110
|
-
dropdown.push(...linkedAttributes.map(a => ({ label: a.name, value: a.
|
|
110
|
+
dropdown.push(...linkedAttributes.map(a => ({ label: a.name, value: a.target_attribute_key })));
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
return dropdown;
|
|
@@ -9,11 +9,16 @@ import { FilterService } from './service/filter.service';
|
|
|
9
9
|
import { FilterController } from './controller/filter.controller';
|
|
10
10
|
import { FilterEvaluatorService } from './service/filter-evaluator.service';
|
|
11
11
|
import { SavedFilterDetailRepository } from './repository/saved.filter-detail.repository';
|
|
12
|
+
import { FlatjsonFilterService } from './service/flatjson-filter.service';
|
|
13
|
+
import { ConfigModule } from '@nestjs/config';
|
|
14
|
+
import { UtilsModule } from 'src/utils/utils.module';
|
|
12
15
|
|
|
13
16
|
@Module({
|
|
14
17
|
imports: [
|
|
15
18
|
TypeOrmModule.forFeature([SavedFilterDetail, SavedFilterMaster]),
|
|
16
|
-
forwardRef(() => EntityModule)
|
|
19
|
+
forwardRef(() => EntityModule),
|
|
20
|
+
ConfigModule,
|
|
21
|
+
UtilsModule,
|
|
17
22
|
],
|
|
18
23
|
controllers: [FilterController],
|
|
19
24
|
providers: [
|
|
@@ -21,13 +26,15 @@ import { SavedFilterDetailRepository } from './repository/saved.filter-detail.re
|
|
|
21
26
|
SavedFilterRepositoryService,
|
|
22
27
|
FilterService,
|
|
23
28
|
FilterEvaluatorService,
|
|
24
|
-
SavedFilterDetailRepository
|
|
29
|
+
SavedFilterDetailRepository,
|
|
30
|
+
FlatjsonFilterService,
|
|
25
31
|
],
|
|
26
32
|
exports: [
|
|
27
33
|
'SavedFilterService',
|
|
28
34
|
SavedFilterRepositoryService,
|
|
29
35
|
FilterService,
|
|
30
36
|
FilterEvaluatorService,
|
|
37
|
+
FlatjsonFilterService,
|
|
31
38
|
],
|
|
32
39
|
})
|
|
33
40
|
export class FilterModule {}
|
|
@@ -127,14 +127,11 @@ export class SavedFilterRepositoryService {
|
|
|
127
127
|
},
|
|
128
128
|
});
|
|
129
129
|
|
|
130
|
-
return filters
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
// code: filter.code,
|
|
136
|
-
|
|
137
|
-
// }));
|
|
130
|
+
return filters.map((filter) => ({
|
|
131
|
+
label: filter.name,
|
|
132
|
+
value: filter.id,
|
|
133
|
+
code: filter.code,
|
|
134
|
+
}));
|
|
138
135
|
}
|
|
139
136
|
|
|
140
137
|
async getFilterById(id: number): Promise<
|
|
@@ -11,6 +11,7 @@ import { LoggingService } from 'src/utils/service/loggingUtil.service';
|
|
|
11
11
|
import { ConfigService } from '@nestjs/config';
|
|
12
12
|
import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
|
|
13
13
|
import { EntityManager } from 'typeorm';
|
|
14
|
+
import { FlatjsonFilterService } from './flatjson-filter.service';
|
|
14
15
|
|
|
15
16
|
@Injectable()
|
|
16
17
|
export class FilterService {
|
|
@@ -26,6 +27,7 @@ export class FilterService {
|
|
|
26
27
|
@Inject() protected readonly loggingService: LoggingService,
|
|
27
28
|
private readonly configService: ConfigService,
|
|
28
29
|
private readonly reflectionHelper: ReflectionHelper,
|
|
30
|
+
private readonly flatjsonFilterService: FlatjsonFilterService,
|
|
29
31
|
) {}
|
|
30
32
|
|
|
31
33
|
private async gettab_value_counts(
|
|
@@ -96,6 +98,53 @@ export class FilterService {
|
|
|
96
98
|
];
|
|
97
99
|
}
|
|
98
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Route to flatjson or traditional filtering based on configuration
|
|
103
|
+
*/
|
|
104
|
+
async applyFilterWithRouting(dto: FilterRequestDto) {
|
|
105
|
+
// Check if flatjson filtering is enabled via config or query param
|
|
106
|
+
const useFlatjson =
|
|
107
|
+
this.configService.get<string>('ENABLE_FLATJSON_FILTER') === 'true' ||
|
|
108
|
+
dto.queryParams?.use_flatjson === 'true';
|
|
109
|
+
|
|
110
|
+
if (useFlatjson) {
|
|
111
|
+
await this.loggingService.log(
|
|
112
|
+
'info',
|
|
113
|
+
'FilterService',
|
|
114
|
+
'applyFilterWithRouting',
|
|
115
|
+
`Using FLATJSON filtering for ${dto.entity_type}`,
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
// Use new flatjson filtering service
|
|
119
|
+
const result = await this.flatjsonFilterService.applyFlatjsonFilter(dto);
|
|
120
|
+
|
|
121
|
+
// Transform to match existing response format
|
|
122
|
+
return {
|
|
123
|
+
success: true,
|
|
124
|
+
data: {
|
|
125
|
+
entity_tabs: result.tabCounts || [],
|
|
126
|
+
entity_list: result.data,
|
|
127
|
+
pagination: {
|
|
128
|
+
total: result.total,
|
|
129
|
+
page: result.page,
|
|
130
|
+
size: result.size,
|
|
131
|
+
totalPages: result.totalPages,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
} else {
|
|
136
|
+
await this.loggingService.log(
|
|
137
|
+
'info',
|
|
138
|
+
'FilterService',
|
|
139
|
+
'applyFilterWithRouting',
|
|
140
|
+
`Using TRADITIONAL filtering for ${dto.entity_type}`,
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
// Use traditional filtering
|
|
144
|
+
return this.applyFilterWrapper(dto);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
99
148
|
async applyFilterWrapper(dto: FilterRequestDto) {
|
|
100
149
|
const {
|
|
101
150
|
entity_type,
|