2
0
mirror of https://github.com/frappe/books.git synced 2024-09-21 03:39:02 +00:00
books/frappe/model/runPatches.js
18alantom 47e6493699 incr: type observable
- convert several to ES6
2022-03-18 16:02:46 +05:30

27 lines
625 B
JavaScript

import frappe from 'frappe';
export default async function runPatches(patchList) {
const patchesAlreadyRun = (
await frappe.db.knex('PatchRun').select('name')
).map(({ name }) => name);
for (let patch of patchList) {
if (patchesAlreadyRun.includes(patch.patchName)) {
continue;
}
await runPatch(patch);
}
}
async function runPatch({ patchName, patchFunction }) {
try {
await patchFunction();
const patchRun = frappe.getNewDoc('PatchRun');
patchRun.name = patchName;
await patchRun.insert();
} catch (error) {
console.error(`could not run ${patchName}`, error);
}
}