@sugarcube/plugin-sql
Version:
Import and export Sugarcube data and queries from and to SQL databases.
47 lines (41 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fp = require("lodash/fp");
var _core = require("@sugarcube/core");
var _db = require("../db");
const plugin = async (envelope, {
cfg,
log
}) => {
const debug = (0, _fp.get)("sql.debug", cfg);
const engine = (0, _fp.get)("sql.engine", cfg);
const database = (0, _fp.get)("sql.database", cfg);
const host = (0, _fp.get)("sql.host", cfg);
const port = (0, _fp.get)("sql.port", cfg);
const user = (0, _fp.get)("sql.user", cfg);
const password = (0, _fp.get)("sql.password", cfg);
let db;
if (engine === "postgres") db = (0, _db.connectPostgres)({
database,
host,
port,
user,
password,
debug
});
if (engine === "sqlite") db = (0, _db.connectSqlite)({
database: database === "sugarcube" ? `${database}.db` : database,
debug
}, log);
const units = await db.units.listAll();
log.info(`Fetched ${units.length} units from the database.`);
db.close();
return _core.envelope.concatData(units, envelope);
};
plugin.argv = {};
plugin.desc = "Import data into the pipeline.";
var _default = plugin;
exports.default = _default;