UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

77 lines (75 loc) • 2.61 kB
const require_bindings = require('../../db/bindings.cjs'); const require_drizzle_kit = require('../../db/drizzle-kit.cjs'); let effect = require("effect"); //#region src/services/db/ops.ts var DbOpsService = class DbOpsService extends effect.Context.Service()("bos/DbOpsService") { static Live = effect.Layer.effect(DbOpsService, effect.Effect.map(effect.Effect.all([require_bindings.DatabaseBindings, require_drizzle_kit.DrizzleKit]), ([bindings, drizzleKit]) => { return DbOpsService.of({ studio: (plugin) => effect.Effect.tryPromise({ try: async () => { const binding = await effect.Effect.runPromise(bindings.forPluginKey(plugin)); await effect.Effect.runPromise(drizzleKit.studio(binding)); return { status: "success", plugin: binding.key, source: binding.source, section: binding.section, databaseSecret: binding.identity.secretName, databaseUrl: binding.url, workspaceDir: binding.identity.workspaceDir }; }, catch: (error) => ({ status: "error", plugin, source: "remote", section: "", error: error instanceof Error ? error.message : "Unknown error" }) }), doctor: (plugin) => effect.Effect.tryPromise({ try: async () => { const binding = await effect.Effect.runPromise(bindings.forPluginKey(plugin)); const { diagnosePlugin } = await Promise.resolve().then(() => require("./doctor.cjs")); return { status: "success", ...await diagnosePlugin(binding) }; }, catch: (error) => ({ status: "error", plugin, slug: "", journalTable: "", journalSchema: "", diagnosis: "error", localMigrationCount: 0, appliedHashCount: 0, expectedTables: [], missingTables: [], error: error instanceof Error ? error.message : "Unknown error" }) }), repair: (plugin, mode) => effect.Effect.tryPromise({ try: async () => { const binding = await effect.Effect.runPromise(bindings.forPluginKey(plugin)); const { repairPlugin } = await Promise.resolve().then(() => require("./repair.cjs")); const result = await repairPlugin(binding, mode, drizzleKit); return { ...result, error: result.status === "error" ? result.message : void 0 }; }, catch: (error) => ({ status: "error", message: error instanceof Error ? error.message : "Unknown error", diagnosis: null, error: error instanceof Error ? error.message : "Unknown error" }) }) }); })); }; //#endregion exports.DbOpsService = DbOpsService; //# sourceMappingURL=ops.cjs.map