@restorecommerce/chassis-srv 1.6.4 → 1.6.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.
- package/eslint.config.mjs +22 -0
- package/lib/cache/index.js +15 -25
- package/lib/cache/index.js.map +1 -1
- package/lib/command-interface/index.js +42 -36
- package/lib/command-interface/index.js.map +1 -1
- package/lib/database/index.d.ts +3 -3
- package/lib/database/index.js +4 -2
- package/lib/database/index.js.map +1 -1
- package/lib/database/provider/arango/base.js +38 -38
- package/lib/database/provider/arango/base.js.map +1 -1
- package/lib/database/provider/arango/common.d.ts +4 -4
- package/lib/database/provider/arango/common.js +12 -12
- package/lib/database/provider/arango/common.js.map +1 -1
- package/lib/database/provider/arango/graph.d.ts +7 -7
- package/lib/database/provider/arango/graph.js +10 -11
- package/lib/database/provider/arango/graph.js.map +1 -1
- package/lib/database/provider/arango/index.js +1 -1
- package/lib/database/provider/arango/index.js.map +1 -1
- package/lib/database/provider/arango/utils.d.ts +1 -1
- package/lib/database/provider/arango/utils.js +11 -11
- package/lib/database/provider/arango/utils.js.map +1 -1
- package/lib/database/provider/nedb/index.d.ts +1 -1
- package/lib/database/provider/nedb/index.js +9 -9
- package/lib/database/provider/nedb/index.js.map +1 -1
- package/lib/microservice/server.js +2 -2
- package/lib/microservice/server.js.map +1 -1
- package/lib/microservice/transport/provider/grpc/index.d.ts +1 -0
- package/lib/microservice/transport/provider/grpc/index.js +3 -5
- package/lib/microservice/transport/provider/grpc/index.js.map +1 -1
- package/package.json +28 -29
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
import eslint from '@eslint/js';
|
|
4
|
+
import { RuleTester } from 'eslint';
|
|
5
|
+
import tseslint from 'typescript-eslint';
|
|
6
|
+
|
|
7
|
+
const rules = tseslint.config(
|
|
8
|
+
eslint.configs.recommended,
|
|
9
|
+
...tseslint.configs.recommended,
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
rules.push(
|
|
13
|
+
{
|
|
14
|
+
"rules": {
|
|
15
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
16
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
17
|
+
"prefer-rest-params": "off",
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export default rules;
|
package/lib/cache/index.js
CHANGED
|
@@ -25,7 +25,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.get = exports.register = void 0;
|
|
27
27
|
const _ = __importStar(require("lodash"));
|
|
28
|
-
const
|
|
28
|
+
const cache_manager_1 = require("cache-manager");
|
|
29
|
+
const keyv_1 = require("keyv");
|
|
30
|
+
const lru_cache_1 = require("lru-cache");
|
|
29
31
|
/**
|
|
30
32
|
* A key, value map containing cache providers.
|
|
31
33
|
* Cache providers are registered with the register function.
|
|
@@ -46,15 +48,15 @@ exports.register = register;
|
|
|
46
48
|
// add memory provider by default, since it is included with the cache-manager.
|
|
47
49
|
(0, exports.register)('memory', (config, logger) => {
|
|
48
50
|
const options = {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
length: config.length,
|
|
54
|
-
stale: config.stale,
|
|
55
|
-
ttl: config.ttl,
|
|
51
|
+
max: config?.max || 500,
|
|
52
|
+
dispose: config?.dispose,
|
|
53
|
+
allowStale: config?.allowStale,
|
|
54
|
+
ttl: config?.ttl || 5000,
|
|
56
55
|
};
|
|
57
|
-
|
|
56
|
+
const lruCache = new lru_cache_1.LRUCache(options);
|
|
57
|
+
const keyv = new keyv_1.Keyv({ store: lruCache });
|
|
58
|
+
const cache = (0, cache_manager_1.createCache)({ stores: [keyv] });
|
|
59
|
+
return cache;
|
|
58
60
|
});
|
|
59
61
|
/**
|
|
60
62
|
* Get a new cache instance.
|
|
@@ -66,22 +68,10 @@ const get = (config, logger) => {
|
|
|
66
68
|
if (_.isNil(config)) {
|
|
67
69
|
throw new Error('missing argument config');
|
|
68
70
|
}
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
const provider = providers[providerName];
|
|
75
|
-
if (_.isNil(provider)) {
|
|
76
|
-
throw new Error(`unknown ${providerName} cache store provider,
|
|
77
|
-
use function register to registrate the provider`);
|
|
78
|
-
}
|
|
79
|
-
return provider(cacheConfig, logger);
|
|
80
|
-
});
|
|
81
|
-
if (stores.length === 1) {
|
|
82
|
-
return stores[0];
|
|
83
|
-
}
|
|
84
|
-
return cacheManager.multiCaching(stores);
|
|
71
|
+
const providerName = config[0].provider;
|
|
72
|
+
const provider = providers[providerName];
|
|
73
|
+
const cache = provider(config, logger);
|
|
74
|
+
return cache;
|
|
85
75
|
};
|
|
86
76
|
exports.get = get;
|
|
87
77
|
//# sourceMappingURL=index.js.map
|
package/lib/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAC5B,iDAA4C;AAC5C,+BAA4B;AAC5B,yCAAqC;AAIrC;;;GAGG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,QAAa,EAAQ,EAAE;IAC5D,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEF,oBAAoB;AACpB,+EAA+E;AAC/E,IAAA,gBAAQ,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG;QACvB,OAAO,EAAE,MAAM,EAAE,OAAO;QACxB,UAAU,EAAE,MAAM,EAAE,UAAU;QAC9B,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI;KACzB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAA,2BAAW,EAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACI,MAAM,GAAG,GAAG,CAAC,MAAW,EAAE,MAAc,EAAO,EAAE;IACtD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,GAAG,OASd"}
|
|
@@ -31,7 +31,7 @@ const async = __importStar(require("async"));
|
|
|
31
31
|
const commandinterface_1 = require("@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/commandinterface");
|
|
32
32
|
const health_1 = require("@restorecommerce/rc-grpc-clients/dist/generated-server/grpc/health/v1/health");
|
|
33
33
|
// For some reason this is required
|
|
34
|
-
const
|
|
34
|
+
const crypto_1 = require("crypto");
|
|
35
35
|
(0, kafka_client_1.registerProtoMeta)(commandinterface_1.protoMetadata);
|
|
36
36
|
/**
|
|
37
37
|
* Base implementation.
|
|
@@ -227,7 +227,7 @@ class CommandInterface {
|
|
|
227
227
|
let intersection = _.intersection(restoreCollections, collections);
|
|
228
228
|
if (intersection.length > 0) {
|
|
229
229
|
intersection = _.intersection(intersection, topicLabels);
|
|
230
|
-
for (
|
|
230
|
+
for (const resource of intersection) {
|
|
231
231
|
const topicName = kafkaCfg[`${resource}.resource`].topic;
|
|
232
232
|
restoreEventSetup[topicName] = {
|
|
233
233
|
topic: await this.kafkaEvents.topic(topicName),
|
|
@@ -242,10 +242,16 @@ class CommandInterface {
|
|
|
242
242
|
this.logger.warn('No data was setup for the restore process.');
|
|
243
243
|
}
|
|
244
244
|
else {
|
|
245
|
-
const
|
|
245
|
+
const logger = this.logger;
|
|
246
|
+
const kafkaEvents = this.kafkaEvents;
|
|
247
|
+
const config = this.config;
|
|
248
|
+
const service = this.service;
|
|
249
|
+
const encodeMsg = this.encodeMsg;
|
|
250
|
+
const commandTopic = this.commandTopic;
|
|
251
|
+
const startToReceiveRestoreMessages = this.startToReceiveRestoreMessages;
|
|
246
252
|
// Start the restore process
|
|
247
253
|
this.logger.warn('restoring data');
|
|
248
|
-
for (
|
|
254
|
+
for (const topicName in restoreEventSetup) {
|
|
249
255
|
const topicSetup = restoreEventSetup[topicName];
|
|
250
256
|
const restoreTopic = topicSetup.topic;
|
|
251
257
|
const topicEvents = topicSetup.events;
|
|
@@ -253,7 +259,7 @@ class CommandInterface {
|
|
|
253
259
|
// so they don't get called during the restore process
|
|
254
260
|
const previousEvents = _.cloneDeep(restoreTopic.subscribed);
|
|
255
261
|
const listenersBackup = new Map();
|
|
256
|
-
for (
|
|
262
|
+
for (const event of previousEvents) {
|
|
257
263
|
listenersBackup.set(event, restoreTopic.emitter.listeners(event));
|
|
258
264
|
await restoreTopic.removeAllListeners(event);
|
|
259
265
|
}
|
|
@@ -263,7 +269,7 @@ class CommandInterface {
|
|
|
263
269
|
const ignoreOffsets = topicSetup.ignoreOffset;
|
|
264
270
|
const eventNames = _.keys(topicEvents);
|
|
265
271
|
this.logger.debug(`topic ${topicName} has current offset ${targetOffset}`);
|
|
266
|
-
const restoreGroupId = kafkaEventsCfg.groupId + '-restore-' +
|
|
272
|
+
const restoreGroupId = kafkaEventsCfg.groupId + '-restore-' + (0, crypto_1.randomBytes)(32).toString('hex');
|
|
267
273
|
const consumer = this.kafkaEvents.provider.client.consumer({
|
|
268
274
|
groupId: restoreGroupId
|
|
269
275
|
});
|
|
@@ -273,55 +279,55 @@ class CommandInterface {
|
|
|
273
279
|
const context = _.pick(message, ['offset', 'partition', 'topic']);
|
|
274
280
|
const eventListener = topicEvents[message.key];
|
|
275
281
|
// decode protobuf
|
|
276
|
-
let decodedMsg =
|
|
282
|
+
let decodedMsg = kafkaEvents.provider.decodeObject(kafkaEventsCfg, eventName, msg);
|
|
277
283
|
decodedMsg = _.pick(decodedMsg, _.keys(decodedMsg)); // preventing protobuf.js special fields
|
|
278
|
-
eventListener(decodedMsg, context,
|
|
284
|
+
eventListener(decodedMsg, context, config.get(), eventName).then(() => {
|
|
279
285
|
done();
|
|
280
286
|
}).catch((err) => {
|
|
281
|
-
|
|
287
|
+
logger.error(`Exception caught invoking restore listener for event ${eventName}`, { code: err.code, message: err.message, stack: err.stack });
|
|
282
288
|
done(err);
|
|
283
289
|
});
|
|
284
290
|
if (message.offset >= targetOffset) {
|
|
285
|
-
for (
|
|
291
|
+
for (const event of eventNames) {
|
|
286
292
|
restoreTopic.removeAllListeners(event).then(() => { }).catch((err) => {
|
|
287
|
-
|
|
293
|
+
logger.error('Error removing listeners after restore', { code: err.code, message: err.message, stack: err.stack });
|
|
288
294
|
});
|
|
289
295
|
}
|
|
290
|
-
for (
|
|
296
|
+
for (const event of previousEvents) {
|
|
291
297
|
const listeners = listenersBackup.get(event);
|
|
292
|
-
for (
|
|
298
|
+
for (const listener of listeners) {
|
|
293
299
|
restoreTopic.on(event, listener).then(() => { }).catch((err) => {
|
|
294
|
-
|
|
300
|
+
logger.error('Error subscribing to listeners after restore', { code: err.code, message: err.message, stack: err.stack });
|
|
295
301
|
});
|
|
296
302
|
}
|
|
297
303
|
}
|
|
298
304
|
consumer.stop().then(() => consumer.disconnect()).then(() => {
|
|
299
305
|
this.kafkaEvents.provider.admin.deleteGroups([restoreGroupId]).then(() => {
|
|
300
|
-
|
|
306
|
+
logger.debug('restore kafka group deleted');
|
|
301
307
|
const msg = {
|
|
302
308
|
topic: topicName,
|
|
303
309
|
offset: message.offset
|
|
304
310
|
};
|
|
305
|
-
|
|
306
|
-
services: _.keys(
|
|
307
|
-
payload:
|
|
311
|
+
commandTopic.emit('restoreResponse', {
|
|
312
|
+
services: _.keys(service),
|
|
313
|
+
payload: encodeMsg(msg)
|
|
308
314
|
}).then(() => {
|
|
309
|
-
|
|
315
|
+
logger.info('Restore response emitted');
|
|
310
316
|
}).catch((err) => {
|
|
311
|
-
|
|
317
|
+
logger.error('Error emitting command response', { code: err.code, message: err.message, stack: err.stack });
|
|
312
318
|
});
|
|
313
|
-
|
|
319
|
+
logger.info('restore process done');
|
|
314
320
|
}).catch(err => {
|
|
315
|
-
|
|
321
|
+
logger.error('Error deleting restore kafka group', { code: err.code, message: err.message, stack: err.stack });
|
|
316
322
|
});
|
|
317
323
|
}).catch(err => {
|
|
318
|
-
|
|
324
|
+
logger.error('Error stopping consumer', { code: err.code, message: err.message, stack: err.stack });
|
|
319
325
|
});
|
|
320
326
|
}
|
|
321
327
|
};
|
|
322
|
-
const asyncQueue =
|
|
328
|
+
const asyncQueue = startToReceiveRestoreMessages(restoreTopic, drainEvent);
|
|
323
329
|
await consumer.connect().catch(err => {
|
|
324
|
-
|
|
330
|
+
logger.error('error connecting consumer', { code: err.code, message: err.message, stack: err.stack });
|
|
325
331
|
throw err;
|
|
326
332
|
});
|
|
327
333
|
await consumer.subscribe({
|
|
@@ -331,7 +337,7 @@ class CommandInterface {
|
|
|
331
337
|
eachMessage: async (payload) => {
|
|
332
338
|
if (payload.message.key.toString() in topicEvents && !_.includes(ignoreOffsets, parseInt(payload.message.offset))) {
|
|
333
339
|
asyncQueue.push(payload.message);
|
|
334
|
-
|
|
340
|
+
logger.debug(`received message ${payload.message.offset}/${targetOffset}`);
|
|
335
341
|
}
|
|
336
342
|
}
|
|
337
343
|
});
|
|
@@ -492,8 +498,8 @@ class CommandInterface {
|
|
|
492
498
|
}
|
|
493
499
|
let response;
|
|
494
500
|
try {
|
|
495
|
-
|
|
496
|
-
for (
|
|
501
|
+
const configProperties = Object.keys(payload);
|
|
502
|
+
for (const key of configProperties) {
|
|
497
503
|
this.config.set(key, payload[key]);
|
|
498
504
|
}
|
|
499
505
|
response = {
|
|
@@ -525,8 +531,8 @@ class CommandInterface {
|
|
|
525
531
|
}
|
|
526
532
|
let response;
|
|
527
533
|
try {
|
|
528
|
-
|
|
529
|
-
for (
|
|
534
|
+
const configProperties = Object.keys(payload);
|
|
535
|
+
for (const key of configProperties) {
|
|
530
536
|
this.config.set(key, payload[key]);
|
|
531
537
|
}
|
|
532
538
|
response = {
|
|
@@ -566,7 +572,7 @@ class CommandInterface {
|
|
|
566
572
|
await this.redisClient.select(dbIndex);
|
|
567
573
|
try {
|
|
568
574
|
if (pattern != undefined) {
|
|
569
|
-
|
|
575
|
+
const flushPattern = '*' + pattern + '*';
|
|
570
576
|
this.logger.debug('Flushing cache wiht pattern', { dbIndex, flushPattern });
|
|
571
577
|
let scanIterator;
|
|
572
578
|
try {
|
|
@@ -621,15 +627,15 @@ class CommandInterface {
|
|
|
621
627
|
* @param resource
|
|
622
628
|
*/
|
|
623
629
|
makeResourcesRestoreSetup(db, resource) {
|
|
624
|
-
const
|
|
630
|
+
const decodeBufferField = this.decodeBufferField;
|
|
625
631
|
return {
|
|
626
632
|
[`${resource}Created`]: async function restoreCreated(message, ctx, config, eventName) {
|
|
627
|
-
|
|
633
|
+
decodeBufferField(message, resource);
|
|
628
634
|
await db.insert(`${resource}s`, message);
|
|
629
635
|
return {};
|
|
630
636
|
},
|
|
631
637
|
[`${resource}Modified`]: async function restoreModified(message, ctx, config, eventName) {
|
|
632
|
-
|
|
638
|
+
decodeBufferField(message, resource);
|
|
633
639
|
await db.update(`${resource}s`, { id: message.id }, _.omitBy(message, _.isNil));
|
|
634
640
|
return {};
|
|
635
641
|
},
|
|
@@ -660,7 +666,7 @@ class CommandInterface {
|
|
|
660
666
|
* @returns Arbitrary JSON
|
|
661
667
|
*/
|
|
662
668
|
decodeMsg(msg) {
|
|
663
|
-
return JSON.parse(Buffer.from(msg.value
|
|
669
|
+
return JSON.parse(Buffer.from(msg.value).toString());
|
|
664
670
|
}
|
|
665
671
|
/**
|
|
666
672
|
*
|
|
@@ -671,7 +677,7 @@ class CommandInterface {
|
|
|
671
677
|
if (msg) {
|
|
672
678
|
return {
|
|
673
679
|
type_url: 'payload',
|
|
674
|
-
value: Buffer.from(JSON.stringify(msg))
|
|
680
|
+
value: Buffer.from(JSON.stringify(msg))
|
|
675
681
|
};
|
|
676
682
|
}
|
|
677
683
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-interface/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-interface/index.ts"],"names":[],"mappings":"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"}
|
package/lib/database/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface DatabaseProvider {
|
|
|
31
31
|
dropView(viewName: string[]): Promise<any>;
|
|
32
32
|
}
|
|
33
33
|
export interface GraphDatabaseProvider extends DatabaseProvider {
|
|
34
|
-
createGraphDB(graphName: string): any;
|
|
34
|
+
createGraphDB(graphName: string, edgeDefinitions: any, options: object): any;
|
|
35
35
|
createVertex(collectionName: string, data: any): any;
|
|
36
36
|
getVertex(collectionName: string, documentHandle: string): any;
|
|
37
37
|
removeVertex(collectionName: string, documentHandles: string | string[]): any;
|
|
@@ -41,13 +41,13 @@ export interface GraphDatabaseProvider extends DatabaseProvider {
|
|
|
41
41
|
addVertexCollection(collectionName: string): any;
|
|
42
42
|
removeVertexCollection(collectionName: string, dropCollection?: boolean): any;
|
|
43
43
|
getGraphDB(): any;
|
|
44
|
-
createEdge(collectionName: string, data:
|
|
44
|
+
createEdge(collectionName: string, data: object, fromId?: string, toId?: string): any;
|
|
45
45
|
getEdge(collectionName: string, documentHandle: string): any;
|
|
46
46
|
getAllEdgesForVertice(collectionName: string, documentHandle: string): any;
|
|
47
47
|
getInEdges(collectionName: string, documentHandle: string): any;
|
|
48
48
|
getOutEdges(collectionName: string, documentHandle: string): any;
|
|
49
49
|
traversal(startVertex: Vertices, collectionName: Collection, opts: TraversalOptions, filters?: GraphFilters[]): Promise<TraversalResponse>;
|
|
50
|
-
addEdgeDefinition(collectionName: string, fromVertice:
|
|
50
|
+
addEdgeDefinition(collectionName: string, fromVertice: object | [object], toVertice: object | [object]): any;
|
|
51
51
|
removeEdgeDefinition(definitionName: string, dropCollection?: boolean): any;
|
|
52
52
|
listGraphs(): any;
|
|
53
53
|
removeEdge(collectionName: string, documentHandle: string): any;
|
package/lib/database/index.js
CHANGED
|
@@ -16,9 +16,11 @@ const register = (name, provider) => {
|
|
|
16
16
|
databases[name] = provider;
|
|
17
17
|
};
|
|
18
18
|
exports.register = register;
|
|
19
|
+
const arango_1 = require("./provider/arango");
|
|
20
|
+
const nedb_1 = require("./provider/nedb");
|
|
19
21
|
// Add default providers
|
|
20
|
-
(0, exports.register)('arango',
|
|
21
|
-
(0, exports.register)('nedb',
|
|
22
|
+
(0, exports.register)('arango', arango_1.create);
|
|
23
|
+
(0, exports.register)('nedb', nedb_1.create);
|
|
22
24
|
/**
|
|
23
25
|
* Get a new database connection.
|
|
24
26
|
* @param {Object} config Database configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":";;;AASA;;;GAGG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,QAAa,EAAO,EAAE;IAC3D,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":";;;AASA;;;GAGG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,QAAa,EAAO,EAAE;IAC3D,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC7B,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEF,8CAAuD;AACvD,0CAAiD;AAEjD,wBAAwB;AACxB,IAAA,gBAAQ,EAAC,QAAQ,EAAE,eAAQ,CAAC,CAAC;AAC7B,IAAA,gBAAQ,EAAC,MAAM,EAAE,aAAI,CAAC,CAAC;AAEvB;;;;;GAKG;AACI,MAAM,GAAG,GAAG,KAAK,EAAE,MAAW,EAAE,MAAe,EAAE,SAAkB,EAAE,UAAgB,EAA6B,EAAE;IACzH,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,QAAQ,iBAAiB,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC,CAAC;AANW,QAAA,GAAG,OAMd"}
|