@tasenor/common-node 1.9.125 → 1.9.127
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/plugins/DataPlugin.d.ts +26 -5
- package/dist/src/plugins/DataPlugin.js +32 -6
- package/dist/src/plugins/DataPlugin.js.map +1 -1
- package/dist/src/plugins/ReportPlugin.d.ts +2 -2
- package/dist/src/plugins/ReportPlugin.js +5 -5
- package/dist/src/plugins/ReportPlugin.js.map +1 -1
- package/dist/src/plugins/ServicePlugin.d.ts +2 -2
- package/dist/src/plugins/ServicePlugin.js +2 -2
- package/package.json +3 -3
- package/src/plugins/DataPlugin.ts +47 -7
- package/src/plugins/ReportPlugin.ts +5 -4
- package/src/plugins/ServicePlugin.ts +2 -2
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
import { BackendPlugin } from './BackendPlugin';
|
|
2
|
+
import { ALL } from '@tasenor/common';
|
|
3
|
+
/**
|
|
4
|
+
* Plugin data source names and query parameters.
|
|
5
|
+
*/
|
|
6
|
+
export interface DataPluginSources {
|
|
7
|
+
common: string[];
|
|
8
|
+
backend: string[];
|
|
9
|
+
}
|
|
2
10
|
/**
|
|
3
11
|
* A plugin providing mainly some kind of possibly frequently updated data source services.
|
|
4
|
-
* Data will be publicly available from API.
|
|
12
|
+
* Data will be publicly available from API `/knowledge` end-point.
|
|
5
13
|
*/
|
|
6
14
|
export declare class DataPlugin extends BackendPlugin {
|
|
7
|
-
protected sources:
|
|
8
|
-
|
|
15
|
+
protected sources: DataPluginSources;
|
|
16
|
+
protected jsonCache: Record<string, Record<string, unknown>>;
|
|
17
|
+
constructor(sources: DataPluginSources);
|
|
18
|
+
/**
|
|
19
|
+
* Provide the public knowledge this plugin is providing and which is given in default API.
|
|
20
|
+
*/
|
|
21
|
+
getCommonKnowledge(): Promise<Record<string, unknown>>;
|
|
22
|
+
/**
|
|
23
|
+
* Load and cache named JSON file for this plugin.
|
|
24
|
+
*/
|
|
25
|
+
loadCached<T>(name: string): Record<string, T>;
|
|
26
|
+
/**
|
|
27
|
+
* Fill in aliases.
|
|
28
|
+
*/
|
|
29
|
+
afterLoad<T>(fileName: string, data: Record<string, T>): Record<string, T>;
|
|
9
30
|
/**
|
|
10
|
-
*
|
|
31
|
+
* Data service used internally in the backend. If return value is `undefined`, query was not understood.
|
|
11
32
|
*/
|
|
12
|
-
|
|
33
|
+
queryBackend<T>(dataSet: string, query: typeof ALL | string): Promise<undefined | T>;
|
|
13
34
|
}
|
|
@@ -2,25 +2,51 @@ import fs from 'fs';
|
|
|
2
2
|
import { BackendPlugin } from './BackendPlugin';
|
|
3
3
|
/**
|
|
4
4
|
* A plugin providing mainly some kind of possibly frequently updated data source services.
|
|
5
|
-
* Data will be publicly available from API.
|
|
5
|
+
* Data will be publicly available from API `/knowledge` end-point.
|
|
6
6
|
*/
|
|
7
7
|
export class DataPlugin extends BackendPlugin {
|
|
8
8
|
sources;
|
|
9
|
-
|
|
9
|
+
jsonCache;
|
|
10
|
+
constructor(sources) {
|
|
10
11
|
super();
|
|
11
12
|
this.sources = sources;
|
|
13
|
+
this.jsonCache = {};
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
|
-
* Provide the public knowledge this plugin is providing.
|
|
16
|
+
* Provide the public knowledge this plugin is providing and which is given in default API.
|
|
15
17
|
*/
|
|
16
|
-
async
|
|
18
|
+
async getCommonKnowledge() {
|
|
17
19
|
const result = {};
|
|
18
|
-
for (const source of this.sources) {
|
|
20
|
+
for (const source of this.sources.common) {
|
|
19
21
|
const filePath = this.filePath(`${source}.json`);
|
|
20
|
-
const data = JSON.parse(fs.readFileSync(filePath).toString('utf-8'));
|
|
22
|
+
const data = this.afterLoad(`${source}.json`, JSON.parse(fs.readFileSync(filePath).toString('utf-8')));
|
|
21
23
|
Object.assign(result, { [source]: data });
|
|
22
24
|
}
|
|
23
25
|
return result;
|
|
24
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Load and cache named JSON file for this plugin.
|
|
29
|
+
*/
|
|
30
|
+
loadCached(name) {
|
|
31
|
+
if (this.jsonCache[name]) {
|
|
32
|
+
return this.jsonCache[name];
|
|
33
|
+
}
|
|
34
|
+
const filePath = this.filePath(name);
|
|
35
|
+
this.jsonCache[name] = JSON.parse(fs.readFileSync(filePath).toString('utf-8'));
|
|
36
|
+
return this.afterLoad(name, this.jsonCache[name]);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fill in aliases.
|
|
40
|
+
*/
|
|
41
|
+
afterLoad(fileName, data) {
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Data service used internally in the backend. If return value is `undefined`, query was not understood.
|
|
46
|
+
*/
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
48
|
+
async queryBackend(dataSet, query) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
25
51
|
}
|
|
26
52
|
//# sourceMappingURL=DataPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataPlugin.js","sourceRoot":"","sources":["../../../src/plugins/DataPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"DataPlugin.js","sourceRoot":"","sources":["../../../src/plugins/DataPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAa/C;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,aAAa;IAEjC,OAAO,CAAmB;IAC1B,SAAS,CAAyC;IAE5D,YAAY,OAA0B;QACpC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACtG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;SAC1C;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,UAAU,CAAI,IAAY;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAsB,CAAA;SACjD;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAsB,CAAC,CAAA;IACxE,CAAC;IAED;;OAEG;IACH,SAAS,CAAI,QAAgB,EAAE,IAAuB;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,6DAA6D;IAC7D,KAAK,CAAC,YAAY,CAAI,OAAe,EAAE,KAA0B;QAC/D,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
|
|
@@ -110,7 +110,7 @@ export declare class ReportPlugin extends BackendPlugin {
|
|
|
110
110
|
* @param options
|
|
111
111
|
* @param columns
|
|
112
112
|
*/
|
|
113
|
-
preProcess(id: ReportID, entries: ReportData[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): ReportLine[]
|
|
113
|
+
preProcess(id: ReportID, entries: ReportData[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): Promise<ReportLine[]>;
|
|
114
114
|
/**
|
|
115
115
|
* Do post processing for report data before sending it.
|
|
116
116
|
* @param id Report type.
|
|
@@ -120,7 +120,7 @@ export declare class ReportPlugin extends BackendPlugin {
|
|
|
120
120
|
* @param columns Column definitions.
|
|
121
121
|
* @returns
|
|
122
122
|
*/
|
|
123
|
-
postProcess(id: ReportID, data: ReportLine[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): ReportLine[]
|
|
123
|
+
postProcess(id: ReportID, data: ReportLine[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): Promise<ReportLine[]>;
|
|
124
124
|
/**
|
|
125
125
|
* A helper to combine final report from pre-processed material for reports using TSV text description file.
|
|
126
126
|
* @param accountNumbers A set of all account numbers found.
|
|
@@ -176,7 +176,7 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
176
176
|
options.periods = recentPeriods; // Save periods for further reference.
|
|
177
177
|
}
|
|
178
178
|
// Build a query basics.
|
|
179
|
-
let sqlQuery = db.select('document.period_id AS periodId', 'document.number AS documentId', 'document.date', 'account.name', 'account.type', 'account.number', db.raw(`CAST(ROUND(${negateSql} * entry.amount * 100) AS BIGINT) AS amount`), 'entry.description', 'entry.data')
|
|
179
|
+
let sqlQuery = db.select('document.period_id AS periodId', 'document.number AS documentId', 'document.date', 'account.name', 'account.type', 'account.number', db.raw(`CAST(ROUND(${negateSql} * entry.amount * 100) AS BIGINT) AS amount`), 'account.data as accountData', 'entry.description', 'entry.data')
|
|
180
180
|
.from('entry')
|
|
181
181
|
.leftJoin('account', 'account.id', 'entry.account_id')
|
|
182
182
|
.leftJoin('document', 'document.id', 'entry.document_id')
|
|
@@ -249,8 +249,8 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
249
249
|
entries = this.doFiltering(id, entries, options, settings);
|
|
250
250
|
// We have now relevant entries collected. Use plugin features next.
|
|
251
251
|
const columns = await this.getColumns(id, entries, options, settings);
|
|
252
|
-
let data = this.preProcess(id, entries, options, settings, columns);
|
|
253
|
-
data = this.postProcess(id, data, options, settings, columns);
|
|
252
|
+
let data = await this.preProcess(id, entries, options, settings, columns);
|
|
253
|
+
data = await this.postProcess(id, data, options, settings, columns);
|
|
254
254
|
const report = {
|
|
255
255
|
format: id,
|
|
256
256
|
columns,
|
|
@@ -293,7 +293,7 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
293
293
|
* @param options
|
|
294
294
|
* @param columns
|
|
295
295
|
*/
|
|
296
|
-
preProcess(id, entries, options, settings, columns) {
|
|
296
|
+
async preProcess(id, entries, options, settings, columns) {
|
|
297
297
|
throw new Error(`Report plugin ${this.constructor.name} does not implement preProcess().`);
|
|
298
298
|
}
|
|
299
299
|
/**
|
|
@@ -305,7 +305,7 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
305
305
|
* @param columns Column definitions.
|
|
306
306
|
* @returns
|
|
307
307
|
*/
|
|
308
|
-
postProcess(id, data, options, settings, columns) {
|
|
308
|
+
async postProcess(id, data, options, settings, columns) {
|
|
309
309
|
return data;
|
|
310
310
|
}
|
|
311
311
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ReportPlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReportPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ReportPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export type ServicePluginRequestOptions = {
|
|
|
5
5
|
rateLimitDelay?: number;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
* An API end point provider.
|
|
8
|
+
* An API end point information provider.
|
|
9
9
|
*/
|
|
10
10
|
export declare class ServicePlugin extends BackendPlugin {
|
|
11
11
|
private services;
|
|
@@ -61,7 +61,7 @@ export declare class ServicePlugin extends BackendPlugin {
|
|
|
61
61
|
*/
|
|
62
62
|
cacheHeadersKey(service: any, header: any): {};
|
|
63
63
|
/**
|
|
64
|
-
* Pick meaningful keys unique from the query parameters for using as a key, whe storing result to
|
|
64
|
+
* Pick meaningful keys unique from the query parameters for using as a key, whe storing result to the cache.
|
|
65
65
|
* @param service
|
|
66
66
|
* @param params
|
|
67
67
|
* By default, all parameters are used as cache key.
|
|
@@ -3,7 +3,7 @@ import axios from 'axios';
|
|
|
3
3
|
import { log, note, error, waitPromise } from '@tasenor/common';
|
|
4
4
|
import { BackendPlugin } from './BackendPlugin';
|
|
5
5
|
/**
|
|
6
|
-
* An API end point provider.
|
|
6
|
+
* An API end point information provider.
|
|
7
7
|
*/
|
|
8
8
|
export class ServicePlugin extends BackendPlugin {
|
|
9
9
|
services;
|
|
@@ -124,7 +124,7 @@ export class ServicePlugin extends BackendPlugin {
|
|
|
124
124
|
return {};
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
|
-
* Pick meaningful keys unique from the query parameters for using as a key, whe storing result to
|
|
127
|
+
* Pick meaningful keys unique from the query parameters for using as a key, whe storing result to the cache.
|
|
128
128
|
* @param service
|
|
129
129
|
* @param params
|
|
130
130
|
* By default, all parameters are used as cache key.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-node",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.127",
|
|
4
4
|
"description": "Common Node-parts of Tasenor project",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"sqlite3": "^5.1.6",
|
|
37
37
|
"tar": "^6.1.15",
|
|
38
38
|
"ts-opaque": "^3.0.1",
|
|
39
|
-
"@tasenor/common": "1.9.
|
|
39
|
+
"@tasenor/common": "1.9.127"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@jest/globals": "^29.6.1",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"ts-jest": "^29.1.1",
|
|
47
47
|
"typescript": "^5.1.6",
|
|
48
48
|
"eslint-config-tasenor": "0.0.0",
|
|
49
|
-
"@tasenor/config": "1.9.
|
|
49
|
+
"@tasenor/config": "1.9.127"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"ci": "pnpm run lint && pnpm run test",
|
|
@@ -1,29 +1,69 @@
|
|
|
1
1
|
import fs from 'fs'
|
|
2
2
|
import { BackendPlugin } from './BackendPlugin'
|
|
3
|
+
import { ALL } from '@tasenor/common'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Plugin data source names and query parameters.
|
|
7
|
+
*/
|
|
8
|
+
export interface DataPluginSources {
|
|
9
|
+
// List of fixed JSON files (without .json) that are directly added to public common knowledge via API.
|
|
10
|
+
common: string[]
|
|
11
|
+
// List of data sets provided for backend internal use only.
|
|
12
|
+
backend: string[]
|
|
13
|
+
}
|
|
3
14
|
|
|
4
15
|
/**
|
|
5
16
|
* A plugin providing mainly some kind of possibly frequently updated data source services.
|
|
6
|
-
* Data will be publicly available from API.
|
|
17
|
+
* Data will be publicly available from API `/knowledge` end-point.
|
|
7
18
|
*/
|
|
8
19
|
export class DataPlugin extends BackendPlugin {
|
|
9
20
|
|
|
10
|
-
protected sources:
|
|
21
|
+
protected sources: DataPluginSources
|
|
22
|
+
protected jsonCache: Record<string, Record<string, unknown>>
|
|
11
23
|
|
|
12
|
-
constructor(
|
|
24
|
+
constructor(sources: DataPluginSources) {
|
|
13
25
|
super()
|
|
14
26
|
this.sources = sources
|
|
27
|
+
this.jsonCache = {}
|
|
15
28
|
}
|
|
16
29
|
|
|
17
30
|
/**
|
|
18
|
-
* Provide the public knowledge this plugin is providing.
|
|
31
|
+
* Provide the public knowledge this plugin is providing and which is given in default API.
|
|
19
32
|
*/
|
|
20
|
-
async
|
|
33
|
+
async getCommonKnowledge(): Promise<Record<string, unknown>> {
|
|
21
34
|
const result = {}
|
|
22
|
-
for (const source of this.sources) {
|
|
35
|
+
for (const source of this.sources.common) {
|
|
23
36
|
const filePath = this.filePath(`${source}.json`)
|
|
24
|
-
const data = JSON.parse(fs.readFileSync(filePath).toString('utf-8'))
|
|
37
|
+
const data = this.afterLoad(`${source}.json`, JSON.parse(fs.readFileSync(filePath).toString('utf-8')))
|
|
25
38
|
Object.assign(result, { [source]: data })
|
|
26
39
|
}
|
|
27
40
|
return result
|
|
28
41
|
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Load and cache named JSON file for this plugin.
|
|
45
|
+
*/
|
|
46
|
+
loadCached<T>(name: string): Record<string, T> {
|
|
47
|
+
if (this.jsonCache[name]) {
|
|
48
|
+
return this.jsonCache[name] as Record<string, T>
|
|
49
|
+
}
|
|
50
|
+
const filePath = this.filePath(name)
|
|
51
|
+
this.jsonCache[name] = JSON.parse(fs.readFileSync(filePath).toString('utf-8'))
|
|
52
|
+
return this.afterLoad(name, this.jsonCache[name] as Record<string, T>)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Fill in aliases.
|
|
57
|
+
*/
|
|
58
|
+
afterLoad<T>(fileName: string, data: Record<string, T>): Record<string, T> {
|
|
59
|
+
return data
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Data service used internally in the backend. If return value is `undefined`, query was not understood.
|
|
64
|
+
*/
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
|
+
async queryBackend<T>(dataSet: string, query: typeof ALL | string): Promise<undefined | T> {
|
|
67
|
+
return undefined
|
|
68
|
+
}
|
|
29
69
|
}
|
|
@@ -203,6 +203,7 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
203
203
|
'account.type',
|
|
204
204
|
'account.number',
|
|
205
205
|
db.raw(`CAST(ROUND(${negateSql} * entry.amount * 100) AS BIGINT) AS amount`),
|
|
206
|
+
'account.data as accountData',
|
|
206
207
|
'entry.description',
|
|
207
208
|
'entry.data'
|
|
208
209
|
)
|
|
@@ -290,8 +291,8 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
290
291
|
|
|
291
292
|
// We have now relevant entries collected. Use plugin features next.
|
|
292
293
|
const columns: ReportColumnDefinition[] = await this.getColumns(id, entries, options as ReportOptions, settings)
|
|
293
|
-
let data = this.preProcess(id, entries, options, settings, columns) as ReportLine[]
|
|
294
|
-
data = this.postProcess(id, data, options, settings, columns)
|
|
294
|
+
let data = await this.preProcess(id, entries, options, settings, columns) as ReportLine[]
|
|
295
|
+
data = await this.postProcess(id, data, options, settings, columns)
|
|
295
296
|
const report = {
|
|
296
297
|
format: id,
|
|
297
298
|
columns,
|
|
@@ -338,7 +339,7 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
338
339
|
* @param options
|
|
339
340
|
* @param columns
|
|
340
341
|
*/
|
|
341
|
-
preProcess(id: ReportID, entries: ReportData[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): ReportLine[] {
|
|
342
|
+
async preProcess(id: ReportID, entries: ReportData[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): Promise<ReportLine[]> {
|
|
342
343
|
throw new Error(`Report plugin ${this.constructor.name} does not implement preProcess().`)
|
|
343
344
|
}
|
|
344
345
|
|
|
@@ -351,7 +352,7 @@ export class ReportPlugin extends BackendPlugin {
|
|
|
351
352
|
* @param columns Column definitions.
|
|
352
353
|
* @returns
|
|
353
354
|
*/
|
|
354
|
-
postProcess(id: ReportID, data: ReportLine[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): ReportLine[] {
|
|
355
|
+
async postProcess(id: ReportID, data: ReportLine[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): Promise<ReportLine[]> {
|
|
355
356
|
return data
|
|
356
357
|
}
|
|
357
358
|
|
|
@@ -9,7 +9,7 @@ export type ServicePluginRequestOptions = {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* An API end point provider.
|
|
12
|
+
* An API end point information provider.
|
|
13
13
|
*/
|
|
14
14
|
export class ServicePlugin extends BackendPlugin {
|
|
15
15
|
|
|
@@ -140,7 +140,7 @@ export class ServicePlugin extends BackendPlugin {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
|
-
* Pick meaningful keys unique from the query parameters for using as a key, whe storing result to
|
|
143
|
+
* Pick meaningful keys unique from the query parameters for using as a key, whe storing result to the cache.
|
|
144
144
|
* @param service
|
|
145
145
|
* @param params
|
|
146
146
|
* By default, all parameters are used as cache key.
|