everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
50 lines (48 loc) • 1.48 kB
JavaScript
const require_load = require('../services/resolution/load.cjs');
const require_ops = require('../services/db/ops.cjs');
//#region src/handlers/db.ts
function missingConfig() {
return `${require_load.MISSING_CONFIG_MESSAGE} in current directory`;
}
function registerDb(builder) {
return {
dbStudio: builder.dbStudio.effect(function* (_opts, input) {
if (!require_load.findConfigPath()) return {
status: "error",
plugin: input.plugin,
source: "remote",
section: "",
error: missingConfig()
};
return yield* (yield* require_ops.DbOpsService).studio(input.plugin);
}),
dbDoctor: builder.dbDoctor.effect(function* (_opts, input) {
if (!require_load.findConfigPath()) return {
status: "error",
plugin: input.plugin,
slug: "",
journalTable: "",
journalSchema: "",
diagnosis: "error",
localMigrationCount: 0,
appliedHashCount: 0,
expectedTables: [],
missingTables: [],
error: missingConfig()
};
return yield* (yield* require_ops.DbOpsService).doctor(input.plugin);
}),
dbRepair: builder.dbRepair.effect(function* (_opts, input) {
if (!require_load.findConfigPath()) return {
status: "error",
message: require_load.MISSING_CONFIG_MESSAGE,
diagnosis: null,
error: "No config"
};
return yield* (yield* require_ops.DbOpsService).repair(input.plugin, input.mode ?? "history-reset");
})
};
}
//#endregion
exports.registerDb = registerDb;
//# sourceMappingURL=db.cjs.map