@owox/backend 0.35.0-next-20260917211534 → 0.35.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.
- package/dist/src/common/search/search.facade.d.ts +15 -1
- package/dist/src/common/search/search.facade.js +1 -0
- package/dist/src/data-marts/ai-insights/agent/types.d.ts +12 -12
- package/dist/src/data-marts/controllers/spec/report.api.js +5 -1
- package/dist/src/data-marts/controllers/spec/search.api.js +2 -1
- package/dist/src/data-marts/data-destination-types/enums/data-destination-type.enum.d.ts +1 -0
- package/dist/src/data-marts/data-destination-types/enums/data-destination-type.enum.js +14 -0
- package/dist/src/data-marts/data-marts.module.js +3 -0
- package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.d.ts +1 -0
- package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.js +18 -0
- package/dist/src/data-marts/dto/domain/blendable-schema.dto.d.ts +1 -0
- package/dist/src/data-marts/dto/domain/blendable-schema.dto.js +15 -0
- package/dist/src/data-marts/dto/presentation/run-data-mart-request-api.dto.js +4 -1
- package/dist/src/data-marts/dto/presentation/search-result-response-api.dto.d.ts +15 -0
- package/dist/src/data-marts/dto/presentation/search-result-response-api.dto.js +61 -1
- package/dist/src/data-marts/entities/report.entity.d.ts +1 -0
- package/dist/src/data-marts/entities/report.entity.js +8 -1
- package/dist/src/data-marts/entities/search/report-search-index.entity.d.ts +10 -0
- package/dist/src/data-marts/entities/search/report-search-index.entity.js +62 -0
- package/dist/src/data-marts/entities/search/search-project-reindex-trigger.entity.d.ts +2 -0
- package/dist/src/data-marts/entities/search/search-project-reindex-trigger.entity.js +9 -1
- package/dist/src/data-marts/entities/search/search-reindex-trigger.entity.d.ts +9 -1
- package/dist/src/data-marts/entities/search/search-reindex-trigger.entity.js +14 -0
- package/dist/src/data-marts/errors/disconnected-report-columns.error.d.ts +1 -1
- package/dist/src/data-marts/errors/disconnected-report-columns.error.js +19 -6
- package/dist/src/data-marts/search/config/advanced-search.config.d.ts +1 -0
- package/dist/src/data-marts/search/config/advanced-search.config.js +2 -0
- package/dist/src/data-marts/search/engine/advanced-search.service.js +1 -0
- package/dist/src/data-marts/search/engine/in-memory-paginated.search.js +3 -1
- package/dist/src/data-marts/search/engine/search-query-builder.d.ts +2 -1
- package/dist/src/data-marts/search/engine/search-query-builder.js +2 -2
- package/dist/src/data-marts/search/engine/tokenizer.d.ts +2 -0
- package/dist/src/data-marts/search/engine/tokenizer.js +9 -0
- package/dist/src/data-marts/search/engine/vector-search.port.d.ts +2 -1
- package/dist/src/data-marts/search/indexing/document-builder.d.ts +2 -0
- package/dist/src/data-marts/search/indexing/document-builder.js +1 -0
- package/dist/src/data-marts/search/indexing/entity-scoring-descriptor.d.ts +2 -1
- package/dist/src/data-marts/search/indexing/search-indexer.service.d.ts +9 -1
- package/dist/src/data-marts/search/indexing/search-indexer.service.js +147 -7
- package/dist/src/data-marts/search/indexing/search-reindex-trigger-handler.service.d.ts +6 -2
- package/dist/src/data-marts/search/indexing/search-reindex-trigger-handler.service.js +34 -2
- package/dist/src/data-marts/search/schema/search-index.repository.d.ts +1 -0
- package/dist/src/data-marts/search/schema/search-index.repository.js +81 -13
- package/dist/src/data-marts/search/search.facade.impl.d.ts +4 -1
- package/dist/src/data-marts/search/search.facade.impl.js +18 -4
- package/dist/src/data-marts/search/search.module.js +13 -2
- package/dist/src/data-marts/search/sources/report.source.d.ts +23 -0
- package/dist/src/data-marts/search/sources/report.source.js +173 -0
- package/dist/src/data-marts/services/advanced-search-index-sync.service.d.ts +5 -2
- package/dist/src/data-marts/services/advanced-search-index-sync.service.js +24 -1
- package/dist/src/data-marts/services/auto-collapse.resolver.d.ts +6 -0
- package/dist/src/data-marts/services/auto-collapse.resolver.js +14 -0
- package/dist/src/data-marts/services/blendable-schema.service.js +15 -1
- package/dist/src/data-marts/services/blended-report-data.service.js +3 -3
- package/dist/src/data-marts/services/connector/connector-executor.service.d.ts +1 -0
- package/dist/src/data-marts/services/connector/connector-executor.service.js +80 -14
- package/dist/src/data-marts/services/connector/connector-run.service.d.ts +3 -1
- package/dist/src/data-marts/services/connector/connector-run.service.js +10 -4
- package/dist/src/data-marts/services/connector/connector-source-config.service.js +2 -5
- package/dist/src/data-marts/services/data-mart-run.service.d.ts +2 -0
- package/dist/src/data-marts/services/data-mart-run.service.js +6 -3
- package/dist/src/data-marts/services/looker-studio-report.service.d.ts +7 -0
- package/dist/src/data-marts/services/looker-studio-report.service.js +79 -0
- package/dist/src/data-marts/services/output-controls-validator.service.js +1 -1
- package/dist/src/data-marts/services/report-data-cache.service.d.ts +1 -0
- package/dist/src/data-marts/services/report-data-cache.service.js +33 -8
- package/dist/src/data-marts/services/report-run.service.js +1 -1
- package/dist/src/data-marts/services/report.service.d.ts +6 -2
- package/dist/src/data-marts/services/report.service.js +17 -4
- package/dist/src/data-marts/use-cases/create-report.service.d.ts +5 -1
- package/dist/src/data-marts/use-cases/create-report.service.js +21 -8
- package/dist/src/data-marts/use-cases/delete-report.service.d.ts +3 -1
- package/dist/src/data-marts/use-cases/delete-report.service.js +9 -3
- package/dist/src/data-marts/use-cases/get-report-generated-sql.service.js +1 -1
- package/dist/src/data-marts/use-cases/legacy-data-marts/move-legacy-data-storage.service.js +11 -2
- package/dist/src/data-marts/use-cases/run-report.service.js +8 -9
- package/dist/src/data-marts/use-cases/stream-http-data.service.d.ts +3 -0
- package/dist/src/data-marts/use-cases/stream-http-data.service.js +15 -6
- package/dist/src/data-marts/use-cases/update-data-destination.service.js +7 -0
- package/dist/src/data-marts/use-cases/update-data-mart-title.service.js +4 -0
- package/dist/src/data-marts/use-cases/update-report.service.d.ts +3 -1
- package/dist/src/data-marts/use-cases/update-report.service.js +8 -2
- package/dist/src/data-marts/utils/manual-backfill-range.d.ts +20 -0
- package/dist/src/data-marts/utils/manual-backfill-range.js +131 -0
- package/dist/src/ee/mcp/instructions/mcp-system-instructions.d.ts +1 -1
- package/dist/src/ee/mcp/instructions/mcp-system-instructions.js +1 -0
- package/dist/src/ee/mcp/tools/delete-report.tool.d.ts +1 -1
- package/dist/src/ee/mcp/tools/delete-report.tool.js +1 -1
- package/dist/src/ee/mcp/tools/mcp-tool.providers.js +2 -0
- package/dist/src/ee/mcp/tools/query-data-mart.tool.js +6 -2
- package/dist/src/ee/mcp/tools/search-reports.tool.d.ts +107 -0
- package/dist/src/ee/mcp/tools/search-reports.tool.js +106 -0
- package/dist/src/migrations/1779200000000-migrate-prejoin-filter-to-unified-column.js +1 -0
- package/dist/src/migrations/1787788800004-create-report-search-index-tables.d.ts +7 -0
- package/dist/src/migrations/1787788800004-create-report-search-index-tables.js +84 -0
- package/dist/src/migrations/1787788800005-add-report-reindex-progress.d.ts +5 -0
- package/dist/src/migrations/1787788800005-add-report-reindex-progress.js +39 -0
- package/dist/src/migrations/1789646400000-add-soft-delete-to-report.d.ts +6 -0
- package/dist/src/migrations/1789646400000-add-soft-delete-to-report.js +15 -0
- package/package.json +5 -5
|
@@ -3,7 +3,19 @@ export declare const SEARCH_SEMANTIC_ENGINE: unique symbol;
|
|
|
3
3
|
export declare enum SearchableEntityType {
|
|
4
4
|
DATA_MART = "DATA_MART",
|
|
5
5
|
DATA_STORAGE = "DATA_STORAGE",
|
|
6
|
-
DATA_DESTINATION = "DATA_DESTINATION"
|
|
6
|
+
DATA_DESTINATION = "DATA_DESTINATION",
|
|
7
|
+
REPORT = "REPORT"
|
|
8
|
+
}
|
|
9
|
+
export interface SearchReportRef {
|
|
10
|
+
dataMart: {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
};
|
|
14
|
+
dataDestination: {
|
|
15
|
+
id: string;
|
|
16
|
+
title: string;
|
|
17
|
+
type: string;
|
|
18
|
+
};
|
|
7
19
|
}
|
|
8
20
|
export interface SearchResult {
|
|
9
21
|
entityType: SearchableEntityType;
|
|
@@ -13,6 +25,8 @@ export interface SearchResult {
|
|
|
13
25
|
finalScore: number;
|
|
14
26
|
kwScore: number;
|
|
15
27
|
vecScore: number | null;
|
|
28
|
+
report?: SearchReportRef;
|
|
29
|
+
url?: string;
|
|
16
30
|
}
|
|
17
31
|
export interface SearchAccessScope {
|
|
18
32
|
userId: string;
|
|
@@ -8,5 +8,6 @@ var SearchableEntityType;
|
|
|
8
8
|
SearchableEntityType["DATA_MART"] = "DATA_MART";
|
|
9
9
|
SearchableEntityType["DATA_STORAGE"] = "DATA_STORAGE";
|
|
10
10
|
SearchableEntityType["DATA_DESTINATION"] = "DATA_DESTINATION";
|
|
11
|
+
SearchableEntityType["REPORT"] = "REPORT";
|
|
11
12
|
})(SearchableEntityType || (exports.SearchableEntityType = SearchableEntityType = {}));
|
|
12
13
|
//# sourceMappingURL=search.facade.js.map
|
|
@@ -252,12 +252,12 @@ export declare const QueryPlanWhereSpecSchema: z.ZodObject<{
|
|
|
252
252
|
}, "strip", z.ZodTypeAny, {
|
|
253
253
|
value: string | number | boolean | string[] | number[] | null;
|
|
254
254
|
required: boolean;
|
|
255
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
255
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
256
256
|
field: string;
|
|
257
257
|
notes?: string | undefined;
|
|
258
258
|
}, {
|
|
259
259
|
value: string | number | boolean | string[] | number[] | null;
|
|
260
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
260
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
261
261
|
field: string;
|
|
262
262
|
required?: boolean | undefined;
|
|
263
263
|
notes?: string | undefined;
|
|
@@ -339,12 +339,12 @@ export declare const QueryPlanSchema: z.ZodObject<{
|
|
|
339
339
|
}, "strip", z.ZodTypeAny, {
|
|
340
340
|
value: string | number | boolean | string[] | number[] | null;
|
|
341
341
|
required: boolean;
|
|
342
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
342
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
343
343
|
field: string;
|
|
344
344
|
notes?: string | undefined;
|
|
345
345
|
}, {
|
|
346
346
|
value: string | number | boolean | string[] | number[] | null;
|
|
347
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
347
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
348
348
|
field: string;
|
|
349
349
|
required?: boolean | undefined;
|
|
350
350
|
notes?: string | undefined;
|
|
@@ -475,7 +475,7 @@ export declare const QueryPlanSchema: z.ZodObject<{
|
|
|
475
475
|
whereSpecs: {
|
|
476
476
|
value: string | number | boolean | string[] | number[] | null;
|
|
477
477
|
required: boolean;
|
|
478
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
478
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
479
479
|
field: string;
|
|
480
480
|
notes?: string | undefined;
|
|
481
481
|
}[];
|
|
@@ -517,7 +517,7 @@ export declare const QueryPlanSchema: z.ZodObject<{
|
|
|
517
517
|
}[];
|
|
518
518
|
whereSpecs: {
|
|
519
519
|
value: string | number | boolean | string[] | number[] | null;
|
|
520
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
520
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
521
521
|
field: string;
|
|
522
522
|
required?: boolean | undefined;
|
|
523
523
|
notes?: string | undefined;
|
|
@@ -625,12 +625,12 @@ export declare const PlanModelJsonSchema: z.ZodObject<{
|
|
|
625
625
|
}, "strip", z.ZodTypeAny, {
|
|
626
626
|
value: string | number | boolean | string[] | number[] | null;
|
|
627
627
|
required: boolean;
|
|
628
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
628
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
629
629
|
field: string;
|
|
630
630
|
notes?: string | undefined;
|
|
631
631
|
}, {
|
|
632
632
|
value: string | number | boolean | string[] | number[] | null;
|
|
633
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
633
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
634
634
|
field: string;
|
|
635
635
|
required?: boolean | undefined;
|
|
636
636
|
notes?: string | undefined;
|
|
@@ -761,7 +761,7 @@ export declare const PlanModelJsonSchema: z.ZodObject<{
|
|
|
761
761
|
whereSpecs: {
|
|
762
762
|
value: string | number | boolean | string[] | number[] | null;
|
|
763
763
|
required: boolean;
|
|
764
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
764
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
765
765
|
field: string;
|
|
766
766
|
notes?: string | undefined;
|
|
767
767
|
}[];
|
|
@@ -803,7 +803,7 @@ export declare const PlanModelJsonSchema: z.ZodObject<{
|
|
|
803
803
|
}[];
|
|
804
804
|
whereSpecs: {
|
|
805
805
|
value: string | number | boolean | string[] | number[] | null;
|
|
806
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
806
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
807
807
|
field: string;
|
|
808
808
|
required?: boolean | undefined;
|
|
809
809
|
notes?: string | undefined;
|
|
@@ -877,7 +877,7 @@ export declare const PlanModelJsonSchema: z.ZodObject<{
|
|
|
877
877
|
whereSpecs: {
|
|
878
878
|
value: string | number | boolean | string[] | number[] | null;
|
|
879
879
|
required: boolean;
|
|
880
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
880
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
881
881
|
field: string;
|
|
882
882
|
notes?: string | undefined;
|
|
883
883
|
}[];
|
|
@@ -923,7 +923,7 @@ export declare const PlanModelJsonSchema: z.ZodObject<{
|
|
|
923
923
|
}[];
|
|
924
924
|
whereSpecs: {
|
|
925
925
|
value: string | number | boolean | string[] | number[] | null;
|
|
926
|
-
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "
|
|
926
|
+
operator: "between" | "in" | "ilike" | "like" | "is_null" | "is_not_null" | "<" | ">" | "=" | "!=" | ">=" | "<=";
|
|
927
927
|
field: string;
|
|
928
928
|
required?: boolean | undefined;
|
|
929
929
|
notes?: string | undefined;
|
|
@@ -36,7 +36,11 @@ function GetReportSpec() {
|
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
38
|
function DeleteReportSpec() {
|
|
39
|
-
return (0, common_1.applyDecorators)((0, swagger_1.ApiOperation)({
|
|
39
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiOperation)({
|
|
40
|
+
summary: 'Delete a report',
|
|
41
|
+
description: 'Soft-deletes the report, retaining its configuration and run history. ' +
|
|
42
|
+
'Deleted reports are excluded from report lists and cannot be read or run.',
|
|
43
|
+
}), (0, swagger_1.ApiParam)({ name: 'id', description: 'Report ID' }), (0, swagger_1.ApiOkResponse)({
|
|
40
44
|
description: 'The report has been successfully deleted.',
|
|
41
45
|
}));
|
|
42
46
|
}
|
|
@@ -8,7 +8,8 @@ const search_result_response_api_dto_1 = require("../../dto/presentation/search-
|
|
|
8
8
|
function SearchSpec() {
|
|
9
9
|
return (0, common_1.applyDecorators)((0, swagger_1.ApiOperation)({
|
|
10
10
|
summary: 'Search project entities',
|
|
11
|
-
description: 'Returns data marts, data storages,
|
|
11
|
+
description: 'Returns data marts, data storages, data destinations, and reports visible to the caller. ' +
|
|
12
|
+
'Report results also carry their data mart, destination, and a canonical direct URL. ' +
|
|
12
13
|
'Search uses semantic and keyword signals and falls back to keyword matching when ' +
|
|
13
14
|
'prompt embeddings are unavailable.',
|
|
14
15
|
}), (0, swagger_1.ApiQuery)({
|
|
@@ -10,5 +10,6 @@ export declare enum DataDestinationType {
|
|
|
10
10
|
export declare function toHumanReadable(type: DataDestinationType): string;
|
|
11
11
|
export declare function isEmailBasedDataDestinationType(type: DataDestinationType): boolean;
|
|
12
12
|
export declare function isPullBasedDataDestinationType(type: DataDestinationType): boolean;
|
|
13
|
+
export declare function collapsesOnDelivery(type: DataDestinationType): boolean;
|
|
13
14
|
export declare function requiresCredentials(type: DataDestinationType): boolean;
|
|
14
15
|
export declare function usesSuffixedJoinedFieldNames(type: DataDestinationType): boolean;
|
|
@@ -4,6 +4,7 @@ exports.DataDestinationType = void 0;
|
|
|
4
4
|
exports.toHumanReadable = toHumanReadable;
|
|
5
5
|
exports.isEmailBasedDataDestinationType = isEmailBasedDataDestinationType;
|
|
6
6
|
exports.isPullBasedDataDestinationType = isPullBasedDataDestinationType;
|
|
7
|
+
exports.collapsesOnDelivery = collapsesOnDelivery;
|
|
7
8
|
exports.requiresCredentials = requiresCredentials;
|
|
8
9
|
exports.usesSuffixedJoinedFieldNames = usesSuffixedJoinedFieldNames;
|
|
9
10
|
var DataDestinationType;
|
|
@@ -45,6 +46,19 @@ function isEmailBasedDataDestinationType(type) {
|
|
|
45
46
|
function isPullBasedDataDestinationType(type) {
|
|
46
47
|
return type === DataDestinationType.LOOKER_STUDIO || type === DataDestinationType.EXCEL;
|
|
47
48
|
}
|
|
49
|
+
function collapsesOnDelivery(type) {
|
|
50
|
+
switch (type) {
|
|
51
|
+
case DataDestinationType.LOOKER_STUDIO:
|
|
52
|
+
return false;
|
|
53
|
+
case DataDestinationType.GOOGLE_SHEETS:
|
|
54
|
+
case DataDestinationType.EXCEL:
|
|
55
|
+
case DataDestinationType.EMAIL:
|
|
56
|
+
case DataDestinationType.SLACK:
|
|
57
|
+
case DataDestinationType.MS_TEAMS:
|
|
58
|
+
case DataDestinationType.GOOGLE_CHAT:
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
48
62
|
function requiresCredentials(type) {
|
|
49
63
|
return type !== DataDestinationType.EXCEL;
|
|
50
64
|
}
|
|
@@ -175,6 +175,7 @@ const data_mart_schema_parser_facade_service_1 = require("./data-storage-types/f
|
|
|
175
175
|
const data_mart_scheduled_trigger_entity_1 = require("./entities/data-mart-scheduled-trigger.entity");
|
|
176
176
|
const scheduled_triggers_handler_service_1 = require("./services/scheduled-triggers-handler.service");
|
|
177
177
|
const report_service_1 = require("./services/report.service");
|
|
178
|
+
const looker_studio_report_service_1 = require("./services/looker-studio-report.service");
|
|
178
179
|
const insight_service_1 = require("./services/insight.service");
|
|
179
180
|
const insight_artifact_service_1 = require("./services/insight-artifact.service");
|
|
180
181
|
const insight_artifact_sql_preview_trigger_handler_service_1 = require("./services/insight-artifact-sql-preview-trigger-handler.service");
|
|
@@ -490,6 +491,7 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
490
491
|
search_project_reindex_trigger_entity_1.SearchDataMartProjectReindexTrigger,
|
|
491
492
|
search_project_reindex_trigger_entity_1.SearchDataStorageProjectReindexTrigger,
|
|
492
493
|
search_project_reindex_trigger_entity_1.SearchDataDestinationProjectReindexTrigger,
|
|
494
|
+
search_project_reindex_trigger_entity_1.SearchReportProjectReindexTrigger,
|
|
493
495
|
data_mart_entity_1.DataMart,
|
|
494
496
|
data_mart_business_owner_entity_1.DataMartBusinessOwner,
|
|
495
497
|
data_mart_technical_owner_entity_1.DataMartTechnicalOwner,
|
|
@@ -803,6 +805,7 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
803
805
|
update_scheduled_trigger_service_1.UpdateScheduledTriggerService,
|
|
804
806
|
delete_scheduled_trigger_service_1.DeleteScheduledTriggerService,
|
|
805
807
|
report_service_1.ReportService,
|
|
808
|
+
looker_studio_report_service_1.LookerStudioReportService,
|
|
806
809
|
report_access_service_1.ReportAccessService,
|
|
807
810
|
access_decision_1.AccessDecisionService,
|
|
808
811
|
advanced_search_index_sync_service_1.AdvancedSearchIndexSyncService,
|
|
@@ -19,6 +19,7 @@ export declare function collectSchemaFieldPathDescriptors(fields: readonly DataM
|
|
|
19
19
|
type: string;
|
|
20
20
|
field: DataMartSchemaField;
|
|
21
21
|
}[];
|
|
22
|
+
export declare function collectHiddenForReportingPaths(fields: readonly DataMartSchemaField[], prefix?: string): string[];
|
|
22
23
|
export declare function collectFormulaReferenceableFields(fields: readonly DataMartSchemaField[], prefix?: string): {
|
|
23
24
|
name: string;
|
|
24
25
|
field: DataMartSchemaField;
|
|
@@ -15,6 +15,7 @@ exports.collectSchemaFieldPaths = collectSchemaFieldPaths;
|
|
|
15
15
|
exports.collectSchemaFieldPathTypes = collectSchemaFieldPathTypes;
|
|
16
16
|
exports.getReportFieldType = getReportFieldType;
|
|
17
17
|
exports.collectSchemaFieldPathDescriptors = collectSchemaFieldPathDescriptors;
|
|
18
|
+
exports.collectHiddenForReportingPaths = collectHiddenForReportingPaths;
|
|
18
19
|
exports.collectFormulaReferenceableFields = collectFormulaReferenceableFields;
|
|
19
20
|
exports.getMainUniqueCountKeyFields = getMainUniqueCountKeyFields;
|
|
20
21
|
exports.collectPrimaryKeyRowIdentity = collectPrimaryKeyRowIdentity;
|
|
@@ -65,6 +66,23 @@ function collectSchemaFieldPathDescriptors(fields, prefix = '') {
|
|
|
65
66
|
}
|
|
66
67
|
return result;
|
|
67
68
|
}
|
|
69
|
+
function collectHiddenForReportingPaths(fields, prefix = '') {
|
|
70
|
+
const result = [];
|
|
71
|
+
for (const field of fields) {
|
|
72
|
+
if (!isConnected(field))
|
|
73
|
+
continue;
|
|
74
|
+
const fullName = prefix ? `${prefix}.${field.name}` : field.name;
|
|
75
|
+
const children = 'fields' in field && field.fields?.length && !(0, field_type_compatibility_1.isArrayFieldType)(getReportFieldType(field))
|
|
76
|
+
? field.fields
|
|
77
|
+
: [];
|
|
78
|
+
if (field.isHiddenForReporting) {
|
|
79
|
+
result.push(fullName, ...collectFormulaReferenceableFields(children, fullName).map(({ name }) => name));
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
result.push(...collectHiddenForReportingPaths(children, fullName));
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
68
86
|
function collectFormulaReferenceableFields(fields, prefix = '') {
|
|
69
87
|
const result = [];
|
|
70
88
|
for (const field of fields) {
|
|
@@ -250,6 +250,7 @@ class BlendableSchemaDto {
|
|
|
250
250
|
availableSources;
|
|
251
251
|
mainUniqueCountKeyFields;
|
|
252
252
|
calculatedFieldIssues;
|
|
253
|
+
hiddenFieldNames;
|
|
253
254
|
}
|
|
254
255
|
exports.BlendableSchemaDto = BlendableSchemaDto;
|
|
255
256
|
__decorate([
|
|
@@ -295,4 +296,18 @@ __decorate([
|
|
|
295
296
|
}),
|
|
296
297
|
__metadata("design:type", Array)
|
|
297
298
|
], BlendableSchemaDto.prototype, "calculatedFieldIssues", void 0);
|
|
299
|
+
__decorate([
|
|
300
|
+
(0, swagger_1.ApiProperty)({
|
|
301
|
+
type: [String],
|
|
302
|
+
description: 'Column names someone hid from reporting, in the form a report stores them: own columns as ' +
|
|
303
|
+
'dotted paths (`metrics.cost`, a hidden RECORD bringing its subtree), joined columns by ' +
|
|
304
|
+
'their unified blended name — the same form as `blendedFields[].name`, hash suffix and all. ' +
|
|
305
|
+
'Covers both joined switches: a field hidden on the joined Data Mart (absent from ' +
|
|
306
|
+
'`blendedFields` entirely) and one hidden per join (present there with `isHidden: true`). ' +
|
|
307
|
+
'The list exists so a report that still selects such a column can be told it was HIDDEN ' +
|
|
308
|
+
'rather than lost, which is a different fact with a different fix. A column that is also ' +
|
|
309
|
+
'disconnected is left out: it really is gone.',
|
|
310
|
+
}),
|
|
311
|
+
__metadata("design:type", Array)
|
|
312
|
+
], BlendableSchemaDto.prototype, "hiddenFieldNames", void 0);
|
|
298
313
|
//# sourceMappingURL=blendable-schema.dto.js.map
|
|
@@ -102,7 +102,10 @@ __decorate([
|
|
|
102
102
|
data: { StartDate: '2026-07-01', EndDate: '2026-07-31' },
|
|
103
103
|
},
|
|
104
104
|
description: `Payload for the manual run. Omit it or select INCREMENTAL for an incremental run.
|
|
105
|
-
MANUAL_BACKFILL can include connector-specific fields in data
|
|
105
|
+
MANUAL_BACKFILL can include connector-specific fields in data; connectors without backfill
|
|
106
|
+
fields can omit data. StartDate and EndDate accept YYYY-MM-DD (or the date part of an
|
|
107
|
+
ISO-8601 timestamp). A missing or future EndDate counts as today, and the resulting range
|
|
108
|
+
may cover at most 31 days.`,
|
|
106
109
|
}),
|
|
107
110
|
__metadata("design:type", Object)
|
|
108
111
|
], RunDataMartRequestApiDto.prototype, "payload", void 0);
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { SearchableEntityType } from '../../../common/search/search.facade';
|
|
2
|
+
export declare class SearchReportDataMartRefResponseApiDto {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class SearchReportDataDestinationRefResponseApiDto {
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
type: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class SearchReportRefResponseApiDto {
|
|
12
|
+
dataMart: SearchReportDataMartRefResponseApiDto;
|
|
13
|
+
dataDestination: SearchReportDataDestinationRefResponseApiDto;
|
|
14
|
+
}
|
|
2
15
|
export declare class SearchResultResponseApiDto {
|
|
3
16
|
entityType: SearchableEntityType;
|
|
4
17
|
entityId: string;
|
|
@@ -7,4 +20,6 @@ export declare class SearchResultResponseApiDto {
|
|
|
7
20
|
finalScore: number;
|
|
8
21
|
kwScore: number;
|
|
9
22
|
vecScore: number | null;
|
|
23
|
+
report?: SearchReportRefResponseApiDto;
|
|
24
|
+
url?: string;
|
|
10
25
|
}
|
|
@@ -9,9 +9,53 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SearchResultResponseApiDto = void 0;
|
|
12
|
+
exports.SearchResultResponseApiDto = exports.SearchReportRefResponseApiDto = exports.SearchReportDataDestinationRefResponseApiDto = exports.SearchReportDataMartRefResponseApiDto = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const search_facade_1 = require("../../../common/search/search.facade");
|
|
15
|
+
class SearchReportDataMartRefResponseApiDto {
|
|
16
|
+
id;
|
|
17
|
+
title;
|
|
18
|
+
}
|
|
19
|
+
exports.SearchReportDataMartRefResponseApiDto = SearchReportDataMartRefResponseApiDto;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, swagger_1.ApiProperty)({ example: '9cabc24e-1234-4a5a-8b12-abcdef123456' }),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], SearchReportDataMartRefResponseApiDto.prototype, "id", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, swagger_1.ApiProperty)({ example: 'Orders' }),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], SearchReportDataMartRefResponseApiDto.prototype, "title", void 0);
|
|
28
|
+
class SearchReportDataDestinationRefResponseApiDto {
|
|
29
|
+
id;
|
|
30
|
+
title;
|
|
31
|
+
type;
|
|
32
|
+
}
|
|
33
|
+
exports.SearchReportDataDestinationRefResponseApiDto = SearchReportDataDestinationRefResponseApiDto;
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, swagger_1.ApiProperty)({ example: '2f1c5d0a-5678-4b1c-9d2e-fedcba654321' }),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], SearchReportDataDestinationRefResponseApiDto.prototype, "id", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, swagger_1.ApiProperty)({ example: 'Finance Sheets' }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], SearchReportDataDestinationRefResponseApiDto.prototype, "title", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, swagger_1.ApiProperty)({ example: 'GOOGLE_SHEETS', description: 'Data destination type' }),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], SearchReportDataDestinationRefResponseApiDto.prototype, "type", void 0);
|
|
46
|
+
class SearchReportRefResponseApiDto {
|
|
47
|
+
dataMart;
|
|
48
|
+
dataDestination;
|
|
49
|
+
}
|
|
50
|
+
exports.SearchReportRefResponseApiDto = SearchReportRefResponseApiDto;
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, swagger_1.ApiProperty)({ type: SearchReportDataMartRefResponseApiDto }),
|
|
53
|
+
__metadata("design:type", SearchReportDataMartRefResponseApiDto)
|
|
54
|
+
], SearchReportRefResponseApiDto.prototype, "dataMart", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, swagger_1.ApiProperty)({ type: SearchReportDataDestinationRefResponseApiDto }),
|
|
57
|
+
__metadata("design:type", SearchReportDataDestinationRefResponseApiDto)
|
|
58
|
+
], SearchReportRefResponseApiDto.prototype, "dataDestination", void 0);
|
|
15
59
|
class SearchResultResponseApiDto {
|
|
16
60
|
entityType;
|
|
17
61
|
entityId;
|
|
@@ -20,6 +64,8 @@ class SearchResultResponseApiDto {
|
|
|
20
64
|
finalScore;
|
|
21
65
|
kwScore;
|
|
22
66
|
vecScore;
|
|
67
|
+
report;
|
|
68
|
+
url;
|
|
23
69
|
}
|
|
24
70
|
exports.SearchResultResponseApiDto = SearchResultResponseApiDto;
|
|
25
71
|
__decorate([
|
|
@@ -59,4 +105,18 @@ __decorate([
|
|
|
59
105
|
}),
|
|
60
106
|
__metadata("design:type", Object)
|
|
61
107
|
], SearchResultResponseApiDto.prototype, "vecScore", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
110
|
+
type: SearchReportRefResponseApiDto,
|
|
111
|
+
description: 'Data mart and destination of a REPORT result; absent for other entity types',
|
|
112
|
+
}),
|
|
113
|
+
__metadata("design:type", SearchReportRefResponseApiDto)
|
|
114
|
+
], SearchResultResponseApiDto.prototype, "report", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
117
|
+
example: 'https://app.owox.com/ui/project-1/data-marts/dm-1/reports?reportId=rep-1',
|
|
118
|
+
description: 'Canonical direct URL of a REPORT result; absent for other entity types',
|
|
119
|
+
}),
|
|
120
|
+
__metadata("design:type", String)
|
|
121
|
+
], SearchResultResponseApiDto.prototype, "url", void 0);
|
|
62
122
|
//# sourceMappingURL=search-result-response-api.dto.js.map
|
|
@@ -47,6 +47,7 @@ let Report = class Report {
|
|
|
47
47
|
owners;
|
|
48
48
|
createdAt;
|
|
49
49
|
modifiedAt;
|
|
50
|
+
deletedAt;
|
|
50
51
|
version;
|
|
51
52
|
generateId() {
|
|
52
53
|
if (this.dataDestination.type === data_destination_type_enum_1.DataDestinationType.LOOKER_STUDIO) {
|
|
@@ -182,6 +183,10 @@ __decorate([
|
|
|
182
183
|
(0, typeorm_1.UpdateDateColumn)(),
|
|
183
184
|
__metadata("design:type", Date)
|
|
184
185
|
], Report.prototype, "modifiedAt", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
(0, typeorm_1.DeleteDateColumn)({ type: 'datetime', nullable: true, update: false }),
|
|
188
|
+
__metadata("design:type", Object)
|
|
189
|
+
], Report.prototype, "deletedAt", void 0);
|
|
185
190
|
__decorate([
|
|
186
191
|
(0, typeorm_1.VersionColumn)(),
|
|
187
192
|
__metadata("design:type", Number)
|
|
@@ -193,6 +198,8 @@ __decorate([
|
|
|
193
198
|
__metadata("design:returntype", void 0)
|
|
194
199
|
], Report.prototype, "generateId", null);
|
|
195
200
|
exports.Report = Report = __decorate([
|
|
196
|
-
(0, typeorm_1.Entity)()
|
|
201
|
+
(0, typeorm_1.Entity)(),
|
|
202
|
+
(0, typeorm_1.Index)('idx_report_search_by_mart', ['dataMart', 'createdAt', 'id']),
|
|
203
|
+
(0, typeorm_1.Index)('idx_report_search_by_destination', ['dataDestination', 'createdAt', 'id'])
|
|
197
204
|
], Report);
|
|
198
205
|
//# sourceMappingURL=report.entity.js.map
|
|
@@ -0,0 +1,62 @@
|
|
|
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.ReportSearchIndex = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let ReportSearchIndex = class ReportSearchIndex {
|
|
15
|
+
entityId;
|
|
16
|
+
projectId;
|
|
17
|
+
embedding;
|
|
18
|
+
embeddingStatus;
|
|
19
|
+
document;
|
|
20
|
+
searchText;
|
|
21
|
+
docHash;
|
|
22
|
+
updatedAt;
|
|
23
|
+
};
|
|
24
|
+
exports.ReportSearchIndex = ReportSearchIndex;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.PrimaryColumn)({ type: 'varchar', length: 36, name: 'entity_id' }),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], ReportSearchIndex.prototype, "entityId", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, name: 'project_id' }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], ReportSearchIndex.prototype, "projectId", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, typeorm_1.Column)({ type: 'blob', nullable: true }),
|
|
35
|
+
__metadata("design:type", Object)
|
|
36
|
+
], ReportSearchIndex.prototype, "embedding", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 16, name: 'embedding_status', default: 'MISSING' }),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], ReportSearchIndex.prototype, "embeddingStatus", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
43
|
+
__metadata("design:type", Object)
|
|
44
|
+
], ReportSearchIndex.prototype, "document", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, typeorm_1.Column)({ type: 'text', name: 'search_text', nullable: true }),
|
|
47
|
+
__metadata("design:type", Object)
|
|
48
|
+
], ReportSearchIndex.prototype, "searchText", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 64, name: 'doc_hash' }),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], ReportSearchIndex.prototype, "docHash", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, typeorm_1.Column)({ type: 'datetime', name: 'updated_at', default: () => 'CURRENT_TIMESTAMP' }),
|
|
55
|
+
__metadata("design:type", Date)
|
|
56
|
+
], ReportSearchIndex.prototype, "updatedAt", void 0);
|
|
57
|
+
exports.ReportSearchIndex = ReportSearchIndex = __decorate([
|
|
58
|
+
(0, typeorm_1.Entity)({ name: 'report_search_index' }),
|
|
59
|
+
(0, typeorm_1.Index)('idx_report_search_index_project', ['projectId']),
|
|
60
|
+
(0, typeorm_1.Index)('idx_report_search_index_project_entity', ['projectId', 'entityId'])
|
|
61
|
+
], ReportSearchIndex);
|
|
62
|
+
//# sourceMappingURL=report-search-index.entity.js.map
|
|
@@ -8,3 +8,5 @@ export declare class SearchDataStorageProjectReindexTrigger extends SearchProjec
|
|
|
8
8
|
}
|
|
9
9
|
export declare class SearchDataDestinationProjectReindexTrigger extends SearchProjectReindexTrigger {
|
|
10
10
|
}
|
|
11
|
+
export declare class SearchReportProjectReindexTrigger extends SearchProjectReindexTrigger {
|
|
12
|
+
}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SearchDataDestinationProjectReindexTrigger = exports.SearchDataStorageProjectReindexTrigger = exports.SearchDataMartProjectReindexTrigger = exports.SearchProjectReindexTrigger = void 0;
|
|
12
|
+
exports.SearchReportProjectReindexTrigger = exports.SearchDataDestinationProjectReindexTrigger = exports.SearchDataStorageProjectReindexTrigger = exports.SearchDataMartProjectReindexTrigger = exports.SearchProjectReindexTrigger = void 0;
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
const trigger_entity_1 = require("../../../common/scheduler/shared/entities/trigger.entity");
|
|
15
15
|
class SearchProjectReindexTrigger extends trigger_entity_1.Trigger {
|
|
@@ -44,4 +44,12 @@ exports.SearchDataDestinationProjectReindexTrigger = SearchDataDestinationProjec
|
|
|
44
44
|
(0, typeorm_1.Index)('idx_search_data_destination_project_reindex_trigger_ready', ['isActive', 'status']),
|
|
45
45
|
(0, typeorm_1.Index)('idx_search_data_destination_project_reindex_trigger_project', ['projectId', 'status'])
|
|
46
46
|
], SearchDataDestinationProjectReindexTrigger);
|
|
47
|
+
let SearchReportProjectReindexTrigger = class SearchReportProjectReindexTrigger extends SearchProjectReindexTrigger {
|
|
48
|
+
};
|
|
49
|
+
exports.SearchReportProjectReindexTrigger = SearchReportProjectReindexTrigger;
|
|
50
|
+
exports.SearchReportProjectReindexTrigger = SearchReportProjectReindexTrigger = __decorate([
|
|
51
|
+
(0, typeorm_1.Entity)('search_report_project_reindex_triggers'),
|
|
52
|
+
(0, typeorm_1.Index)('idx_search_report_project_reindex_trigger_ready', ['isActive', 'status']),
|
|
53
|
+
(0, typeorm_1.Index)('idx_search_report_project_reindex_trigger_project', ['projectId', 'status'])
|
|
54
|
+
], SearchReportProjectReindexTrigger);
|
|
47
55
|
//# sourceMappingURL=search-project-reindex-trigger.entity.js.map
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { Trigger } from '../../../common/scheduler/shared/entities/trigger.entity';
|
|
2
|
-
export type ReindexOperation = 'REINDEX' | 'DELETE';
|
|
2
|
+
export type ReindexOperation = 'REINDEX' | 'DELETE' | 'REINDEX_REPORTS';
|
|
3
3
|
export declare class SearchReindexTrigger extends Trigger {
|
|
4
4
|
projectId: string;
|
|
5
5
|
entityType: string;
|
|
6
6
|
entityId: string;
|
|
7
7
|
operation: ReindexOperation;
|
|
8
|
+
reportProgress: {
|
|
9
|
+
cursor: {
|
|
10
|
+
createdAt: string;
|
|
11
|
+
id: string;
|
|
12
|
+
} | null;
|
|
13
|
+
errors: number;
|
|
14
|
+
} | null;
|
|
15
|
+
onSuccess(now?: Date): void;
|
|
8
16
|
}
|
|
@@ -12,11 +12,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.SearchReindexTrigger = void 0;
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
const trigger_entity_1 = require("../../../common/scheduler/shared/entities/trigger.entity");
|
|
15
|
+
const trigger_status_1 = require("../../../common/scheduler/shared/entities/trigger-status");
|
|
15
16
|
let SearchReindexTrigger = class SearchReindexTrigger extends trigger_entity_1.Trigger {
|
|
16
17
|
projectId;
|
|
17
18
|
entityType;
|
|
18
19
|
entityId;
|
|
19
20
|
operation;
|
|
21
|
+
reportProgress = null;
|
|
22
|
+
onSuccess(now = new Date()) {
|
|
23
|
+
if (this.operation === 'REINDEX_REPORTS' && this.reportProgress?.cursor) {
|
|
24
|
+
this.status = trigger_status_1.TriggerStatus.IDLE;
|
|
25
|
+
this.createdAt = now;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
super.onSuccess(now);
|
|
29
|
+
}
|
|
20
30
|
};
|
|
21
31
|
exports.SearchReindexTrigger = SearchReindexTrigger;
|
|
22
32
|
__decorate([
|
|
@@ -35,6 +45,10 @@ __decorate([
|
|
|
35
45
|
(0, typeorm_1.Column)({ type: 'varchar', length: 16 }),
|
|
36
46
|
__metadata("design:type", String)
|
|
37
47
|
], SearchReindexTrigger.prototype, "operation", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, typeorm_1.Column)({ type: 'simple-json', nullable: true }),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], SearchReindexTrigger.prototype, "reportProgress", void 0);
|
|
38
52
|
exports.SearchReindexTrigger = SearchReindexTrigger = __decorate([
|
|
39
53
|
(0, typeorm_1.Entity)('search_reindex_triggers'),
|
|
40
54
|
(0, typeorm_1.Index)('idx_search_reindex_trigger_ready', ['isActive', 'status']),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function throwDisconnectedReportColumnsError(dataMartId: string, unknownColumns: string[]): never;
|
|
1
|
+
export declare function throwDisconnectedReportColumnsError(dataMartId: string, unknownColumns: string[], hiddenColumnNames?: ReadonlySet<string>): never;
|