@energyweb/node-red-contrib-green-proof-worker
Version:
34 lines (33 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SqliteInject = void 0;
const tslib_1 = require("tslib");
const kysely_1 = require("kysely");
const z = tslib_1.__importStar(require("zod"));
const errors_1 = require("../errors");
const node_1 = require("../node");
const InputMessage = z.looseObject({});
const Config = z.object({
sqliteConfig: z.string().optional(),
});
const SqliteInject = (api) => class SqliteInject extends node_1.Node {
constructor(config) {
super(api, config, InputMessage);
const fallbackSqliteNodeId = this.api.findNodeIdByType('sqlite-config');
const parsedConfig = Config.parse(config);
const configNode = this.api.getNode(parsedConfig.sqliteConfig || fallbackSqliteNodeId || '');
if (!configNode) {
throw new errors_1.GGPError(errors_1.ErrorCode.SqliteConfigNotFound, {});
}
this.database = configNode.database;
}
onInput(message) {
this.sendBuilder(message)
.addPayload({
sqlite: this.database,
kyselySql: kysely_1.sql,
})
.sendToOutput(0);
}
};
exports.SqliteInject = SqliteInject;