resolve-local-event-broker
Version:
The reSolve framework's event broker for applications on a local machine.
56 lines (43 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _lifecycleErrors = require("./lifecycle-errors");
var _constants = require("../constants");
async function dropDatabase({
database: {
runRawQuery,
escapeId
}
}) {
const notificationsTableNameAsId = escapeId(_constants.NOTIFICATIONS_TABLE_NAME);
const subscribersTableNameAsId = escapeId(_constants.SUBSCRIBERS_TABLE_NAME);
const batchesTableNameAsId = escapeId(_constants.BATCHES_TABLE_NAME);
const notificationsSubscriptionIdIndexNameAsId = escapeId(`${_constants.NOTIFICATIONS_TABLE_NAME}-subscriptionId`);
const notificationsBatchIdIndexNameAsId = escapeId(`${_constants.NOTIFICATIONS_TABLE_NAME}-batchId`);
const subscribersEventSubscriberIndexNameAsId = escapeId(`${_constants.SUBSCRIBERS_TABLE_NAME}-eventSubscriber`);
const batchesBatchIdIndexNameAsId = escapeId(`${_constants.BATCHES_TABLE_NAME}-batchId`);
try {
await runRawQuery(`
DROP TABLE IF EXISTS ${notificationsTableNameAsId};
DROP TABLE IF EXISTS ${subscribersTableNameAsId};
DROP TABLE IF EXISTS ${batchesTableNameAsId};
DROP INDEX IF EXISTS ${notificationsSubscriptionIdIndexNameAsId};
DROP INDEX IF EXISTS ${notificationsBatchIdIndexNameAsId};
DROP INDEX IF EXISTS ${subscribersEventSubscriberIndexNameAsId};
DROP INDEX IF EXISTS ${batchesBatchIdIndexNameAsId};
COMMIT;
BEGIN IMMEDIATE;
`);
} catch (error) {
if (error != null && /^SQLITE_ERROR: no such table.*?$/.test(error.message)) {
throw new _lifecycleErrors.ResourceNotExistError(`Double-free event-bus database failed`);
} else {
throw error;
}
}
}
var _default = dropDatabase;
exports.default = _default;
//# sourceMappingURL=drop-database.js.map