@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.
@@ -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<Value>;
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, file: JsonFilePath): Promise<void>;
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, file) {
306
- const importers = await this.readJson(file);
307
- for (const importer of importers) {
308
- await db('importers').insert(importer);
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 importersPath = path.join(out, 'importers.json');
359
- await this.setImporters(userDb, create(importersPath));
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, Value, TarFilePath } from '@tasenor/common';
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<Value>;
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<Value>;
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(path: TsvFilePath, lines: ParsedTsvFileData): void;
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(path: JsonFilePath, data: Json): void;
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(path, lines) {
77
- log(`Writing ${path}`);
78
- fs.writeFileSync(path, lines.map(l => l.join('\t')).join('\n') + '\n');
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(path, data) {
86
- log(`Writing ${path}`);
87
- fs.writeFileSync(path, JSON.stringify(data, null, 2) + '\n');
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
- console.dir(imports, { depth: null });
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":"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"}
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, Value } from '@tasenor/common';
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<Value>;
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<Value>;
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
- return await db('importers').select('config', 'name').orderBy('id');
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
- // TODO: Implement.
125
- return {};
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":"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"}
1
+ {"version":3,"file":"TasenorExporter.js","sourceRoot":"","sources":["../../../src/export/TasenorExporter.ts"],"names":[],"mappings":"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"}
@@ -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
  */
@@ -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
  */
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasenor/common-node",
3
- "version": "1.10.14",
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.14"
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.14",
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<Value> {
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, file: JsonFilePath): Promise<void> {
321
- const importers = await this.readJson(file)
322
- for (const importer of importers as Value[]) {
323
- await db('importers').insert(importer)
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 importersPath = path.join(out, 'importers.json')
378
- await this.setImporters(userDb, create(importersPath))
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
 
@@ -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<Value> {
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<Value> {
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(path: TsvFilePath, lines: ParsedTsvFileData): void {
88
- log(`Writing ${path}`)
89
- fs.writeFileSync(path, lines.map(l => l.join('\t')).join('\n') + '\n')
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(path: JsonFilePath, data: Json): void {
98
- log(`Writing ${path}`)
99
- fs.writeFileSync(path, JSON.stringify(data, null, 2) + '\n')
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
- console.dir(imports, { depth: null })
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, Value } from '@tasenor/common'
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<Value> {
127
- return await db('importers').select('config', 'name').orderBy('id')
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<Value> {
135
- // TODO: Implement.
136
- return {}
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
  */