@quatrain/backend-sqlite 1.1.3 → 1.1.5

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.
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SQLiteAdapter = void 0;
16
16
  const core_1 = require("@quatrain/core");
17
17
  const backend_1 = require("@quatrain/backend");
18
- const crypto_1 = require("crypto");
18
+ const node_crypto_1 = require("node:crypto");
19
19
  const sqlite3_1 = __importDefault(require("sqlite3"));
20
20
  const sqlite_1 = require("sqlite");
21
21
  const operatorsMap = {
@@ -187,13 +187,13 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
187
187
  if (dataObject.uid) {
188
188
  throw new backend_1.BackendError(`Data object already has an uid and can't be created`);
189
189
  }
190
- const uid = desiredUid || (0, crypto_1.randomUUID)();
190
+ const uid = desiredUid || (0, node_crypto_1.randomUUID)();
191
191
  // Make sure table exists
192
192
  yield this._ensureTable(dataObject);
193
193
  // Set uid before middlewares so they can use it
194
194
  dataObject.uri.path = this._buildPath(dataObject, uid);
195
195
  // execute middlewares
196
- yield this.executeMiddlewares(dataObject, backend_1.BackendAction.CREATE, {
196
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.CREATE, 'before', {
197
197
  useDateFormat: true,
198
198
  });
199
199
  const data = dataObject.toJSON({
@@ -228,6 +228,9 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
228
228
  dataObject.uri.label = data && Reflect.get(data, 'name');
229
229
  dataObject.isPersisted(true);
230
230
  backend_1.Backend.info(`[SQLA] Saved object "${data.name}" at path ${dataObject.path}`);
231
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.CREATE, 'after', {
232
+ useDateFormat: true,
233
+ });
231
234
  resolve(dataObject);
232
235
  }
233
236
  catch (err) {
@@ -298,6 +301,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
298
301
  }
299
302
  }
300
303
  dataObject.populate(result);
304
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.READ, 'after');
301
305
  return dataObject;
302
306
  });
303
307
  }
@@ -308,7 +312,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
308
312
  }
309
313
  backend_1.Backend.info(`[SQLA] Updating document ${dataObject.path}`);
310
314
  // execute middlewares
311
- yield this.executeMiddlewares(dataObject, backend_1.BackendAction.UPDATE);
315
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.UPDATE, 'before');
312
316
  const data = dataObject.toJSON({
313
317
  withoutURIData: true,
314
318
  ignoreUnchanged: true,
@@ -343,6 +347,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
343
347
  backend_1.Backend.debug(`[SQLA] ${query}`);
344
348
  backend_1.Backend.debug(`[SQLA] Values ${JSON.stringify(values)}`);
345
349
  yield db.run(query, values);
350
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.UPDATE, 'after');
346
351
  return dataObject;
347
352
  });
348
353
  }
@@ -356,7 +361,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
356
361
  throw new backend_1.BackendError(`[SQLA] Cannot determine collection name`);
357
362
  }
358
363
  // execute middlewares
359
- yield this.executeMiddlewares(dataObject, backend_1.BackendAction.DELETE, {
364
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.DELETE, 'before', {
360
365
  useDateFormat: true,
361
366
  });
362
367
  const db = yield this._connect();
@@ -370,6 +375,9 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
370
375
  ]);
371
376
  }
372
377
  dataObject.uri = new core_1.ObjectUri();
378
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.DELETE, 'after', {
379
+ useDateFormat: true,
380
+ });
373
381
  return dataObject;
374
382
  });
375
383
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/backend-sqlite",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "license": "AGPL-3.0-only",
5
5
  "description": "Backend adapter for SQLite",
6
6
  "main": "dist/index.js",
@@ -20,8 +20,8 @@
20
20
  },
21
21
  "author": "Quatrain Développement SAS <developers@quatrain.com>",
22
22
  "dependencies": {
23
- "@quatrain/backend": "^1.2.2",
24
- "@quatrain/core": "^1.2.2",
23
+ "@quatrain/backend": "^1.2.3",
24
+ "@quatrain/core": "^1.2.4",
25
25
  "sqlite": "^5.1.1",
26
26
  "sqlite3": "^5.1.7"
27
27
  },
@@ -19,7 +19,7 @@ import {
19
19
  Sorting,
20
20
  CollectionHierarchy,
21
21
  } from '@quatrain/backend'
22
- import { randomUUID } from 'crypto'
22
+ import { randomUUID } from 'node:crypto'
23
23
  import sqlite3, { Statement } from 'sqlite3'
24
24
  import { open, Database } from 'sqlite'
25
25
 
@@ -231,7 +231,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
231
231
  dataObject.uri.path = this._buildPath(dataObject, uid)
232
232
 
233
233
  // execute middlewares
234
- await this.executeMiddlewares(dataObject, BackendAction.CREATE, {
234
+ await this.executeMiddlewares(dataObject, BackendAction.CREATE, 'before', {
235
235
  useDateFormat: true,
236
236
  })
237
237
 
@@ -284,6 +284,10 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
284
284
  `[SQLA] Saved object "${data.name}" at path ${dataObject.path}`
285
285
  )
286
286
 
287
+ await this.executeMiddlewares(dataObject, BackendAction.CREATE, 'after', {
288
+ useDateFormat: true,
289
+ })
290
+
287
291
  resolve(dataObject)
288
292
  } catch (err) {
289
293
  console.error(err)
@@ -376,6 +380,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
376
380
  }
377
381
 
378
382
  dataObject.populate(result)
383
+ await this.executeMiddlewares(dataObject, BackendAction.READ, 'after')
379
384
  return dataObject
380
385
  }
381
386
 
@@ -389,7 +394,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
389
394
  Backend.info(`[SQLA] Updating document ${dataObject.path}`)
390
395
 
391
396
  // execute middlewares
392
- await this.executeMiddlewares(dataObject, BackendAction.UPDATE)
397
+ await this.executeMiddlewares(dataObject, BackendAction.UPDATE, 'before')
393
398
 
394
399
  const data = dataObject.toJSON({
395
400
  withoutURIData: true,
@@ -442,6 +447,8 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
442
447
  Backend.debug(`[SQLA] Values ${JSON.stringify(values)}`)
443
448
 
444
449
  await db.run(query, values)
450
+
451
+ await this.executeMiddlewares(dataObject, BackendAction.UPDATE, 'after')
445
452
  return dataObject
446
453
  }
447
454
 
@@ -459,7 +466,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
459
466
  }
460
467
 
461
468
  // execute middlewares
462
- await this.executeMiddlewares(dataObject, BackendAction.DELETE, {
469
+ await this.executeMiddlewares(dataObject, BackendAction.DELETE, 'before', {
463
470
  useDateFormat: true,
464
471
  })
465
472
 
@@ -478,6 +485,11 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
478
485
  }
479
486
 
480
487
  dataObject.uri = new ObjectUri()
488
+
489
+ await this.executeMiddlewares(dataObject, BackendAction.DELETE, 'after', {
490
+ useDateFormat: true,
491
+ })
492
+
481
493
  return dataObject
482
494
  }
483
495
 
@@ -3,8 +3,8 @@ import { BackendError, Filter, OperatorKeys } from '@quatrain/backend'
3
3
  import { NotFoundError } from '@quatrain/core'
4
4
  import { SQLiteAdapter } from '../SQLiteAdapter'
5
5
  import { createUser, createEntity, setup, Entity } from './common'
6
- import fs from 'fs'
7
- import path from 'path'
6
+ import fs from 'node:fs'
7
+ import path from 'node:path'
8
8
 
9
9
  describe('SQLiteAdapter Tests', () => {
10
10
  let adapter: SQLiteAdapter