@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.
- package/dist/SQLiteAdapter.js +15 -5
- package/package.json +3 -3
- package/src/SQLiteAdapter.ts +20 -5
package/dist/SQLiteAdapter.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
24
|
-
"@quatrain/core": "^1.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
|
},
|
package/src/SQLiteAdapter.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|