const prisma = require("../utils/prisma"); const CacheData = { new: async function (inputs = {}) { try { const cache = await prisma.cache_data.create({ data: inputs, }); return { cache, message: null }; } catch (error) { console.error(error.message); return { cache: null, message: error.message }; } }, get: async function (clause = {}, limit = null, orderBy = null) { try { const cache = await prisma.cache_data.findFirst({ where: clause, ...(limit !== null ? { take: limit } : {}), ...(orderBy !== null ? { orderBy } : {}), }); return cache || null; } catch (error) { console.error(error.message); return null; } }, delete: async function (clause = {}) { try { await prisma.cache_data.deleteMany({ where: clause, }); return true; } catch (error) { console.error(error.message); return false; } }, where: async function (clause = {}, limit = null, orderBy = null) { try { const caches = await prisma.cache_data.findMany({ where: clause, ...(limit !== null ? { take: limit } : {}), ...(orderBy !== null ? { orderBy } : {}), }); return caches; } catch (error) { console.error(error.message); return []; } }, count: async function (clause = {}) { try { const count = await prisma.cache_data.count({ where: clause, }); return count; } catch (error) { console.error(error.message); return 0; } }, }; module.exports = { CacheData };