@nymphjs/driver-sqlite3 1.0.0-beta.128 → 1.0.0-beta.129
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/CHANGELOG.md +7 -0
- package/dist/SQLite3Driver.d.ts +6 -4
- package/dist/SQLite3Driver.js +102 -93
- package/dist/SQLite3Driver.js.map +1 -1
- package/dist/conf/defaults.js +0 -1
- package/dist/conf/defaults.js.map +1 -1
- package/dist/conf/index.d.ts +0 -4
- package/dist/conf/index.js.map +1 -1
- package/jest.config.js +1 -1
- package/package.json +6 -8
- package/src/SQLite3Driver.ts +126 -110
- package/src/conf/defaults.ts +0 -1
- package/src/conf/index.ts +0 -4
- package/tsconfig.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-beta.129](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.128...v1.0.0-beta.129) (2026-10-05)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add method to export a single entity ([dac08cb](https://forge.sciactive.com/sciactive/nymphjs/commits/dac08cb39c1fe4473337d2c41c45252f1ed13dae))
|
|
11
|
+
- migrate to built in node sqlite, target es2024 ([d7c78c0](https://forge.sciactive.com/sciactive/nymphjs/commits/d7c78c06072d785b228ff790eb005ab4f84529e9))
|
|
12
|
+
|
|
6
13
|
# [1.0.0-beta.128](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.127...v1.0.0-beta.128) (2026-09-29)
|
|
7
14
|
|
|
8
15
|
### Features
|
package/dist/SQLite3Driver.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
2
|
import { NymphDriver, type EntityConstructor, type EntityObjectType, type EntityInterface, type EntityInstanceType, type SerializedEntityData, type FormattedSelector, type Options, type Selector } from '@nymphjs/nymph';
|
|
3
3
|
import { SQLite3DriverConfig } from './conf/index.js';
|
|
4
4
|
declare class InternalStore {
|
|
5
|
-
link:
|
|
6
|
-
linkWrite?:
|
|
5
|
+
link: DatabaseSync;
|
|
6
|
+
linkWrite?: DatabaseSync;
|
|
7
7
|
connected: boolean;
|
|
8
8
|
transactionsStarted: number;
|
|
9
|
-
constructor(link:
|
|
9
|
+
constructor(link: DatabaseSync);
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* The SQLite3 Nymph database driver.
|
|
@@ -80,6 +80,8 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
80
80
|
type: 'comment' | 'uid' | 'entity';
|
|
81
81
|
content: string;
|
|
82
82
|
}, void, false | undefined>;
|
|
83
|
+
exportEntity(etype: string, guid: string): Promise<string>;
|
|
84
|
+
private exportEntityInternal;
|
|
83
85
|
/**
|
|
84
86
|
* Generate the SQLite3 query.
|
|
85
87
|
* @param options The options array.
|
package/dist/SQLite3Driver.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
2
|
import { NymphDriver, EntityConflictError, EntityInvalidDataError, EntityUniqueConstraintError, InvalidParametersError, NotConfiguredError, QueryFailedError, UnableToConnectError, xor, } from '@nymphjs/nymph';
|
|
3
3
|
import { makeTableSuffix } from '@nymphjs/guid';
|
|
4
4
|
import { SQLite3DriverConfigDefaults as defaults, } from './conf/index.js';
|
|
@@ -64,53 +64,47 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
64
64
|
return Promise.resolve(this.store.connected);
|
|
65
65
|
}
|
|
66
66
|
_connect(write) {
|
|
67
|
-
const { filename, fileMustExist, timeout, explicitWrite, wal
|
|
67
|
+
const { filename, fileMustExist, timeout, explicitWrite, wal } = this.config;
|
|
68
68
|
try {
|
|
69
69
|
const setOptions = (link) => {
|
|
70
70
|
// Set database and connection options.
|
|
71
71
|
if (wal) {
|
|
72
|
-
link.
|
|
72
|
+
link.exec('PRAGMA journal_mode = WAL;');
|
|
73
73
|
}
|
|
74
|
-
link.
|
|
75
|
-
link.
|
|
76
|
-
link.
|
|
74
|
+
link.exec('PRAGMA encoding = "UTF-8";');
|
|
75
|
+
link.exec('PRAGMA foreign_keys = 1;');
|
|
76
|
+
link.exec('PRAGMA case_sensitive_like = 1;');
|
|
77
77
|
for (let pragma of this.config.pragmas) {
|
|
78
|
-
link.
|
|
78
|
+
link.exec(`PRAGMA ${pragma}`);
|
|
79
79
|
}
|
|
80
80
|
// Create the preg_match and regexp functions.
|
|
81
81
|
link.function('regexp', { deterministic: true }, ((pattern, subject) => (this.posixRegexMatch(pattern, subject) ? 1 : 0)));
|
|
82
82
|
};
|
|
83
83
|
let link;
|
|
84
84
|
try {
|
|
85
|
-
link = new
|
|
86
|
-
|
|
87
|
-
fileMustExist,
|
|
85
|
+
link = new DatabaseSync(filename, {
|
|
86
|
+
readOnly: !explicitWrite && !write,
|
|
88
87
|
timeout,
|
|
89
|
-
verbose,
|
|
90
88
|
});
|
|
91
89
|
}
|
|
92
90
|
catch (e) {
|
|
93
|
-
if (e.code === '
|
|
91
|
+
if (e.code === 'ERR_SQLITE_CANTOPEN' &&
|
|
94
92
|
!explicitWrite &&
|
|
95
93
|
!write &&
|
|
96
|
-
!
|
|
94
|
+
!fileMustExist) {
|
|
97
95
|
// This happens when the file doesn't exist and we attempt to open it
|
|
98
96
|
// readonly.
|
|
99
97
|
// First open it in write mode.
|
|
100
|
-
const writeLink = new
|
|
101
|
-
|
|
102
|
-
fileMustExist,
|
|
98
|
+
const writeLink = new DatabaseSync(filename, {
|
|
99
|
+
readOnly: false,
|
|
103
100
|
timeout,
|
|
104
|
-
verbose,
|
|
105
101
|
});
|
|
106
102
|
setOptions(writeLink);
|
|
107
103
|
writeLink.close();
|
|
108
104
|
// Now open in readonly.
|
|
109
|
-
link = new
|
|
110
|
-
|
|
111
|
-
fileMustExist,
|
|
105
|
+
link = new DatabaseSync(filename, {
|
|
106
|
+
readOnly: true,
|
|
112
107
|
timeout,
|
|
113
|
-
verbose,
|
|
114
108
|
});
|
|
115
109
|
}
|
|
116
110
|
else {
|
|
@@ -264,7 +258,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
264
258
|
catch (e) {
|
|
265
259
|
const errorCode = e?.code;
|
|
266
260
|
const errorMsg = e?.message;
|
|
267
|
-
if (errorCode === '
|
|
261
|
+
if (errorCode === 'ERR_SQLITE_ERROR' &&
|
|
268
262
|
errorMsg.match(/^no such table: /) &&
|
|
269
263
|
this.createTables()) {
|
|
270
264
|
for (let etype of etypes) {
|
|
@@ -277,7 +271,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
277
271
|
throw new QueryFailedError('Query failed: ' + e2?.code + ' - ' + e2?.message, query, e2?.code);
|
|
278
272
|
}
|
|
279
273
|
}
|
|
280
|
-
else if (errorCode === '
|
|
274
|
+
else if (errorCode === 'ERR_SQLITE_ERROR' &&
|
|
281
275
|
errorMsg.match(/^UNIQUE constraint failed: /)) {
|
|
282
276
|
throw new EntityUniqueConstraintError(`Unique constraint violation.`);
|
|
283
277
|
}
|
|
@@ -439,7 +433,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
439
433
|
return true;
|
|
440
434
|
}
|
|
441
435
|
async getEtypes() {
|
|
442
|
-
const tables = this.queryArray(
|
|
436
|
+
const tables = this.queryArray(`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @prefix;`, {
|
|
443
437
|
params: {
|
|
444
438
|
prefix: this.prefix + 'entities_' + '%',
|
|
445
439
|
},
|
|
@@ -497,75 +491,90 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
497
491
|
const etypes = await this.getEtypes();
|
|
498
492
|
for (const etype of etypes) {
|
|
499
493
|
// Export entities.
|
|
500
|
-
const
|
|
501
|
-
let
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
}
|
|
538
|
-
if (acWrite != null) {
|
|
539
|
-
currentEntityExport.push(`\tacWrite=${JSON.stringify(acWrite)}`);
|
|
540
|
-
}
|
|
541
|
-
if (acFull != null) {
|
|
542
|
-
currentEntityExport.push(`\tacFull=${JSON.stringify(acFull)}`);
|
|
543
|
-
}
|
|
494
|
+
const entityIterator = this.exportEntityInternal(etype);
|
|
495
|
+
for await (let content of entityIterator) {
|
|
496
|
+
yield { type: 'entity', content };
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
async exportEntity(etype, guid) {
|
|
501
|
+
const entityIterator = this.exportEntityInternal(etype, guid);
|
|
502
|
+
let exportContent = '';
|
|
503
|
+
for await (let content of entityIterator) {
|
|
504
|
+
exportContent += content;
|
|
505
|
+
}
|
|
506
|
+
return exportContent;
|
|
507
|
+
}
|
|
508
|
+
async *exportEntityInternal(etype, guid) {
|
|
509
|
+
// Export entities.
|
|
510
|
+
const dataIterator = this.queryArray(`SELECT e."guid", e."tags", e."cdate", e."mdate", e."user", e."group", e."acUser", e."acGroup", e."acOther", e."acRead", e."acWrite", e."acFull", d."name", d."value", json(d."json") as "json", d."string", d."number" FROM ${SQLite3Driver.escape(`${this.prefix}entities_${etype}`)} e LEFT JOIN ${SQLite3Driver.escape(`${this.prefix}data_${etype}`)} d USING ("guid")${guid == null ? '' : ` WHERE e."guid"=@guid`} ORDER BY e."guid";`, guid == null ? undefined : { params: { guid } })[Symbol.iterator]();
|
|
511
|
+
let datum = dataIterator.next();
|
|
512
|
+
while (!datum.done) {
|
|
513
|
+
const guid = datum.value.guid;
|
|
514
|
+
const tags = datum.value.tags.slice(1, -1);
|
|
515
|
+
const cdate = datum.value.cdate;
|
|
516
|
+
const mdate = datum.value.mdate;
|
|
517
|
+
const user = datum.value.user;
|
|
518
|
+
const group = datum.value.group;
|
|
519
|
+
const acUser = datum.value.acUser;
|
|
520
|
+
const acGroup = datum.value.acGroup;
|
|
521
|
+
const acOther = datum.value.acOther;
|
|
522
|
+
const acRead = datum.value.acRead?.slice(1, -1).split(',');
|
|
523
|
+
const acWrite = datum.value.acWrite?.slice(1, -1).split(',');
|
|
524
|
+
const acFull = datum.value.acFull?.slice(1, -1).split(',');
|
|
525
|
+
let currentEntityExport = [];
|
|
526
|
+
currentEntityExport.push(`{${guid}}<${etype}>[${tags}]`);
|
|
527
|
+
currentEntityExport.push(`\tcdate=${JSON.stringify(cdate)}`);
|
|
528
|
+
currentEntityExport.push(`\tmdate=${JSON.stringify(mdate)}`);
|
|
529
|
+
if (this.nymph.tilmeld != null) {
|
|
530
|
+
if (user != null) {
|
|
531
|
+
currentEntityExport.push(`\tuser=${JSON.stringify(['nymph_entity_reference', user, 'User'])}`);
|
|
544
532
|
}
|
|
545
|
-
if (
|
|
546
|
-
|
|
547
|
-
// next entity is reached. datum will end on the next entity.
|
|
548
|
-
do {
|
|
549
|
-
const value = datum.value.value === 'N'
|
|
550
|
-
? JSON.stringify(datum.value.number)
|
|
551
|
-
: datum.value.value === 'S'
|
|
552
|
-
? JSON.stringify(datum.value.string)
|
|
553
|
-
: datum.value.value === 'J'
|
|
554
|
-
? datum.value.json
|
|
555
|
-
: datum.value.value;
|
|
556
|
-
currentEntityExport.push(`\t${datum.value.name}=${value}`);
|
|
557
|
-
datum = dataIterator.next();
|
|
558
|
-
} while (!datum.done && datum.value.guid === guid);
|
|
533
|
+
if (group != null) {
|
|
534
|
+
currentEntityExport.push(`\tgroup=${JSON.stringify(['nymph_entity_reference', group, 'Group'])}`);
|
|
559
535
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
datum = dataIterator.next();
|
|
536
|
+
if (acUser != null) {
|
|
537
|
+
currentEntityExport.push(`\tacUser=${JSON.stringify(acUser)}`);
|
|
563
538
|
}
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
539
|
+
if (acGroup != null) {
|
|
540
|
+
currentEntityExport.push(`\tacGroup=${JSON.stringify(acGroup)}`);
|
|
541
|
+
}
|
|
542
|
+
if (acOther != null) {
|
|
543
|
+
currentEntityExport.push(`\tacOther=${JSON.stringify(acOther)}`);
|
|
544
|
+
}
|
|
545
|
+
if (acRead != null) {
|
|
546
|
+
currentEntityExport.push(`\tacRead=${JSON.stringify(acRead)}`);
|
|
547
|
+
}
|
|
548
|
+
if (acWrite != null) {
|
|
549
|
+
currentEntityExport.push(`\tacWrite=${JSON.stringify(acWrite)}`);
|
|
550
|
+
}
|
|
551
|
+
if (acFull != null) {
|
|
552
|
+
currentEntityExport.push(`\tacFull=${JSON.stringify(acFull)}`);
|
|
567
553
|
}
|
|
568
554
|
}
|
|
555
|
+
if (datum.value.name != null) {
|
|
556
|
+
// This do will keep going and adding the data until the
|
|
557
|
+
// next entity is reached. datum will end on the next entity.
|
|
558
|
+
do {
|
|
559
|
+
const value = datum.value.value === 'N'
|
|
560
|
+
? JSON.stringify(datum.value.number)
|
|
561
|
+
: datum.value.value === 'S'
|
|
562
|
+
? JSON.stringify(datum.value.string)
|
|
563
|
+
: datum.value.value === 'J'
|
|
564
|
+
? datum.value.json
|
|
565
|
+
: datum.value.value;
|
|
566
|
+
currentEntityExport.push(`\t${datum.value.name}=${value}`);
|
|
567
|
+
datum = dataIterator.next();
|
|
568
|
+
} while (!datum.done && datum.value.guid === guid);
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
// Make sure that datum is incremented :)
|
|
572
|
+
datum = dataIterator.next();
|
|
573
|
+
}
|
|
574
|
+
currentEntityExport.push('');
|
|
575
|
+
if (yield currentEntityExport.join('\n')) {
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
569
578
|
}
|
|
570
579
|
}
|
|
571
580
|
/**
|
|
@@ -2454,13 +2463,13 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
2454
2463
|
return true;
|
|
2455
2464
|
}
|
|
2456
2465
|
async needsMigration() {
|
|
2457
|
-
const table = this.queryGet(
|
|
2466
|
+
const table = this.queryGet(`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @prefix LIMIT 1;`, {
|
|
2458
2467
|
params: {
|
|
2459
2468
|
prefix: this.prefix + 'data_' + '%',
|
|
2460
2469
|
},
|
|
2461
2470
|
});
|
|
2462
2471
|
if (table?.name) {
|
|
2463
|
-
const result = this.queryGet(
|
|
2472
|
+
const result = this.queryGet(`SELECT 1 AS "exists" FROM pragma_table_info(@table) WHERE "name"='json';`, {
|
|
2464
2473
|
params: {
|
|
2465
2474
|
table: table.name,
|
|
2466
2475
|
},
|
|
@@ -2469,7 +2478,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
2469
2478
|
return 'json';
|
|
2470
2479
|
}
|
|
2471
2480
|
}
|
|
2472
|
-
const table2 = this.queryGet(
|
|
2481
|
+
const table2 = this.queryGet(`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @tokenTable LIMIT 1;`, {
|
|
2473
2482
|
params: {
|
|
2474
2483
|
tokenTable: this.prefix + 'tokens_' + '%',
|
|
2475
2484
|
},
|
|
@@ -2477,13 +2486,13 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
2477
2486
|
if (!table2 || !table2.name) {
|
|
2478
2487
|
return 'tokens';
|
|
2479
2488
|
}
|
|
2480
|
-
const table3 = this.queryGet(
|
|
2489
|
+
const table3 = this.queryGet(`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @prefix LIMIT 1;`, {
|
|
2481
2490
|
params: {
|
|
2482
2491
|
prefix: this.prefix + 'entities_' + '%',
|
|
2483
2492
|
},
|
|
2484
2493
|
});
|
|
2485
2494
|
if (table3?.name) {
|
|
2486
|
-
const result = this.queryGet(
|
|
2495
|
+
const result = this.queryGet(`SELECT 1 AS "exists" FROM pragma_table_info(@table) WHERE "name"='user';`, {
|
|
2487
2496
|
params: {
|
|
2488
2497
|
table: table3.name,
|
|
2489
2498
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLite3Driver.js","sourceRoot":"","sources":["../src/SQLite3Driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SQLite3Driver.js","sourceRoot":"","sources":["../src/SQLite3Driver.ts"],"names":[],"mappings":"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"}
|
package/dist/conf/defaults.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/conf/defaults.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,KAAK;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/conf/defaults.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,KAAK;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,EAAE;CACW,CAAC"}
|
package/dist/conf/index.d.ts
CHANGED
|
@@ -59,10 +59,6 @@ export interface SQLite3DriverConfig {
|
|
|
59
59
|
* (Don't include the PRAGMA keyword, but do include the semicolon.)
|
|
60
60
|
*/
|
|
61
61
|
pragmas: string[];
|
|
62
|
-
/**
|
|
63
|
-
* Function that gets called with every SQL string executed.
|
|
64
|
-
*/
|
|
65
|
-
verbose: ((message?: any, ...additionalArgs: any[]) => void) | undefined;
|
|
66
62
|
}
|
|
67
63
|
import defaults from './defaults.js';
|
|
68
64
|
export { defaults as SQLite3DriverConfigDefaults };
|
package/dist/conf/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conf/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conf/index.ts"],"names":[],"mappings":"AA+DA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,2BAA2B,EAAE,CAAC"}
|
package/jest.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/driver-sqlite3",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.129",
|
|
4
4
|
"description": "Nymph.js - SQLite3 DB Driver",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,17 +38,15 @@
|
|
|
38
38
|
},
|
|
39
39
|
"license": "Apache-2.0",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@nymphjs/guid": "^1.0.0-beta.
|
|
42
|
-
"@nymphjs/nymph": "^1.0.0-beta.
|
|
43
|
-
"@sciactive/tokenizer": "^3.4.0"
|
|
44
|
-
"better-sqlite3": "^13.0.3"
|
|
41
|
+
"@nymphjs/guid": "^1.0.0-beta.129",
|
|
42
|
+
"@nymphjs/nymph": "^1.0.0-beta.129",
|
|
43
|
+
"@sciactive/tokenizer": "^3.4.0"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
|
-
"@nymphjs/tilmeld": "^1.0.0-beta.
|
|
46
|
+
"@nymphjs/tilmeld": "^1.0.0-beta.129",
|
|
48
47
|
"@swc/core": "^1.16.1",
|
|
49
48
|
"@swc/jest": "^0.2.39",
|
|
50
49
|
"@tsconfig/recommended": "^1.0.13",
|
|
51
|
-
"@types/better-sqlite3": "^9.6.0",
|
|
52
50
|
"@types/jest": "^30.0.0",
|
|
53
51
|
"@types/node": "^26.2.0",
|
|
54
52
|
"cross-env": "^10.1.0",
|
|
@@ -56,5 +54,5 @@
|
|
|
56
54
|
"ts-node": "^10.9.2",
|
|
57
55
|
"typescript": "^7.0.2"
|
|
58
56
|
},
|
|
59
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "11e1d82e6d23af797e0e29fec2f6f684f2f5b14c"
|
|
60
58
|
}
|
package/src/SQLite3Driver.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
2
|
import type {
|
|
3
3
|
SearchTerm,
|
|
4
4
|
SearchOrTerm,
|
|
@@ -33,12 +33,12 @@ import {
|
|
|
33
33
|
} from './conf/index.js';
|
|
34
34
|
|
|
35
35
|
class InternalStore {
|
|
36
|
-
public link:
|
|
37
|
-
public linkWrite?:
|
|
36
|
+
public link: DatabaseSync;
|
|
37
|
+
public linkWrite?: DatabaseSync;
|
|
38
38
|
public connected: boolean = false;
|
|
39
39
|
public transactionsStarted = 0;
|
|
40
40
|
|
|
41
|
-
constructor(link:
|
|
41
|
+
constructor(link: DatabaseSync) {
|
|
42
42
|
this.link = link;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -106,20 +106,20 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
private _connect(write: boolean) {
|
|
109
|
-
const { filename, fileMustExist, timeout, explicitWrite, wal
|
|
109
|
+
const { filename, fileMustExist, timeout, explicitWrite, wal } =
|
|
110
110
|
this.config;
|
|
111
111
|
|
|
112
112
|
try {
|
|
113
|
-
const setOptions = (link:
|
|
113
|
+
const setOptions = (link: DatabaseSync) => {
|
|
114
114
|
// Set database and connection options.
|
|
115
115
|
if (wal) {
|
|
116
|
-
link.
|
|
116
|
+
link.exec('PRAGMA journal_mode = WAL;');
|
|
117
117
|
}
|
|
118
|
-
link.
|
|
119
|
-
link.
|
|
120
|
-
link.
|
|
118
|
+
link.exec('PRAGMA encoding = "UTF-8";');
|
|
119
|
+
link.exec('PRAGMA foreign_keys = 1;');
|
|
120
|
+
link.exec('PRAGMA case_sensitive_like = 1;');
|
|
121
121
|
for (let pragma of this.config.pragmas) {
|
|
122
|
-
link.
|
|
122
|
+
link.exec(`PRAGMA ${pragma}`);
|
|
123
123
|
}
|
|
124
124
|
// Create the preg_match and regexp functions.
|
|
125
125
|
link.function('regexp', { deterministic: true }, ((
|
|
@@ -130,38 +130,32 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
130
130
|
) => any);
|
|
131
131
|
};
|
|
132
132
|
|
|
133
|
-
let link:
|
|
133
|
+
let link: DatabaseSync;
|
|
134
134
|
try {
|
|
135
|
-
link = new
|
|
136
|
-
|
|
137
|
-
fileMustExist,
|
|
135
|
+
link = new DatabaseSync(filename, {
|
|
136
|
+
readOnly: !explicitWrite && !write,
|
|
138
137
|
timeout,
|
|
139
|
-
verbose,
|
|
140
138
|
});
|
|
141
139
|
} catch (e: any) {
|
|
142
140
|
if (
|
|
143
|
-
e.code === '
|
|
141
|
+
e.code === 'ERR_SQLITE_CANTOPEN' &&
|
|
144
142
|
!explicitWrite &&
|
|
145
143
|
!write &&
|
|
146
|
-
!
|
|
144
|
+
!fileMustExist
|
|
147
145
|
) {
|
|
148
146
|
// This happens when the file doesn't exist and we attempt to open it
|
|
149
147
|
// readonly.
|
|
150
148
|
// First open it in write mode.
|
|
151
|
-
const writeLink = new
|
|
152
|
-
|
|
153
|
-
fileMustExist,
|
|
149
|
+
const writeLink = new DatabaseSync(filename, {
|
|
150
|
+
readOnly: false,
|
|
154
151
|
timeout,
|
|
155
|
-
verbose,
|
|
156
152
|
});
|
|
157
153
|
setOptions(writeLink);
|
|
158
154
|
writeLink.close();
|
|
159
155
|
// Now open in readonly.
|
|
160
|
-
link = new
|
|
161
|
-
|
|
162
|
-
fileMustExist,
|
|
156
|
+
link = new DatabaseSync(filename, {
|
|
157
|
+
readOnly: true,
|
|
163
158
|
timeout,
|
|
164
|
-
verbose,
|
|
165
159
|
});
|
|
166
160
|
} else {
|
|
167
161
|
throw e;
|
|
@@ -500,7 +494,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
500
494
|
const errorCode = e?.code;
|
|
501
495
|
const errorMsg = e?.message;
|
|
502
496
|
if (
|
|
503
|
-
errorCode === '
|
|
497
|
+
errorCode === 'ERR_SQLITE_ERROR' &&
|
|
504
498
|
errorMsg.match(/^no such table: /) &&
|
|
505
499
|
this.createTables()
|
|
506
500
|
) {
|
|
@@ -517,7 +511,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
517
511
|
);
|
|
518
512
|
}
|
|
519
513
|
} else if (
|
|
520
|
-
errorCode === '
|
|
514
|
+
errorCode === 'ERR_SQLITE_ERROR' &&
|
|
521
515
|
errorMsg.match(/^UNIQUE constraint failed: /)
|
|
522
516
|
) {
|
|
523
517
|
throw new EntityUniqueConstraintError(`Unique constraint violation.`);
|
|
@@ -851,7 +845,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
851
845
|
|
|
852
846
|
public async getEtypes() {
|
|
853
847
|
const tables: IterableIterator<any> = this.queryArray(
|
|
854
|
-
|
|
848
|
+
`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @prefix;`,
|
|
855
849
|
{
|
|
856
850
|
params: {
|
|
857
851
|
prefix: this.prefix + 'entities_' + '%',
|
|
@@ -932,85 +926,107 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
932
926
|
|
|
933
927
|
for (const etype of etypes) {
|
|
934
928
|
// Export entities.
|
|
935
|
-
const
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
}
|
|
929
|
+
const entityIterator = this.exportEntityInternal(etype);
|
|
930
|
+
for await (let content of entityIterator) {
|
|
931
|
+
yield { type: 'entity', content };
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
public async exportEntity(etype: string, guid: string): Promise<string> {
|
|
937
|
+
const entityIterator = this.exportEntityInternal(etype, guid);
|
|
938
|
+
let exportContent = '';
|
|
939
|
+
for await (let content of entityIterator) {
|
|
940
|
+
exportContent += content;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
return exportContent;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
private async *exportEntityInternal(
|
|
947
|
+
etype: string,
|
|
948
|
+
guid?: string,
|
|
949
|
+
): AsyncGenerator<string, void, false | undefined> {
|
|
950
|
+
// Export entities.
|
|
951
|
+
const dataIterator: IterableIterator<any> = this.queryArray(
|
|
952
|
+
`SELECT e."guid", e."tags", e."cdate", e."mdate", e."user", e."group", e."acUser", e."acGroup", e."acOther", e."acRead", e."acWrite", e."acFull", d."name", d."value", json(d."json") as "json", d."string", d."number" FROM ${SQLite3Driver.escape(
|
|
953
|
+
`${this.prefix}entities_${etype}`,
|
|
954
|
+
)} e LEFT JOIN ${SQLite3Driver.escape(
|
|
955
|
+
`${this.prefix}data_${etype}`,
|
|
956
|
+
)} d USING ("guid")${guid == null ? '' : ` WHERE e."guid"=@guid`} ORDER BY e."guid";`,
|
|
957
|
+
guid == null ? undefined : { params: { guid } },
|
|
958
|
+
)[Symbol.iterator]();
|
|
959
|
+
let datum = dataIterator.next();
|
|
960
|
+
while (!datum.done) {
|
|
961
|
+
const guid = datum.value.guid;
|
|
962
|
+
const tags = datum.value.tags.slice(1, -1);
|
|
963
|
+
const cdate = datum.value.cdate;
|
|
964
|
+
const mdate = datum.value.mdate;
|
|
965
|
+
const user = datum.value.user;
|
|
966
|
+
const group = datum.value.group;
|
|
967
|
+
const acUser = datum.value.acUser;
|
|
968
|
+
const acGroup = datum.value.acGroup;
|
|
969
|
+
const acOther = datum.value.acOther;
|
|
970
|
+
const acRead = datum.value.acRead?.slice(1, -1).split(',');
|
|
971
|
+
const acWrite = datum.value.acWrite?.slice(1, -1).split(',');
|
|
972
|
+
const acFull = datum.value.acFull?.slice(1, -1).split(',');
|
|
973
|
+
let currentEntityExport: string[] = [];
|
|
974
|
+
currentEntityExport.push(`{${guid}}<${etype}>[${tags}]`);
|
|
975
|
+
currentEntityExport.push(`\tcdate=${JSON.stringify(cdate)}`);
|
|
976
|
+
currentEntityExport.push(`\tmdate=${JSON.stringify(mdate)}`);
|
|
977
|
+
if (this.nymph.tilmeld != null) {
|
|
978
|
+
if (user != null) {
|
|
979
|
+
currentEntityExport.push(
|
|
980
|
+
`\tuser=${JSON.stringify(['nymph_entity_reference', user, 'User'])}`,
|
|
981
|
+
);
|
|
989
982
|
}
|
|
990
|
-
if (
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
const value =
|
|
995
|
-
datum.value.value === 'N'
|
|
996
|
-
? JSON.stringify(datum.value.number)
|
|
997
|
-
: datum.value.value === 'S'
|
|
998
|
-
? JSON.stringify(datum.value.string)
|
|
999
|
-
: datum.value.value === 'J'
|
|
1000
|
-
? datum.value.json
|
|
1001
|
-
: datum.value.value;
|
|
1002
|
-
currentEntityExport.push(`\t${datum.value.name}=${value}`);
|
|
1003
|
-
datum = dataIterator.next();
|
|
1004
|
-
} while (!datum.done && datum.value.guid === guid);
|
|
1005
|
-
} else {
|
|
1006
|
-
// Make sure that datum is incremented :)
|
|
1007
|
-
datum = dataIterator.next();
|
|
983
|
+
if (group != null) {
|
|
984
|
+
currentEntityExport.push(
|
|
985
|
+
`\tgroup=${JSON.stringify(['nymph_entity_reference', group, 'Group'])}`,
|
|
986
|
+
);
|
|
1008
987
|
}
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
988
|
+
if (acUser != null) {
|
|
989
|
+
currentEntityExport.push(`\tacUser=${JSON.stringify(acUser)}`);
|
|
990
|
+
}
|
|
991
|
+
if (acGroup != null) {
|
|
992
|
+
currentEntityExport.push(`\tacGroup=${JSON.stringify(acGroup)}`);
|
|
1013
993
|
}
|
|
994
|
+
if (acOther != null) {
|
|
995
|
+
currentEntityExport.push(`\tacOther=${JSON.stringify(acOther)}`);
|
|
996
|
+
}
|
|
997
|
+
if (acRead != null) {
|
|
998
|
+
currentEntityExport.push(`\tacRead=${JSON.stringify(acRead)}`);
|
|
999
|
+
}
|
|
1000
|
+
if (acWrite != null) {
|
|
1001
|
+
currentEntityExport.push(`\tacWrite=${JSON.stringify(acWrite)}`);
|
|
1002
|
+
}
|
|
1003
|
+
if (acFull != null) {
|
|
1004
|
+
currentEntityExport.push(`\tacFull=${JSON.stringify(acFull)}`);
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
if (datum.value.name != null) {
|
|
1008
|
+
// This do will keep going and adding the data until the
|
|
1009
|
+
// next entity is reached. datum will end on the next entity.
|
|
1010
|
+
do {
|
|
1011
|
+
const value =
|
|
1012
|
+
datum.value.value === 'N'
|
|
1013
|
+
? JSON.stringify(datum.value.number)
|
|
1014
|
+
: datum.value.value === 'S'
|
|
1015
|
+
? JSON.stringify(datum.value.string)
|
|
1016
|
+
: datum.value.value === 'J'
|
|
1017
|
+
? datum.value.json
|
|
1018
|
+
: datum.value.value;
|
|
1019
|
+
currentEntityExport.push(`\t${datum.value.name}=${value}`);
|
|
1020
|
+
datum = dataIterator.next();
|
|
1021
|
+
} while (!datum.done && datum.value.guid === guid);
|
|
1022
|
+
} else {
|
|
1023
|
+
// Make sure that datum is incremented :)
|
|
1024
|
+
datum = dataIterator.next();
|
|
1025
|
+
}
|
|
1026
|
+
currentEntityExport.push('');
|
|
1027
|
+
|
|
1028
|
+
if (yield currentEntityExport.join('\n')) {
|
|
1029
|
+
return;
|
|
1014
1030
|
}
|
|
1015
1031
|
}
|
|
1016
1032
|
}
|
|
@@ -3366,7 +3382,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
3366
3382
|
'json' | 'tokens' | 'tilmeldColumns' | false
|
|
3367
3383
|
> {
|
|
3368
3384
|
const table: any = this.queryGet(
|
|
3369
|
-
|
|
3385
|
+
`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @prefix LIMIT 1;`,
|
|
3370
3386
|
{
|
|
3371
3387
|
params: {
|
|
3372
3388
|
prefix: this.prefix + 'data_' + '%',
|
|
@@ -3375,7 +3391,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
3375
3391
|
);
|
|
3376
3392
|
if (table?.name) {
|
|
3377
3393
|
const result: any = this.queryGet(
|
|
3378
|
-
|
|
3394
|
+
`SELECT 1 AS "exists" FROM pragma_table_info(@table) WHERE "name"='json';`,
|
|
3379
3395
|
{
|
|
3380
3396
|
params: {
|
|
3381
3397
|
table: table.name,
|
|
@@ -3387,7 +3403,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
3387
3403
|
}
|
|
3388
3404
|
}
|
|
3389
3405
|
const table2: any = this.queryGet(
|
|
3390
|
-
|
|
3406
|
+
`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @tokenTable LIMIT 1;`,
|
|
3391
3407
|
{
|
|
3392
3408
|
params: {
|
|
3393
3409
|
tokenTable: this.prefix + 'tokens_' + '%',
|
|
@@ -3398,7 +3414,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
3398
3414
|
return 'tokens';
|
|
3399
3415
|
}
|
|
3400
3416
|
const table3: any = this.queryGet(
|
|
3401
|
-
|
|
3417
|
+
`SELECT "name" FROM "sqlite_master" WHERE "type"='table' AND "name" LIKE @prefix LIMIT 1;`,
|
|
3402
3418
|
{
|
|
3403
3419
|
params: {
|
|
3404
3420
|
prefix: this.prefix + 'entities_' + '%',
|
|
@@ -3407,7 +3423,7 @@ export default class SQLite3Driver extends NymphDriver {
|
|
|
3407
3423
|
);
|
|
3408
3424
|
if (table3?.name) {
|
|
3409
3425
|
const result: any = this.queryGet(
|
|
3410
|
-
|
|
3426
|
+
`SELECT 1 AS "exists" FROM pragma_table_info(@table) WHERE "name"='user';`,
|
|
3411
3427
|
{
|
|
3412
3428
|
params: {
|
|
3413
3429
|
table: table3.name,
|
package/src/conf/defaults.ts
CHANGED
package/src/conf/index.ts
CHANGED
|
@@ -59,10 +59,6 @@ export interface SQLite3DriverConfig {
|
|
|
59
59
|
* (Don't include the PRAGMA keyword, but do include the semicolon.)
|
|
60
60
|
*/
|
|
61
61
|
pragmas: string[];
|
|
62
|
-
/**
|
|
63
|
-
* Function that gets called with every SQL string executed.
|
|
64
|
-
*/
|
|
65
|
-
verbose: ((message?: any, ...additionalArgs: any[]) => void) | undefined;
|
|
66
62
|
}
|
|
67
63
|
|
|
68
64
|
import defaults from './defaults.js';
|
package/tsconfig.json
CHANGED