@quatrain/backend-sqlite 1.1.2 → 1.1.4

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.
@@ -166,7 +166,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
166
166
  else if (propDef.constructor.name === 'ObjectProperty') {
167
167
  columnType = 'TEXT'; // Store reference ID
168
168
  }
169
- query += `,\n${propName} ${columnType}`;
169
+ query += `,\n"${propName}" ${columnType}`;
170
170
  });
171
171
  query += `)`;
172
172
  yield db.exec(query);
@@ -190,8 +190,10 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
190
190
  const uid = desiredUid || (0, crypto_1.randomUUID)();
191
191
  // Make sure table exists
192
192
  yield this._ensureTable(dataObject);
193
+ // Set uid before middlewares so they can use it
194
+ dataObject.uri.path = this._buildPath(dataObject, uid);
193
195
  // execute middlewares
194
- yield this.executeMiddlewares(dataObject, backend_1.BackendAction.CREATE, {
196
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.CREATE, 'before', {
195
197
  useDateFormat: true,
196
198
  });
197
199
  const data = dataObject.toJSON({
@@ -222,10 +224,13 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
222
224
  backend_1.Backend.debug(`[SQLA] ${query}`);
223
225
  backend_1.Backend.debug(`[SQLA] Values ${JSON.stringify(values)}`);
224
226
  yield db.run(query, values);
225
- dataObject.uri.path = this._buildPath(dataObject, uid);
227
+ // uri.path is already set before middlewares
226
228
  dataObject.uri.label = data && Reflect.get(data, 'name');
227
229
  dataObject.isPersisted(true);
228
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
+ });
229
234
  resolve(dataObject);
230
235
  }
231
236
  catch (err) {
@@ -296,6 +301,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
296
301
  }
297
302
  }
298
303
  dataObject.populate(result);
304
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.READ, 'after');
299
305
  return dataObject;
300
306
  });
301
307
  }
@@ -306,7 +312,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
306
312
  }
307
313
  backend_1.Backend.info(`[SQLA] Updating document ${dataObject.path}`);
308
314
  // execute middlewares
309
- yield this.executeMiddlewares(dataObject, backend_1.BackendAction.UPDATE);
315
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.UPDATE, 'before');
310
316
  const data = dataObject.toJSON({
311
317
  withoutURIData: true,
312
318
  ignoreUnchanged: true,
@@ -341,6 +347,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
341
347
  backend_1.Backend.debug(`[SQLA] ${query}`);
342
348
  backend_1.Backend.debug(`[SQLA] Values ${JSON.stringify(values)}`);
343
349
  yield db.run(query, values);
350
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.UPDATE, 'after');
344
351
  return dataObject;
345
352
  });
346
353
  }
@@ -354,7 +361,7 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
354
361
  throw new backend_1.BackendError(`[SQLA] Cannot determine collection name`);
355
362
  }
356
363
  // execute middlewares
357
- yield this.executeMiddlewares(dataObject, backend_1.BackendAction.DELETE, {
364
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.DELETE, 'before', {
358
365
  useDateFormat: true,
359
366
  });
360
367
  const db = yield this._connect();
@@ -368,6 +375,9 @@ class SQLiteAdapter extends backend_1.AbstractBackendAdapter {
368
375
  ]);
369
376
  }
370
377
  dataObject.uri = new core_1.ObjectUri();
378
+ yield this.executeMiddlewares(dataObject, backend_1.BackendAction.DELETE, 'after', {
379
+ useDateFormat: true,
380
+ });
371
381
  return dataObject;
372
382
  });
373
383
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/backend-sqlite",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
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.1",
24
- "@quatrain/core": "^1.2.2",
23
+ "@quatrain/backend": "^1.2.3",
24
+ "@quatrain/core": "^1.2.3",
25
25
  "sqlite": "^5.1.1",
26
26
  "sqlite3": "^5.1.7"
27
27
  },
@@ -194,7 +194,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
194
194
  columnType = 'TEXT' // Store reference ID
195
195
  }
196
196
 
197
- query += `,\n${propName} ${columnType}`
197
+ query += `,\n"${propName}" ${columnType}`
198
198
  }
199
199
  )
200
200
 
@@ -227,8 +227,11 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
227
227
  // Make sure table exists
228
228
  await this._ensureTable(dataObject)
229
229
 
230
+ // Set uid before middlewares so they can use it
231
+ dataObject.uri.path = this._buildPath(dataObject, uid)
232
+
230
233
  // execute middlewares
231
- await this.executeMiddlewares(dataObject, BackendAction.CREATE, {
234
+ await this.executeMiddlewares(dataObject, BackendAction.CREATE, 'before', {
232
235
  useDateFormat: true,
233
236
  })
234
237
 
@@ -273,7 +276,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
273
276
 
274
277
  await db.run(query, values)
275
278
 
276
- dataObject.uri.path = this._buildPath(dataObject, uid)
279
+ // uri.path is already set before middlewares
277
280
  dataObject.uri.label = data && Reflect.get(data, 'name')
278
281
  dataObject.isPersisted(true)
279
282
 
@@ -281,6 +284,10 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
281
284
  `[SQLA] Saved object "${data.name}" at path ${dataObject.path}`
282
285
  )
283
286
 
287
+ await this.executeMiddlewares(dataObject, BackendAction.CREATE, 'after', {
288
+ useDateFormat: true,
289
+ })
290
+
284
291
  resolve(dataObject)
285
292
  } catch (err) {
286
293
  console.error(err)
@@ -373,6 +380,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
373
380
  }
374
381
 
375
382
  dataObject.populate(result)
383
+ await this.executeMiddlewares(dataObject, BackendAction.READ, 'after')
376
384
  return dataObject
377
385
  }
378
386
 
@@ -386,7 +394,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
386
394
  Backend.info(`[SQLA] Updating document ${dataObject.path}`)
387
395
 
388
396
  // execute middlewares
389
- await this.executeMiddlewares(dataObject, BackendAction.UPDATE)
397
+ await this.executeMiddlewares(dataObject, BackendAction.UPDATE, 'before')
390
398
 
391
399
  const data = dataObject.toJSON({
392
400
  withoutURIData: true,
@@ -439,6 +447,8 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
439
447
  Backend.debug(`[SQLA] Values ${JSON.stringify(values)}`)
440
448
 
441
449
  await db.run(query, values)
450
+
451
+ await this.executeMiddlewares(dataObject, BackendAction.UPDATE, 'after')
442
452
  return dataObject
443
453
  }
444
454
 
@@ -456,7 +466,7 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
456
466
  }
457
467
 
458
468
  // execute middlewares
459
- await this.executeMiddlewares(dataObject, BackendAction.DELETE, {
469
+ await this.executeMiddlewares(dataObject, BackendAction.DELETE, 'before', {
460
470
  useDateFormat: true,
461
471
  })
462
472
 
@@ -475,6 +485,11 @@ export class SQLiteAdapter extends AbstractBackendAdapter {
475
485
  }
476
486
 
477
487
  dataObject.uri = new ObjectUri()
488
+
489
+ await this.executeMiddlewares(dataObject, BackendAction.DELETE, 'after', {
490
+ useDateFormat: true,
491
+ })
492
+
478
493
  return dataObject
479
494
  }
480
495