@transai/connector-runner-api 0.1.0 → 0.2.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/index.cjs +2 -0
- package/index.cjs.map +7 -0
- package/index.js +2 -0
- package/index.js.map +7 -0
- package/libs/connector-runner-api/src/lib/connector-runner-api.d.ts +8 -0
- package/libs/connector-runner-api/src/lib/extractor.service.d.ts +9 -0
- package/libs/connector-runner-api/src/lib/http-client-authentication.d.ts +8 -0
- package/libs/connector-runner-api/src/lib/result.handler.d.ts +7 -0
- package/libs/connector-runner-api/src/lib/types.d.ts +30 -0
- package/libs/connector-runtime-sdk/src/index.d.ts +3 -0
- package/libs/connector-runtime-sdk/src/lib/connector-runtime.d.ts +16 -0
- package/libs/connector-runtime-sdk/src/lib/connector-runtime.interface.d.ts +5 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/files.sdk.interface.d.ts +18 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/http-client.interface.d.ts +38 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/index.d.ts +10 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/logger.sdk.interface.d.ts +7 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/offset-store.sdk.interface.d.ts +12 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/processing.sdk.interface.d.ts +13 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/receiver.sdk.interface.d.ts +14 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/sdk.interface.d.ts +31 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/sender.sdk.interface.d.ts +22 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/telemetry.sdk.interface.d.ts +15 -0
- package/libs/connector-runtime-sdk/src/lib/sdk/templating.sdk.interface.d.ts +12 -0
- package/libs/types/src/index.d.ts +7 -0
- package/libs/types/src/lib/cube-query-config.types.d.ts +20 -0
- package/libs/types/src/lib/file-action.types.d.ts +5 -0
- package/libs/types/src/lib/http-status-codes.enum.d.ts +64 -0
- package/libs/types/src/lib/management-api/action-definition.interface.d.ts +12 -0
- package/libs/types/src/lib/management-api/chart.interface.d.ts +9 -0
- package/libs/types/src/lib/management-api/connector/connector.interface.d.ts +140 -0
- package/libs/types/src/lib/management-api/connector/connectors.interface.d.ts +126 -0
- package/libs/types/src/lib/management-api/connector-orchestrator-config.interface.d.ts +14 -0
- package/libs/types/src/lib/management-api/cube-dataset.interface.d.ts +93 -0
- package/libs/types/src/lib/management-api/dashboard.interface.d.ts +35 -0
- package/libs/types/src/lib/management-api/dataset/collection.interface.d.ts +16 -0
- package/libs/types/src/lib/management-api/dataset/dataset-record.interface.d.ts +5 -0
- package/libs/types/src/lib/management-api/dataset/dataset.interface.d.ts +730 -0
- package/libs/types/src/lib/management-api/dataset/datasets.interface.d.ts +710 -0
- package/libs/types/src/lib/management-api/dataset/dimension.interface.d.ts +205 -0
- package/libs/types/src/lib/management-api/dataset/dimensions.interface.d.ts +186 -0
- package/libs/types/src/lib/management-api/dataset/filter-group.interface.d.ts +8 -0
- package/libs/types/src/lib/management-api/dataset/filter.interface.d.ts +34 -0
- package/libs/types/src/lib/management-api/dataset/filters.interface.d.ts +7 -0
- package/libs/types/src/lib/management-api/dataset/measure.interface.d.ts +65 -0
- package/libs/types/src/lib/management-api/dataset/measures.interface.d.ts +56 -0
- package/libs/types/src/lib/management-api/dataset/meta.interface.d.ts +9 -0
- package/libs/types/src/lib/management-api/dataset/pre-aggregate.interface.d.ts +69 -0
- package/libs/types/src/lib/management-api/dataset/pre-aggregations.interface.d.ts +54 -0
- package/libs/types/src/lib/management-api/dataset/relation.interface.d.ts +40 -0
- package/libs/types/src/lib/management-api/dataset/relations.interface.d.ts +36 -0
- package/libs/types/src/lib/management-api/dataset/segment.interface.d.ts +45 -0
- package/libs/types/src/lib/management-api/dataset/segments.interface.d.ts +43 -0
- package/libs/types/src/lib/management-api/dataset/switch.interface.d.ts +70 -0
- package/libs/types/src/lib/management-api/dataset/when-item.interface.d.ts +41 -0
- package/libs/types/src/lib/management-api/dataset/when-items.interface.d.ts +40 -0
- package/libs/types/src/lib/management-api/event-origin.interface.d.ts +24 -0
- package/libs/types/src/lib/management-api/index.d.ts +39 -0
- package/libs/types/src/lib/management-api/semantic-trigger/custom-cron-trigger-record.interface.d.ts +6 -0
- package/libs/types/src/lib/management-api/semantic-trigger/index.d.ts +6 -0
- package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger-filter.interface.d.ts +20 -0
- package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger-filters.interface.d.ts +18 -0
- package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger-record.interface.d.ts +6 -0
- package/libs/types/src/lib/management-api/semantic-trigger/semantic-trigger.interface.d.ts +75 -0
- package/libs/types/src/lib/management-api/semantic-trigger/semantic-triggers.interface.d.ts +62 -0
- package/libs/types/src/lib/management-api/template-implementation-overrides.interface.d.ts +1152 -0
- package/libs/types/src/lib/management-api/template-implementation.interface.d.ts +2860 -0
- package/libs/types/src/lib/management-api/template.interface.d.ts +1191 -0
- package/libs/types/src/lib/management-api/tenant.interface.d.ts +8 -0
- package/libs/types/src/lib/management-api/type-enums.d.ts +85 -0
- package/libs/types/src/lib/management-api/web/generic-filter.dto.d.ts +37 -0
- package/libs/types/src/lib/management-api/web/index.d.ts +2 -0
- package/libs/types/src/lib/management-api/web/paginated-response.interface.d.ts +17 -0
- package/libs/types/src/lib/management-api/workflow/action.interface.d.ts +85 -0
- package/libs/types/src/lib/management-api/workflow/index.d.ts +6 -0
- package/libs/types/src/lib/management-api/workflow/offset.interface.d.ts +14 -0
- package/libs/types/src/lib/management-api/workflow/trigger-types.interface.d.ts +14 -0
- package/libs/types/src/lib/management-api/workflow/workflow-definition.interface.d.ts +57 -0
- package/libs/types/src/lib/management-api/workflow/workflow-run.d.ts +70 -0
- package/libs/types/src/lib/management-api/workflow/workflow.drawing.d.ts +102 -0
- package/libs/types/src/lib/message.types.d.ts +59 -0
- package/libs/types/src/lib/response.types.d.ts +27 -0
- package/libs/types/src/lib/types.d.ts +116 -0
- package/package.json +1 -1
- package/.eslintrc.json +0 -18
- package/jest.config.ts +0 -10
- package/project.json +0 -29
- package/src/lib/connector-runner-api.ts +0 -53
- package/src/lib/extractor.service.spec.ts +0 -90
- package/src/lib/extractor.service.ts +0 -97
- package/src/lib/http-client-authentication.ts +0 -108
- package/src/lib/result.handler.spec.ts +0 -135
- package/src/lib/result.handler.ts +0 -100
- package/src/lib/types.ts +0 -38
- package/tsconfig.json +0 -22
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/{src/index.ts → libs/connector-runner-api/src/index.d.ts} +0 -0
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { ConnectorSDKInterface } from '@transai/connector-runtime-sdk';
|
|
2
|
-
import { decode } from 'html-entities';
|
|
3
|
-
|
|
4
|
-
import { ApiConfig, ConnectorConfig } from './types';
|
|
5
|
-
|
|
6
|
-
export class ResultHandler {
|
|
7
|
-
readonly #sdk: ConnectorSDKInterface<ConnectorConfig>;
|
|
8
|
-
|
|
9
|
-
constructor(sdk: ConnectorSDKInterface<ConnectorConfig>) {
|
|
10
|
-
this.#sdk = sdk;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
async handleResult(result: string, apiConfig: ApiConfig): Promise<void> {
|
|
14
|
-
const parsedContent = JSON.parse(decode(result));
|
|
15
|
-
const keys = Object.keys(parsedContent);
|
|
16
|
-
if (keys.length === 0) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (apiConfig.listField) {
|
|
21
|
-
await this.#sendBatch(parsedContent, apiConfig);
|
|
22
|
-
} else {
|
|
23
|
-
await this.#sendSingleRecord(parsedContent, apiConfig);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
async #sendBatch(
|
|
28
|
-
parsedContent: Record<string, Array<{ [key: string]: string }>>,
|
|
29
|
-
apiConfig: ApiConfig,
|
|
30
|
-
): Promise<void> {
|
|
31
|
-
const list = parsedContent[apiConfig.listField ?? ''];
|
|
32
|
-
if (!(list && Array.isArray(list))) {
|
|
33
|
-
this.#sdk.logger.debug(
|
|
34
|
-
`[API] [${apiConfig.name}] No records found, skipping. ${JSON.stringify(list)}`,
|
|
35
|
-
);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
await this.#sendData(list, apiConfig);
|
|
40
|
-
|
|
41
|
-
const item = list[list.length - 1];
|
|
42
|
-
this.#sdk.offsetStore.setOffset(
|
|
43
|
-
{
|
|
44
|
-
timestamp: (apiConfig.incrementalField
|
|
45
|
-
? new Date(item[apiConfig.incrementalField] as string)
|
|
46
|
-
: new Date()
|
|
47
|
-
).getTime(),
|
|
48
|
-
id: 0,
|
|
49
|
-
rawTimestamp: 0,
|
|
50
|
-
},
|
|
51
|
-
`${apiConfig.offsetFilePrefix ?? 'offset'}_${apiConfig.name}`,
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async #sendSingleRecord(
|
|
56
|
-
parsedContent: object,
|
|
57
|
-
apiConfig: ApiConfig,
|
|
58
|
-
): Promise<void> {
|
|
59
|
-
const success = await this.#sendData([parsedContent], apiConfig);
|
|
60
|
-
if (!success) {
|
|
61
|
-
this.#sdk.logger.debug(
|
|
62
|
-
`[API] [${apiConfig.name}] Error while sending record to Kafka: `,
|
|
63
|
-
parsedContent,
|
|
64
|
-
);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
this.#sdk.offsetStore.setOffset(
|
|
69
|
-
{
|
|
70
|
-
timestamp: Date.now(),
|
|
71
|
-
id: 0,
|
|
72
|
-
rawTimestamp: 0,
|
|
73
|
-
},
|
|
74
|
-
`${apiConfig.offsetFilePrefix ?? 'offset'}_${apiConfig.name}`,
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
async #sendData(list: Array<object>, apiConfig: ApiConfig): Promise<boolean> {
|
|
79
|
-
const collection = `${this.#sdk.config.datasourceIdentifier ?? 'api'}_${apiConfig.name}`;
|
|
80
|
-
const metadata = {
|
|
81
|
-
...(apiConfig.metadata ?? {}),
|
|
82
|
-
...(apiConfig.incrementalField
|
|
83
|
-
? { incrementalField: apiConfig.incrementalField }
|
|
84
|
-
: {}),
|
|
85
|
-
...(apiConfig.keyField ? { keyField: apiConfig.keyField } : {}),
|
|
86
|
-
collection,
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
if (apiConfig.type === 'metric') {
|
|
90
|
-
return (
|
|
91
|
-
(await this.#sdk.sender.metricsLegacy(
|
|
92
|
-
list as Array<never>,
|
|
93
|
-
metadata,
|
|
94
|
-
)) === true
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return (await this.#sdk.sender.documents(list, metadata)) === true;
|
|
99
|
-
}
|
|
100
|
-
}
|
package/src/lib/types.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { HttpMethod } from '@transai/connector-runtime-sdk';
|
|
2
|
-
import { BaseConnectorConfig } from '@xip-online-data/types';
|
|
3
|
-
|
|
4
|
-
export interface HttpClientConfig {
|
|
5
|
-
method?: HttpMethod;
|
|
6
|
-
url?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface HttpClientAuthConfig {
|
|
10
|
-
tokenUrl?: string;
|
|
11
|
-
clientId?: string;
|
|
12
|
-
clientSecret?: string;
|
|
13
|
-
authorization?: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface ApiConfig extends HttpClientConfig, HttpClientAuthConfig {
|
|
17
|
-
name: string;
|
|
18
|
-
interval: number;
|
|
19
|
-
|
|
20
|
-
body?: string;
|
|
21
|
-
batchSize?: number;
|
|
22
|
-
offsetFilePrefix?: string;
|
|
23
|
-
format?: string;
|
|
24
|
-
listField?: string;
|
|
25
|
-
keyField?: string;
|
|
26
|
-
incrementalField?: string;
|
|
27
|
-
type?: 'metric' | 'document';
|
|
28
|
-
metadata?: {
|
|
29
|
-
[key: string]: string;
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface ConnectorConfig
|
|
34
|
-
extends BaseConnectorConfig,
|
|
35
|
-
HttpClientConfig,
|
|
36
|
-
HttpClientAuthConfig {
|
|
37
|
-
apiCalls?: Array<ApiConfig>;
|
|
38
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.base.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"module": "commonjs",
|
|
5
|
-
"forceConsistentCasingInFileNames": true,
|
|
6
|
-
"strict": true,
|
|
7
|
-
"noImplicitOverride": true,
|
|
8
|
-
"noImplicitReturns": true,
|
|
9
|
-
"noFallthroughCasesInSwitch": true,
|
|
10
|
-
"noPropertyAccessFromIndexSignature": true
|
|
11
|
-
},
|
|
12
|
-
"files": [],
|
|
13
|
-
"include": [],
|
|
14
|
-
"references": [
|
|
15
|
-
{
|
|
16
|
-
"path": "./tsconfig.lib.json"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"path": "./tsconfig.spec.json"
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
}
|
package/tsconfig.lib.json
DELETED
package/tsconfig.spec.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "./tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "../../dist/out-tsc",
|
|
5
|
-
"module": "commonjs",
|
|
6
|
-
"types": ["jest", "node"]
|
|
7
|
-
},
|
|
8
|
-
"include": [
|
|
9
|
-
"jest.config.ts",
|
|
10
|
-
"src/**/*.test.ts",
|
|
11
|
-
"src/**/*.spec.ts",
|
|
12
|
-
"src/**/*.d.ts"
|
|
13
|
-
]
|
|
14
|
-
}
|
|
File without changes
|