UNPKG

@valueflows/vf-graphql-holochain

Version:

GraphQL schema bindings for the Holochain implementation of ValueFlows

30 lines 4.24 kB
import { getPaginatedCollection, pluralize, formatResItem, } from "../util.js"; import { addEntryToStore, updateLatestRevision, getLatestRevisionId } from "../store.js"; export async function getOne(cell, type, args) { if (!args.id) { return null; } // retrieve cached revision unless economic resource if (type != "economic_resource") { const cachedRevision = getLatestRevisionId(args.id, 10); if (cachedRevision) { return cachedRevision; } } // const cached const res = await cell.callZome({ zome_name: "hrea", fn_name: "get_latest_rea_" + type, payload: args.id, }); const formatted = formatResItem(res, args.id); if (formatted?.revisionId) { addEntryToStore(formatted.revisionId, formatted); updateLatestRevision(formatted.id, formatted); } return formatted; } export async function getAll(cell, type, args) { return await getPaginatedCollection(cell, "get_all_" + pluralize(type), "get_latest_rea_" + type, args); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxhQUFhLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6RixNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxJQUFTLEVBQUUsSUFBWSxFQUFFLElBQVM7SUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxJQUFJLElBQUksSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQzlCLE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDdkQsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixPQUFPLGNBQWMsQ0FBQTtRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7SUFDZixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUIsU0FBUyxFQUFFLE1BQU07UUFDakIsT0FBTyxFQUFFLGlCQUFpQixHQUFHLElBQUk7UUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO0tBQ25CLENBQUMsQ0FBQTtJQUNGLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdDLElBQUksU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLGVBQWUsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ2hELG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFBO0FBQ3BCLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxJQUFTLEVBQUUsSUFBWSxFQUFFLElBQVM7SUFDM0QsT0FBTyxNQUFNLHNCQUFzQixDQUMvQixJQUFJLEVBQ0osVUFBVSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDNUIsaUJBQWlCLEdBQUcsSUFBSSxFQUN4QixJQUFJLENBQ1AsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQYWdpbmF0ZWRDb2xsZWN0aW9uLCBwbHVyYWxpemUsIGZvcm1hdFJlc0l0ZW0sIH0gZnJvbSBcIi4uL3V0aWwuanNcIjtcbmltcG9ydCB7IGFkZEVudHJ5VG9TdG9yZSwgdXBkYXRlTGF0ZXN0UmV2aXNpb24sIGdldExhdGVzdFJldmlzaW9uSWQgfSBmcm9tIFwiLi4vc3RvcmUuanNcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9uZShjZWxsOiBhbnksIHR5cGU6IHN0cmluZywgYXJnczogYW55KSB7XG4gICAgaWYgKCFhcmdzLmlkKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgLy8gcmV0cmlldmUgY2FjaGVkIHJldmlzaW9uIHVubGVzcyBlY29ub21pYyByZXNvdXJjZVxuICAgIGlmICh0eXBlICE9IFwiZWNvbm9taWNfcmVzb3VyY2VcIikge1xuICAgICAgICBjb25zdCBjYWNoZWRSZXZpc2lvbiA9IGdldExhdGVzdFJldmlzaW9uSWQoYXJncy5pZCwgMTApXG4gICAgICAgIGlmIChjYWNoZWRSZXZpc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFJldmlzaW9uXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjb25zdCBjYWNoZWRcbiAgICBjb25zdCByZXMgPSBhd2FpdCBjZWxsLmNhbGxab21lKHtcbiAgICAgICAgem9tZV9uYW1lOiBcImhyZWFcIixcbiAgICAgICAgZm5fbmFtZTogXCJnZXRfbGF0ZXN0X3JlYV9cIiArIHR5cGUsXG4gICAgICAgIHBheWxvYWQ6IGFyZ3MuaWQsXG4gICAgfSlcbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRSZXNJdGVtKHJlcywgYXJncy5pZClcbiAgICBpZiAoZm9ybWF0dGVkPy5yZXZpc2lvbklkKSB7XG4gICAgICAgIGFkZEVudHJ5VG9TdG9yZShmb3JtYXR0ZWQucmV2aXNpb25JZCwgZm9ybWF0dGVkKVxuICAgICAgICB1cGRhdGVMYXRlc3RSZXZpc2lvbihmb3JtYXR0ZWQuaWQsIGZvcm1hdHRlZClcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdHRlZFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QWxsKGNlbGw6IGFueSwgdHlwZTogc3RyaW5nLCBhcmdzOiBhbnkpIHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0UGFnaW5hdGVkQ29sbGVjdGlvbihcbiAgICAgICAgY2VsbCwgXG4gICAgICAgIFwiZ2V0X2FsbF9cIiArIHBsdXJhbGl6ZSh0eXBlKSwgXG4gICAgICAgIFwiZ2V0X2xhdGVzdF9yZWFfXCIgKyB0eXBlLFxuICAgICAgICBhcmdzXG4gICAgKVxufSJdfQ==