@tasenor/common-node 1.10.14 → 1.10.15
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 +28 -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 +32 -3
- package/dist/src/export/TasenorExporter.js.map +1 -1
- package/package.json +4 -4
- package/src/database/BookkeeperImporter.ts +31 -10
- package/src/export/Exporter.ts +28 -11
- package/src/export/TasenorExporter.ts +40 -6
|
@@ -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,26 @@ 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
|
+
delete process.files;
|
|
316
|
+
delete process.steps;
|
|
317
|
+
process.ownerId = importerId;
|
|
318
|
+
const inserted = await db('processes').insert(process).returning('id');
|
|
319
|
+
const processId = inserted[0].id;
|
|
320
|
+
for (const file of files) {
|
|
321
|
+
await db('process_files').insert({ processId, ...file });
|
|
322
|
+
}
|
|
323
|
+
for (const step of steps) {
|
|
324
|
+
await db('process_steps').insert({ processId, ...step });
|
|
325
|
+
}
|
|
309
326
|
}
|
|
310
327
|
}
|
|
311
328
|
/**
|
|
@@ -346,7 +363,7 @@ export class BookkeeperImporter {
|
|
|
346
363
|
}
|
|
347
364
|
await this.clearEverything(userDb);
|
|
348
365
|
await this.setConfig(userDb, conf);
|
|
349
|
-
const files = glob.sync(path.join(out, 'accounts', '
|
|
366
|
+
const files = glob.sync(path.join(out, 'accounts', '*.tsv'));
|
|
350
367
|
await this.setAccounts(userDb, files);
|
|
351
368
|
const periodsPath = path.join(out, 'periods.tsv');
|
|
352
369
|
await this.setPeriods(userDb, create(periodsPath));
|
|
@@ -355,8 +372,12 @@ export class BookkeeperImporter {
|
|
|
355
372
|
const tagsPath = path.join(out, 'tags.tsv');
|
|
356
373
|
await this.setTags(userDb, create(tagsPath));
|
|
357
374
|
if ((this.VERSION || 0) >= 3) {
|
|
358
|
-
const
|
|
359
|
-
|
|
375
|
+
const configPaths = glob.sync(path.join(out, 'importers', '*', 'config.json'));
|
|
376
|
+
for (const configPath of configPaths) {
|
|
377
|
+
const importerName = path.basename(path.dirname(configPath));
|
|
378
|
+
const imporPaths = glob.sync(path.join(out, 'importers', importerName, '[0-9][0-9][0-9][0-9]-*.json'));
|
|
379
|
+
await this.setImporters(userDb, create(configPath), imporPaths);
|
|
380
|
+
}
|
|
360
381
|
}
|
|
361
382
|
}
|
|
362
383
|
/**
|
|
@@ -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,42 @@ 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 result = {};
|
|
136
|
+
processes.forEach(p => {
|
|
137
|
+
result[p.id || ''] = p;
|
|
138
|
+
result[p.id || ''].ownerId = this.importerIdMap[p.ownerId || ''];
|
|
139
|
+
result[p.id || ''].steps = [];
|
|
140
|
+
result[p.id || ''].files = [];
|
|
141
|
+
delete result[p.id || ''].id;
|
|
142
|
+
});
|
|
143
|
+
steps.forEach(s => {
|
|
144
|
+
result[s.processId || ''].steps.push(s);
|
|
145
|
+
delete s.id;
|
|
146
|
+
delete s.processId;
|
|
147
|
+
});
|
|
148
|
+
files.forEach(f => {
|
|
149
|
+
result[f.processId || ''].files.push(f);
|
|
150
|
+
delete f.id;
|
|
151
|
+
delete f.processId;
|
|
152
|
+
});
|
|
153
|
+
// TODO: Add segment ID mapping.
|
|
154
|
+
return Object.values(result);
|
|
126
155
|
}
|
|
127
156
|
/**
|
|
128
157
|
* 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-node",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.15",
|
|
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.15"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@jest/globals": "^29.6.1",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"jest": "^29.6.1",
|
|
46
46
|
"ts-jest": "^29.1.1",
|
|
47
47
|
"typescript": "^5.1.6",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
48
|
+
"eslint-config-tasenor": "0.0.0",
|
|
49
|
+
"@tasenor/config": "1.10.15"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"ci": "pnpm run lint && pnpm run test",
|
|
@@ -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,26 @@ 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
|
+
const files: ProcessFileModelData[] = process.files || []
|
|
329
|
+
const steps: ProcessStepModelData[] = process.steps || []
|
|
330
|
+
delete process.files
|
|
331
|
+
delete process.steps
|
|
332
|
+
process.ownerId = importerId
|
|
333
|
+
const inserted = await db('processes').insert(process).returning('id')
|
|
334
|
+
const processId = inserted[0].id
|
|
335
|
+
for (const file of files) {
|
|
336
|
+
await db('process_files').insert({ processId, ...file })
|
|
337
|
+
}
|
|
338
|
+
for (const step of steps) {
|
|
339
|
+
await db('process_steps').insert({ processId, ...step })
|
|
340
|
+
}
|
|
324
341
|
}
|
|
325
342
|
}
|
|
326
343
|
|
|
@@ -365,7 +382,7 @@ export class BookkeeperImporter {
|
|
|
365
382
|
}
|
|
366
383
|
await this.clearEverything(userDb)
|
|
367
384
|
await this.setConfig(userDb, conf)
|
|
368
|
-
const files = glob.sync(path.join(out, 'accounts', '
|
|
385
|
+
const files = glob.sync(path.join(out, 'accounts', '*.tsv'))
|
|
369
386
|
await this.setAccounts(userDb, files as FilePath[])
|
|
370
387
|
const periodsPath = path.join(out, 'periods.tsv')
|
|
371
388
|
await this.setPeriods(userDb, create(periodsPath))
|
|
@@ -374,8 +391,12 @@ export class BookkeeperImporter {
|
|
|
374
391
|
const tagsPath = path.join(out, 'tags.tsv')
|
|
375
392
|
await this.setTags(userDb, create(tagsPath))
|
|
376
393
|
if ((this.VERSION || 0) >= 3) {
|
|
377
|
-
const
|
|
378
|
-
|
|
394
|
+
const configPaths = glob.sync(path.join(out, 'importers', '*', 'config.json'))
|
|
395
|
+
for (const configPath of configPaths) {
|
|
396
|
+
const importerName = path.basename(path.dirname(configPath))
|
|
397
|
+
const imporPaths = glob.sync(path.join(out, 'importers', importerName, '[0-9][0-9][0-9][0-9]-*.json'))
|
|
398
|
+
await this.setImporters(userDb, create(configPath), imporPaths as JsonFilePath[])
|
|
399
|
+
}
|
|
379
400
|
}
|
|
380
401
|
}
|
|
381
402
|
|
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, 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,48 @@ 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
|
+
|
|
148
|
+
const result: Record<number, ProcessModelDetailedData> = {}
|
|
149
|
+
processes.forEach(p => {
|
|
150
|
+
result[p.id || ''] = p
|
|
151
|
+
result[p.id || ''].ownerId = this.importerIdMap[p.ownerId || '']
|
|
152
|
+
result[p.id || ''].steps = []
|
|
153
|
+
result[p.id || ''].files = []
|
|
154
|
+
delete result[p.id || ''].id
|
|
155
|
+
})
|
|
156
|
+
|
|
157
|
+
steps.forEach(s => {
|
|
158
|
+
result[s.processId || ''].steps.push(s)
|
|
159
|
+
delete s.id
|
|
160
|
+
delete s.processId
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
files.forEach(f => {
|
|
164
|
+
result[f.processId || ''].files.push(f)
|
|
165
|
+
delete f.id
|
|
166
|
+
delete f.processId
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
// TODO: Add segment ID mapping.
|
|
170
|
+
return Object.values(result)
|
|
137
171
|
}
|
|
138
172
|
|
|
139
173
|
/**
|