|
|
const prisma = require("../utils/prisma");const DocumentSyncRun = { statuses: { unknown: "unknown", exited: "exited", failed: "failed", success: "success", },
save: async function (queueId = null, status = null, result = {}) { try { if (!this.statuses.hasOwnProperty(status)) throw new Error( `DocumentSyncRun status ${status} is not a valid status.` );
const run = await prisma.document_sync_executions.create({ data: { queueId: Number(queueId), status: String(status), result: JSON.stringify(result), }, }); return run || null; } catch (error) { console.error(error.message); return null; } },
get: async function (clause = {}) { try { const queue = await prisma.document_sync_executions.findFirst({ where: clause, }); return queue || null; } catch (error) { console.error(error.message); return null; } },
where: async function ( clause = {}, limit = null, orderBy = null, include = {} ) { try { const results = await prisma.document_sync_executions.findMany({ where: clause, ...(limit !== null ? { take: limit } : {}), ...(orderBy !== null ? { orderBy } : {}), ...(include !== null ? { include } : {}), }); return results; } catch (error) { console.error(error.message); return []; } },
count: async function (clause = {}, limit = null, orderBy = {}) { try { const count = await prisma.document_sync_executions.count({ where: clause, ...(limit !== null ? { take: limit } : {}), ...(orderBy !== null ? { orderBy } : {}), }); return count; } catch (error) { console.error("FAILED TO COUNT DOCUMENTS.", error.message); return 0; } },
delete: async function (clause = {}) { try { await prisma.document_sync_executions.deleteMany({ where: clause }); return true; } catch (error) { console.error(error.message); return false; } },};
module.exports = { DocumentSyncRun };
|