@tasenor/common-node 1.10.14 → 1.10.16
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/database/BookkeeperImporter.d.ts +2 -2
- package/dist/src/database/BookkeeperImporter.js +40 -7
- package/dist/src/database/BookkeeperImporter.js.map +1 -1
- package/dist/src/export/Exporter.d.ts +5 -5
- package/dist/src/export/Exporter.js +24 -8
- package/dist/src/export/Exporter.js.map +1 -1
- package/dist/src/export/TasenorExporter.d.ts +4 -3
- package/dist/src/export/TasenorExporter.js +39 -3
- package/dist/src/export/TasenorExporter.js.map +1 -1
- package/dist/src/system.d.ts +4 -0
- package/dist/src/system.js +9 -0
- package/dist/src/system.js.map +1 -1
- package/package.json +3 -3
- package/src/database/BookkeeperImporter.ts +50 -10
- package/src/export/Exporter.ts +28 -11
- package/src/export/TasenorExporter.ts +48 -6
- package/src/system.ts +10 -0
|
@@ -17,7 +17,7 @@ export declare class BookkeeperImporter {
|
|
|
17
17
|
* @param file Path to the JSON-file.
|
|
18
18
|
* @returns Saved value.
|
|
19
19
|
*/
|
|
20
|
-
readJson(file: TsvFilePath): Promise<
|
|
20
|
+
readJson<T = Value>(file: TsvFilePath): Promise<T>;
|
|
21
21
|
/**
|
|
22
22
|
* Read the version number from the file.
|
|
23
23
|
* @param file Path to the version file.
|
|
@@ -65,7 +65,7 @@ export declare class BookkeeperImporter {
|
|
|
65
65
|
* @param db Database connection.
|
|
66
66
|
* @param file Path to the importers file.
|
|
67
67
|
*/
|
|
68
|
-
setImporters(db: KnexDatabase,
|
|
68
|
+
setImporters(db: KnexDatabase, configPath: JsonFilePath, importPaths: JsonFilePath[]): Promise<void>;
|
|
69
69
|
/**
|
|
70
70
|
* Remove all data from all tables.
|
|
71
71
|
* @param db Database connection.
|
|
@@ -4,6 +4,7 @@ import fs from 'fs';
|
|
|
4
4
|
import { system } from '..';
|
|
5
5
|
import { log, error } from '@tasenor/common';
|
|
6
6
|
import { DB } from './DB';
|
|
7
|
+
// TODO: Hmm, the create() is more confusing that simpy using `as Type`?
|
|
7
8
|
import { create } from 'ts-opaque';
|
|
8
9
|
/**
|
|
9
10
|
* Implementation of the database backup file reading.
|
|
@@ -302,10 +303,38 @@ export class BookkeeperImporter {
|
|
|
302
303
|
* @param db Database connection.
|
|
303
304
|
* @param file Path to the importers file.
|
|
304
305
|
*/
|
|
305
|
-
async setImporters(db,
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
async setImporters(db, configPath, importPaths) {
|
|
307
|
+
const config = await this.readJson(configPath);
|
|
308
|
+
const name = path.basename(path.dirname(configPath));
|
|
309
|
+
const importer = await db('importers').insert({ name, config }).returning('id');
|
|
310
|
+
const importerId = importer[0].id;
|
|
311
|
+
for (const importPath of importPaths) {
|
|
312
|
+
const process = await this.readJson(importPath);
|
|
313
|
+
const files = process.files || [];
|
|
314
|
+
const steps = process.steps || [];
|
|
315
|
+
const segmentData = process.segments || {};
|
|
316
|
+
delete process.files;
|
|
317
|
+
delete process.steps;
|
|
318
|
+
delete process.segments;
|
|
319
|
+
process.ownerId = importerId;
|
|
320
|
+
const inserted = await db('processes').insert(process).returning('id');
|
|
321
|
+
const processId = inserted[0].id;
|
|
322
|
+
for (const file of files) {
|
|
323
|
+
await db('process_files').insert({ processId, ...file });
|
|
324
|
+
}
|
|
325
|
+
for (const step of steps) {
|
|
326
|
+
await db('process_steps').insert({ processId, ...step });
|
|
327
|
+
}
|
|
328
|
+
if (segmentData) {
|
|
329
|
+
for (const segmentId of Object.keys(segmentData)) {
|
|
330
|
+
await db('segment_document').insert({
|
|
331
|
+
segment_id: segmentId,
|
|
332
|
+
process_id: processId,
|
|
333
|
+
importer_id: importerId,
|
|
334
|
+
document_id: this.documentIdMap[segmentData[segmentId]]
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
309
338
|
}
|
|
310
339
|
}
|
|
311
340
|
/**
|
|
@@ -346,7 +375,7 @@ export class BookkeeperImporter {
|
|
|
346
375
|
}
|
|
347
376
|
await this.clearEverything(userDb);
|
|
348
377
|
await this.setConfig(userDb, conf);
|
|
349
|
-
const files = glob.sync(path.join(out, 'accounts', '
|
|
378
|
+
const files = glob.sync(path.join(out, 'accounts', '*.tsv'));
|
|
350
379
|
await this.setAccounts(userDb, files);
|
|
351
380
|
const periodsPath = path.join(out, 'periods.tsv');
|
|
352
381
|
await this.setPeriods(userDb, create(periodsPath));
|
|
@@ -355,8 +384,12 @@ export class BookkeeperImporter {
|
|
|
355
384
|
const tagsPath = path.join(out, 'tags.tsv');
|
|
356
385
|
await this.setTags(userDb, create(tagsPath));
|
|
357
386
|
if ((this.VERSION || 0) >= 3) {
|
|
358
|
-
const
|
|
359
|
-
|
|
387
|
+
const configPaths = glob.sync(path.join(out, 'importers', '*', 'config.json'));
|
|
388
|
+
for (const configPath of configPaths) {
|
|
389
|
+
const importerName = path.basename(path.dirname(configPath));
|
|
390
|
+
const imporPaths = glob.sync(path.join(out, 'importers', importerName, '[0-9][0-9][0-9][0-9]-*.json'));
|
|
391
|
+
await this.setImporters(userDb, create(configPath), imporPaths);
|
|
392
|
+
}
|
|
360
393
|
}
|
|
361
394
|
}
|
|
362
395
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookkeeperImporter.js","sourceRoot":"","sources":["../../../src/database/BookkeeperImporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BookkeeperImporter.js","sourceRoot":"","sources":["../../../src/database/BookkeeperImporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { KnexDatabase } from '..';
|
|
2
|
-
import { ParsedTsvFileData, BookkeeperConfig, DirectoryPath, TsvFilePath, JsonFilePath, Json,
|
|
2
|
+
import { ParsedTsvFileData, BookkeeperConfig, DirectoryPath, TsvFilePath, JsonFilePath, Json, TarFilePath, ProcessModelDetailedData, ImporterModelData } from '@tasenor/common';
|
|
3
3
|
/**
|
|
4
4
|
* Common functionality for exporters.
|
|
5
5
|
*/
|
|
@@ -43,24 +43,24 @@ export declare class Exporter {
|
|
|
43
43
|
* Collect a structure with all importers and their configs.
|
|
44
44
|
* @param db Knex connection to use.
|
|
45
45
|
*/
|
|
46
|
-
getImporters(db: KnexDatabase): Promise<
|
|
46
|
+
getImporters(db: KnexDatabase): Promise<ImporterModelData[]>;
|
|
47
47
|
/**
|
|
48
48
|
* Collect a structure with all imports.
|
|
49
49
|
* @param db Knex connection to use.
|
|
50
50
|
*/
|
|
51
|
-
getImports(db: KnexDatabase): Promise<
|
|
51
|
+
getImports(db: KnexDatabase): Promise<ProcessModelDetailedData[]>;
|
|
52
52
|
/**
|
|
53
53
|
* Write prepared data to TSV file.
|
|
54
54
|
* @param path Output file path.
|
|
55
55
|
* @param lines Data content.
|
|
56
56
|
*/
|
|
57
|
-
writeTsv(
|
|
57
|
+
writeTsv(tsvPath: TsvFilePath, lines: ParsedTsvFileData): void;
|
|
58
58
|
/**
|
|
59
59
|
* Write prepared data to JSON file.
|
|
60
60
|
* @param path Output file path.
|
|
61
61
|
* @param lines Data content.
|
|
62
62
|
*/
|
|
63
|
-
writeJson(
|
|
63
|
+
writeJson(jsonPath: JsonFilePath, data: Json): void;
|
|
64
64
|
/**
|
|
65
65
|
* Save complete backup of the Sqlite database to the given directory.
|
|
66
66
|
* @param db Database connection.
|
|
@@ -73,18 +73,24 @@ export class Exporter {
|
|
|
73
73
|
* @param path Output file path.
|
|
74
74
|
* @param lines Data content.
|
|
75
75
|
*/
|
|
76
|
-
writeTsv(
|
|
77
|
-
log(`Writing ${
|
|
78
|
-
fs.
|
|
76
|
+
writeTsv(tsvPath, lines) {
|
|
77
|
+
log(`Writing ${tsvPath}`);
|
|
78
|
+
if (!fs.existsSync(path.dirname(tsvPath))) {
|
|
79
|
+
fs.mkdirSync(path.dirname(tsvPath), { recursive: true });
|
|
80
|
+
}
|
|
81
|
+
fs.writeFileSync(tsvPath, lines.map(l => l.join('\t')).join('\n') + '\n');
|
|
79
82
|
}
|
|
80
83
|
/**
|
|
81
84
|
* Write prepared data to JSON file.
|
|
82
85
|
* @param path Output file path.
|
|
83
86
|
* @param lines Data content.
|
|
84
87
|
*/
|
|
85
|
-
writeJson(
|
|
86
|
-
log(`Writing ${
|
|
87
|
-
fs.
|
|
88
|
+
writeJson(jsonPath, data) {
|
|
89
|
+
log(`Writing ${jsonPath}`);
|
|
90
|
+
if (!fs.existsSync(path.dirname(jsonPath))) {
|
|
91
|
+
fs.mkdirSync(path.dirname(jsonPath), { recursive: true });
|
|
92
|
+
}
|
|
93
|
+
fs.writeFileSync(jsonPath, JSON.stringify(data, null, 2) + '\n');
|
|
88
94
|
}
|
|
89
95
|
/**
|
|
90
96
|
* Save complete backup of the Sqlite database to the given directory.
|
|
@@ -111,9 +117,19 @@ export class Exporter {
|
|
|
111
117
|
this.writeTsv(create(path.join(out, 'tags.tsv')), tags);
|
|
112
118
|
if (this.VERSION >= 3) {
|
|
113
119
|
const importers = await this.getImporters(db);
|
|
114
|
-
this.writeJson(create(path.join(out, 'importers.json')), importers);
|
|
115
120
|
const imports = await this.getImports(db);
|
|
116
|
-
|
|
121
|
+
for (const importer of importers) {
|
|
122
|
+
const importerDir = create(path.join(out, 'importers', importer.name));
|
|
123
|
+
const importerPath = create(path.join(importerDir, 'config.json'));
|
|
124
|
+
// TODO: Need type improvements.
|
|
125
|
+
this.writeJson(importerPath, importer.config);
|
|
126
|
+
}
|
|
127
|
+
for (const imp of imports) {
|
|
128
|
+
const importDir = create(path.join(out, 'importers', imp.ownerId + ''));
|
|
129
|
+
const importPath = create(path.join(importDir, imp.created + '.json'));
|
|
130
|
+
// TODO: Need type improvements.
|
|
131
|
+
this.writeJson(importPath, { ...imp, ownerId: undefined });
|
|
132
|
+
}
|
|
117
133
|
}
|
|
118
134
|
return conf;
|
|
119
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exporter.js","sourceRoot":"","sources":["../../../src/export/Exporter.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"Exporter.js","sourceRoot":"","sources":["../../../src/export/Exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BookkeeperConfig, DirectoryPath, ParsedTsvFileData, TarFilePath, Url
|
|
1
|
+
import { BookkeeperConfig, DirectoryPath, ImporterModelData, ParsedTsvFileData, ProcessModelDetailedData, TarFilePath, Url } from '@tasenor/common';
|
|
2
2
|
import { KnexDatabase } from '../database';
|
|
3
3
|
import { Exporter } from './Exporter';
|
|
4
4
|
/**
|
|
@@ -6,6 +6,7 @@ import { Exporter } from './Exporter';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class TasenorExporter extends Exporter {
|
|
8
8
|
VERSION: number;
|
|
9
|
+
importerIdMap: Record<number, string>;
|
|
9
10
|
/**
|
|
10
11
|
* Read configuration information from database and construct compiled configuration.
|
|
11
12
|
* @param db Knex connection to use.
|
|
@@ -41,12 +42,12 @@ export declare class TasenorExporter extends Exporter {
|
|
|
41
42
|
* Collect a structure with all importers and their configs.
|
|
42
43
|
* @param db Knex connection to use.
|
|
43
44
|
*/
|
|
44
|
-
getImporters(db: KnexDatabase): Promise<
|
|
45
|
+
getImporters(db: KnexDatabase): Promise<ImporterModelData[]>;
|
|
45
46
|
/**
|
|
46
47
|
* Collect a structure with all imports and their results.
|
|
47
48
|
* @param db Knex connection to use.
|
|
48
49
|
*/
|
|
49
|
-
getImports(db: KnexDatabase): Promise<
|
|
50
|
+
getImports(db: KnexDatabase): Promise<ProcessModelDetailedData[]>;
|
|
50
51
|
/**
|
|
51
52
|
* Run the full backup for the given database.
|
|
52
53
|
* @param dbUrl Database URL.
|
|
@@ -10,6 +10,8 @@ import fs from 'fs';
|
|
|
10
10
|
*/
|
|
11
11
|
export class TasenorExporter extends Exporter {
|
|
12
12
|
VERSION = 3;
|
|
13
|
+
// Mapping from document importer IDs to their name.
|
|
14
|
+
importerIdMap;
|
|
13
15
|
/**
|
|
14
16
|
* Read configuration information from database and construct compiled configuration.
|
|
15
17
|
* @param db Knex connection to use.
|
|
@@ -114,15 +116,49 @@ export class TasenorExporter extends Exporter {
|
|
|
114
116
|
* @param db Knex connection to use.
|
|
115
117
|
*/
|
|
116
118
|
async getImporters(db) {
|
|
117
|
-
|
|
119
|
+
const importers = await db('importers').select('id', 'config', 'name').orderBy('id');
|
|
120
|
+
this.importerIdMap = {};
|
|
121
|
+
importers.forEach(i => {
|
|
122
|
+
this.importerIdMap[i.id] = i.name;
|
|
123
|
+
delete i.id;
|
|
124
|
+
});
|
|
125
|
+
return importers;
|
|
118
126
|
}
|
|
119
127
|
/**
|
|
120
128
|
* Collect a structure with all imports and their results.
|
|
121
129
|
* @param db Knex connection to use.
|
|
122
130
|
*/
|
|
123
131
|
async getImports(db) {
|
|
124
|
-
|
|
125
|
-
|
|
132
|
+
const processes = await db('processes').orderBy('id');
|
|
133
|
+
const steps = await db('process_steps').orderBy('id');
|
|
134
|
+
const files = await db('process_files').orderBy('id');
|
|
135
|
+
const segments = await db('segment_document').join('document', 'document.id', '=', 'segment_document.document_id').select('segment_document.*', 'document.number');
|
|
136
|
+
const result = {};
|
|
137
|
+
processes.forEach(p => {
|
|
138
|
+
result[p.id || ''] = p;
|
|
139
|
+
result[p.id || ''].ownerId = this.importerIdMap[p.ownerId || ''];
|
|
140
|
+
result[p.id || ''].steps = [];
|
|
141
|
+
result[p.id || ''].files = [];
|
|
142
|
+
delete result[p.id || ''].id;
|
|
143
|
+
});
|
|
144
|
+
steps.forEach(s => {
|
|
145
|
+
result[s.processId || ''].steps.push(s);
|
|
146
|
+
delete s.id;
|
|
147
|
+
delete s.processId;
|
|
148
|
+
});
|
|
149
|
+
files.forEach(f => {
|
|
150
|
+
result[f.processId || ''].files.push(f);
|
|
151
|
+
delete f.id;
|
|
152
|
+
delete f.processId;
|
|
153
|
+
});
|
|
154
|
+
segments.forEach(segment => {
|
|
155
|
+
result[segment.process_id || ''].segments = result[segment.process_id || ''].segments || {};
|
|
156
|
+
if (result[segment.process_id || ''].segments[segment.segment_id]) {
|
|
157
|
+
throw new Error(`Duplicates not yet handled for segment '${segment.segment_id}'.`);
|
|
158
|
+
}
|
|
159
|
+
result[segment.process_id || ''].segments[segment.segment_id] = segment.number;
|
|
160
|
+
});
|
|
161
|
+
return Object.values(result);
|
|
126
162
|
}
|
|
127
163
|
/**
|
|
128
164
|
* Run the full backup for the given database.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TasenorExporter.js","sourceRoot":"","sources":["../../../src/export/TasenorExporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"TasenorExporter.js","sourceRoot":"","sources":["../../../src/export/TasenorExporter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/system.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export declare function system(command: string, quiet?: boolean): Promise<string
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
export declare function systemPiped(command: string, quiet?: boolean, ignoreError?: boolean): Promise<string | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Try to kill a process holding the TCP port.
|
|
17
|
+
*/
|
|
18
|
+
export declare function killPortUser(port: string | number): Promise<void>;
|
|
15
19
|
/**
|
|
16
20
|
* Check if the current environment is not development environment.
|
|
17
21
|
*/
|
package/dist/src/system.js
CHANGED
|
@@ -67,6 +67,15 @@ export async function systemPiped(command, quiet = false, ignoreError = false) {
|
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Try to kill a process holding the TCP port.
|
|
72
|
+
*/
|
|
73
|
+
export async function killPortUser(port) {
|
|
74
|
+
const out = await systemPiped(`fuser -n tcp ${port}`, true);
|
|
75
|
+
if (out) {
|
|
76
|
+
system(`kill ${out.trim()}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
70
79
|
/**
|
|
71
80
|
* Check if the current environment is not development environment.
|
|
72
81
|
*/
|
package/dist/src/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/system.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/system.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,KAAK,GAAG,KAAK;IACzD,IAAI,CAAC,KAAK,EAAE;QACV,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;KAC1C;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtE,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,KAAK;oBAAE,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;aACnB;YACD,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE;gBACpB,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAA;aAClB;YACD,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE;gBACpB,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAA;aACjB;YACD,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,KAAK,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK;IACnF,IAAI,CAAC,KAAK,EAAE;QACV,GAAG,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;KAC1C;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9B,GAAG,IAAI,IAAI,CAAA;YACX,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,EAAE;gBACR,IAAI,WAAW,EAAE;oBACf,OAAO,CAAC,IAAI,CAAC,CAAA;iBACd;qBAAM;oBACL,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,OAAO,sBAAsB,IAAI,GAAG,CAAC,CAAC,CAAA;iBACjE;aACF;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,CAAA;aACb;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAqB;IACtD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,gBAAgB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;IAC3D,IAAI,GAAG,EAAE;QACP,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;KAC7B;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,aAAa,EAAE,CAAA;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAA;IAChD,IAAI,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAA;KAC5C;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,EAAE,KAAK,aAAa,CAAA;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-node",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.16",
|
|
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.10.
|
|
39
|
+
"@tasenor/common": "1.10.16"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@jest/globals": "^29.6.1",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"jest": "^29.6.1",
|
|
46
46
|
"ts-jest": "^29.1.1",
|
|
47
47
|
"typescript": "^5.1.6",
|
|
48
|
-
"@tasenor/config": "1.10.
|
|
48
|
+
"@tasenor/config": "1.10.16",
|
|
49
49
|
"eslint-config-tasenor": "0.0.0"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
@@ -2,8 +2,9 @@ import glob from 'fast-glob'
|
|
|
2
2
|
import path from 'path'
|
|
3
3
|
import fs from 'fs'
|
|
4
4
|
import { system } from '..'
|
|
5
|
-
import { log, BookkeeperConfig, DirectoryPath, Hostname, ProcessedTsvFileData, TarFilePath, TextFilePath, TsvFilePath, error, FilePath, JsonFilePath, Value, ID } from '@tasenor/common'
|
|
5
|
+
import { log, BookkeeperConfig, DirectoryPath, Hostname, ProcessedTsvFileData, TarFilePath, TextFilePath, TsvFilePath, error, FilePath, JsonFilePath, Value, ID, ProcessModelDetailedData, ProcessFileModelData, ProcessStepModelData } from '@tasenor/common'
|
|
6
6
|
import { DB, KnexDatabase } from './DB'
|
|
7
|
+
// TODO: Hmm, the create() is more confusing that simpy using `as Type`?
|
|
7
8
|
import { create } from 'ts-opaque'
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -43,10 +44,10 @@ export class BookkeeperImporter {
|
|
|
43
44
|
* @param file Path to the JSON-file.
|
|
44
45
|
* @returns Saved value.
|
|
45
46
|
*/
|
|
46
|
-
async readJson(file: TsvFilePath): Promise<
|
|
47
|
+
async readJson<T = Value>(file: TsvFilePath): Promise<T> {
|
|
47
48
|
log(`Reading ${file}.`)
|
|
48
49
|
const content = fs.readFileSync(file).toString('utf-8')
|
|
49
|
-
return JSON.parse(content)
|
|
50
|
+
return JSON.parse(content) as T
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
/**
|
|
@@ -317,10 +318,45 @@ export class BookkeeperImporter {
|
|
|
317
318
|
* @param db Database connection.
|
|
318
319
|
* @param file Path to the importers file.
|
|
319
320
|
*/
|
|
320
|
-
async setImporters(db: KnexDatabase,
|
|
321
|
-
const
|
|
322
|
-
|
|
323
|
-
|
|
321
|
+
async setImporters(db: KnexDatabase, configPath: JsonFilePath, importPaths: JsonFilePath[]): Promise<void> {
|
|
322
|
+
const config = await this.readJson(configPath)
|
|
323
|
+
const name = path.basename(path.dirname(configPath))
|
|
324
|
+
const importer = await db('importers').insert({ name, config }).returning('id')
|
|
325
|
+
const importerId = importer[0].id
|
|
326
|
+
for (const importPath of importPaths) {
|
|
327
|
+
const process: Partial<ProcessModelDetailedData> = await this.readJson(importPath)
|
|
328
|
+
|
|
329
|
+
const files: ProcessFileModelData[] = process.files || []
|
|
330
|
+
const steps: ProcessStepModelData[] = process.steps || []
|
|
331
|
+
const segmentData = process.segments || {}
|
|
332
|
+
|
|
333
|
+
delete process.files
|
|
334
|
+
delete process.steps
|
|
335
|
+
delete process.segments
|
|
336
|
+
|
|
337
|
+
process.ownerId = importerId
|
|
338
|
+
|
|
339
|
+
const inserted = await db('processes').insert(process).returning('id')
|
|
340
|
+
const processId = inserted[0].id
|
|
341
|
+
|
|
342
|
+
for (const file of files) {
|
|
343
|
+
await db('process_files').insert({ processId, ...file })
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
for (const step of steps) {
|
|
347
|
+
await db('process_steps').insert({ processId, ...step })
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
if (segmentData) {
|
|
351
|
+
for (const segmentId of Object.keys(segmentData)) {
|
|
352
|
+
await db('segment_document').insert({
|
|
353
|
+
segment_id: segmentId,
|
|
354
|
+
process_id: processId,
|
|
355
|
+
importer_id: importerId,
|
|
356
|
+
document_id: this.documentIdMap[segmentData[segmentId]]
|
|
357
|
+
})
|
|
358
|
+
}
|
|
359
|
+
}
|
|
324
360
|
}
|
|
325
361
|
}
|
|
326
362
|
|
|
@@ -365,7 +401,7 @@ export class BookkeeperImporter {
|
|
|
365
401
|
}
|
|
366
402
|
await this.clearEverything(userDb)
|
|
367
403
|
await this.setConfig(userDb, conf)
|
|
368
|
-
const files = glob.sync(path.join(out, 'accounts', '
|
|
404
|
+
const files = glob.sync(path.join(out, 'accounts', '*.tsv'))
|
|
369
405
|
await this.setAccounts(userDb, files as FilePath[])
|
|
370
406
|
const periodsPath = path.join(out, 'periods.tsv')
|
|
371
407
|
await this.setPeriods(userDb, create(periodsPath))
|
|
@@ -374,8 +410,12 @@ export class BookkeeperImporter {
|
|
|
374
410
|
const tagsPath = path.join(out, 'tags.tsv')
|
|
375
411
|
await this.setTags(userDb, create(tagsPath))
|
|
376
412
|
if ((this.VERSION || 0) >= 3) {
|
|
377
|
-
const
|
|
378
|
-
|
|
413
|
+
const configPaths = glob.sync(path.join(out, 'importers', '*', 'config.json'))
|
|
414
|
+
for (const configPath of configPaths) {
|
|
415
|
+
const importerName = path.basename(path.dirname(configPath))
|
|
416
|
+
const imporPaths = glob.sync(path.join(out, 'importers', importerName, '[0-9][0-9][0-9][0-9]-*.json'))
|
|
417
|
+
await this.setImporters(userDb, create(configPath), imporPaths as JsonFilePath[])
|
|
418
|
+
}
|
|
379
419
|
}
|
|
380
420
|
}
|
|
381
421
|
|
package/src/export/Exporter.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import path from 'path'
|
|
3
3
|
import fs from 'fs'
|
|
4
4
|
import { KnexDatabase } from '..'
|
|
5
|
-
import { log, ParsedTsvFileData, BookkeeperConfig, DirectoryPath, TsvFilePath, JsonFilePath, Json, Value, TarFilePath } from '@tasenor/common'
|
|
5
|
+
import { log, ParsedTsvFileData, BookkeeperConfig, DirectoryPath, TsvFilePath, JsonFilePath, Json, Value, TarFilePath, ProcessModelDetailedData, ImporterModelData, FilePath } from '@tasenor/common'
|
|
6
6
|
import { create } from 'ts-opaque'
|
|
7
7
|
import { system } from '../system'
|
|
8
8
|
import dayjs from 'dayjs'
|
|
@@ -67,7 +67,7 @@ export class Exporter {
|
|
|
67
67
|
* Collect a structure with all importers and their configs.
|
|
68
68
|
* @param db Knex connection to use.
|
|
69
69
|
*/
|
|
70
|
-
async getImporters(db: KnexDatabase): Promise<
|
|
70
|
+
async getImporters(db: KnexDatabase): Promise<ImporterModelData[]> {
|
|
71
71
|
throw new Error(`Exporter ${this.constructor.name} does not implement getImporters().`)
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -75,7 +75,7 @@ export class Exporter {
|
|
|
75
75
|
* Collect a structure with all imports.
|
|
76
76
|
* @param db Knex connection to use.
|
|
77
77
|
*/
|
|
78
|
-
async getImports(db: KnexDatabase): Promise<
|
|
78
|
+
async getImports(db: KnexDatabase): Promise<ProcessModelDetailedData[]> {
|
|
79
79
|
throw new Error(`Exporter ${this.constructor.name} does not implement getImports().`)
|
|
80
80
|
}
|
|
81
81
|
|
|
@@ -84,9 +84,12 @@ export class Exporter {
|
|
|
84
84
|
* @param path Output file path.
|
|
85
85
|
* @param lines Data content.
|
|
86
86
|
*/
|
|
87
|
-
writeTsv(
|
|
88
|
-
log(`Writing ${
|
|
89
|
-
fs.
|
|
87
|
+
writeTsv(tsvPath: TsvFilePath, lines: ParsedTsvFileData): void {
|
|
88
|
+
log(`Writing ${tsvPath}`)
|
|
89
|
+
if (!fs.existsSync(path.dirname(tsvPath))) {
|
|
90
|
+
fs.mkdirSync(path.dirname(tsvPath), { recursive: true })
|
|
91
|
+
}
|
|
92
|
+
fs.writeFileSync(tsvPath, lines.map(l => l.join('\t')).join('\n') + '\n')
|
|
90
93
|
}
|
|
91
94
|
|
|
92
95
|
/**
|
|
@@ -94,9 +97,12 @@ export class Exporter {
|
|
|
94
97
|
* @param path Output file path.
|
|
95
98
|
* @param lines Data content.
|
|
96
99
|
*/
|
|
97
|
-
writeJson(
|
|
98
|
-
log(`Writing ${
|
|
99
|
-
fs.
|
|
100
|
+
writeJson(jsonPath: JsonFilePath, data: Json): void {
|
|
101
|
+
log(`Writing ${jsonPath}`)
|
|
102
|
+
if (!fs.existsSync(path.dirname(jsonPath))) {
|
|
103
|
+
fs.mkdirSync(path.dirname(jsonPath), { recursive: true })
|
|
104
|
+
}
|
|
105
|
+
fs.writeFileSync(jsonPath, JSON.stringify(data, null, 2) + '\n')
|
|
100
106
|
}
|
|
101
107
|
|
|
102
108
|
/**
|
|
@@ -123,11 +129,22 @@ export class Exporter {
|
|
|
123
129
|
this.writeTsv(create(path.join(out, 'entries.tsv')), entries)
|
|
124
130
|
const tags = await this.getTags(db, out)
|
|
125
131
|
this.writeTsv(create(path.join(out, 'tags.tsv')), tags)
|
|
132
|
+
|
|
126
133
|
if (this.VERSION >= 3) {
|
|
127
134
|
const importers = await this.getImporters(db)
|
|
128
|
-
this.writeJson(create(path.join(out, 'importers.json')), importers)
|
|
129
135
|
const imports = await this.getImports(db)
|
|
130
|
-
|
|
136
|
+
for (const importer of importers) {
|
|
137
|
+
const importerDir: DirectoryPath = create(path.join(out, 'importers', importer.name))
|
|
138
|
+
const importerPath: FilePath = create(path.join(importerDir, 'config.json'))
|
|
139
|
+
// TODO: Need type improvements.
|
|
140
|
+
this.writeJson(importerPath, importer.config as Value)
|
|
141
|
+
}
|
|
142
|
+
for (const imp of imports) {
|
|
143
|
+
const importDir: DirectoryPath = create(path.join(out, 'importers', imp.ownerId + ''))
|
|
144
|
+
const importPath: FilePath = create(path.join(importDir, imp.created + '.json'))
|
|
145
|
+
// TODO: Need type improvements.
|
|
146
|
+
this.writeJson(importPath, { ...imp, ownerId: undefined } as unknown as Value)
|
|
147
|
+
}
|
|
131
148
|
}
|
|
132
149
|
|
|
133
150
|
return conf
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bookkeeper, BookkeeperConfig, DirectoryPath, log, ParsedTsvFileData, TarFilePath, Url
|
|
1
|
+
import { Bookkeeper, BookkeeperConfig, DirectoryPath, ImporterModelData, log, ParsedTsvFileData, ProcessFileModelData, ProcessModelData, ProcessModelDetailedData, ProcessStepModelData, SegmentModelData, TarFilePath, Url } from '@tasenor/common'
|
|
2
2
|
import { DB, KnexDatabase } from '../database'
|
|
3
3
|
import { Exporter } from './Exporter'
|
|
4
4
|
import knex from 'knex'
|
|
@@ -13,6 +13,9 @@ export class TasenorExporter extends Exporter {
|
|
|
13
13
|
|
|
14
14
|
VERSION = 3
|
|
15
15
|
|
|
16
|
+
// Mapping from document importer IDs to their name.
|
|
17
|
+
importerIdMap: Record<number, string>
|
|
18
|
+
|
|
16
19
|
/**
|
|
17
20
|
* Read configuration information from database and construct compiled configuration.
|
|
18
21
|
* @param db Knex connection to use.
|
|
@@ -123,17 +126,56 @@ export class TasenorExporter extends Exporter {
|
|
|
123
126
|
* Collect a structure with all importers and their configs.
|
|
124
127
|
* @param db Knex connection to use.
|
|
125
128
|
*/
|
|
126
|
-
async getImporters(db: KnexDatabase): Promise<
|
|
127
|
-
|
|
129
|
+
async getImporters(db: KnexDatabase): Promise<ImporterModelData[]> {
|
|
130
|
+
const importers = await db('importers').select('id', 'config', 'name').orderBy('id')
|
|
131
|
+
this.importerIdMap = {}
|
|
132
|
+
importers.forEach(i => {
|
|
133
|
+
this.importerIdMap[i.id] = i.name
|
|
134
|
+
delete i.id
|
|
135
|
+
})
|
|
136
|
+
return importers
|
|
128
137
|
}
|
|
129
138
|
|
|
130
139
|
/**
|
|
131
140
|
* Collect a structure with all imports and their results.
|
|
132
141
|
* @param db Knex connection to use.
|
|
133
142
|
*/
|
|
134
|
-
async getImports(db: KnexDatabase): Promise<
|
|
135
|
-
|
|
136
|
-
|
|
143
|
+
async getImports(db: KnexDatabase): Promise<ProcessModelDetailedData[]> {
|
|
144
|
+
const processes: ProcessModelData[] = await db('processes').orderBy('id')
|
|
145
|
+
const steps: Partial<ProcessStepModelData>[] = await db('process_steps').orderBy('id')
|
|
146
|
+
const files: Partial<ProcessFileModelData>[] = await db('process_files').orderBy('id')
|
|
147
|
+
const segments: Partial<SegmentModelData & { number: number}>[] = await db('segment_document').join('document', 'document.id', '=', 'segment_document.document_id').select('segment_document.*', 'document.number')
|
|
148
|
+
|
|
149
|
+
const result: Record<number, ProcessModelDetailedData> = {}
|
|
150
|
+
processes.forEach(p => {
|
|
151
|
+
result[p.id || ''] = p
|
|
152
|
+
result[p.id || ''].ownerId = this.importerIdMap[p.ownerId || '']
|
|
153
|
+
result[p.id || ''].steps = []
|
|
154
|
+
result[p.id || ''].files = []
|
|
155
|
+
delete result[p.id || ''].id
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
steps.forEach(s => {
|
|
159
|
+
result[s.processId || ''].steps.push(s)
|
|
160
|
+
delete s.id
|
|
161
|
+
delete s.processId
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
files.forEach(f => {
|
|
165
|
+
result[f.processId || ''].files.push(f)
|
|
166
|
+
delete f.id
|
|
167
|
+
delete f.processId
|
|
168
|
+
})
|
|
169
|
+
|
|
170
|
+
segments.forEach(segment => {
|
|
171
|
+
result[segment.process_id || ''].segments = result[segment.process_id || ''].segments || {}
|
|
172
|
+
if (result[segment.process_id || ''].segments[segment.segment_id]) {
|
|
173
|
+
throw new Error(`Duplicates not yet handled for segment '${segment.segment_id}'.`)
|
|
174
|
+
}
|
|
175
|
+
result[segment.process_id || ''].segments[segment.segment_id] = segment.number
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
return Object.values(result)
|
|
137
179
|
}
|
|
138
180
|
|
|
139
181
|
/**
|
package/src/system.ts
CHANGED
|
@@ -67,6 +67,16 @@ export async function systemPiped(command: string, quiet = false, ignoreError =
|
|
|
67
67
|
})
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Try to kill a process holding the TCP port.
|
|
72
|
+
*/
|
|
73
|
+
export async function killPortUser(port: string | number): Promise<void> {
|
|
74
|
+
const out = await systemPiped(`fuser -n tcp ${port}`, true)
|
|
75
|
+
if (out) {
|
|
76
|
+
system(`kill ${out.trim()}`)
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
70
80
|
/**
|
|
71
81
|
* Check if the current environment is not development environment.
|
|
72
82
|
*/
|