34 lines
942 B
JavaScript
34 lines
942 B
JavaScript
import DbClient from ".";
|
|
import _ from "lodash";
|
|
export default async function DbSQL({ sql, values }) {
|
|
try {
|
|
const res = sql.match(/^select/i)
|
|
? DbClient.query(sql).all(...(values || []))
|
|
: DbClient.run(sql, values || []);
|
|
return {
|
|
success: true,
|
|
payload: Array.isArray(res) ? res : undefined,
|
|
singleRes: Array.isArray(res) ? res?.[0] : undefined,
|
|
postInsertReturn: Array.isArray(res)
|
|
? undefined
|
|
: {
|
|
affectedRows: res.changes,
|
|
insertId: Number(res.lastInsertRowid),
|
|
},
|
|
debug: {
|
|
sqlObj: {
|
|
sql,
|
|
values,
|
|
},
|
|
sql,
|
|
},
|
|
};
|
|
}
|
|
catch (error) {
|
|
return {
|
|
success: false,
|
|
error: error.message,
|
|
};
|
|
}
|
|
}
|