@leosprograms/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
27 lines • 3.87 kB
JavaScript
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;
}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxhQUFhLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6RixNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxJQUFTLEVBQUUsSUFBWSxFQUFFLElBQVM7SUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDdkQsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQixPQUFPLGNBQWMsQ0FBQTtJQUN6QixDQUFDO0lBQ0QsZUFBZTtJQUNmLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM1QixTQUFTLEVBQUUsTUFBTTtRQUNqQixPQUFPLEVBQUUsaUJBQWlCLEdBQUcsSUFBSTtRQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7S0FDbkIsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0MsSUFBSSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDeEIsZUFBZSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDaEQsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDcEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTSxDQUFDLElBQVMsRUFBRSxJQUFZLEVBQUUsSUFBUztJQUMzRCxPQUFPLE1BQU0sc0JBQXNCLENBQy9CLElBQUksRUFDSixVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUM1QixpQkFBaUIsR0FBRyxJQUFJLEVBQ3hCLElBQUksQ0FDUCxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFBhZ2luYXRlZENvbGxlY3Rpb24sIHBsdXJhbGl6ZSwgZm9ybWF0UmVzSXRlbSwgfSBmcm9tIFwiLi4vdXRpbC5qc1wiO1xuaW1wb3J0IHsgYWRkRW50cnlUb1N0b3JlLCB1cGRhdGVMYXRlc3RSZXZpc2lvbiwgZ2V0TGF0ZXN0UmV2aXNpb25JZCB9IGZyb20gXCIuLi9zdG9yZS5qc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0T25lKGNlbGw6IGFueSwgdHlwZTogc3RyaW5nLCBhcmdzOiBhbnkpIHtcbiAgICBpZiAoIWFyZ3MuaWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgY2FjaGVkUmV2aXNpb24gPSBnZXRMYXRlc3RSZXZpc2lvbklkKGFyZ3MuaWQsIDEwKVxuICAgIGlmIChjYWNoZWRSZXZpc2lvbikge1xuICAgICAgICByZXR1cm4gY2FjaGVkUmV2aXNpb25cbiAgICB9XG4gICAgLy8gY29uc3QgY2FjaGVkXG4gICAgY29uc3QgcmVzID0gYXdhaXQgY2VsbC5jYWxsWm9tZSh7XG4gICAgICAgIHpvbWVfbmFtZTogXCJocmVhXCIsXG4gICAgICAgIGZuX25hbWU6IFwiZ2V0X2xhdGVzdF9yZWFfXCIgKyB0eXBlLFxuICAgICAgICBwYXlsb2FkOiBhcmdzLmlkLFxuICAgIH0pXG4gICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0UmVzSXRlbShyZXMsIGFyZ3MuaWQpXG4gICAgaWYgKGZvcm1hdHRlZD8ucmV2aXNpb25JZCkge1xuICAgICAgICBhZGRFbnRyeVRvU3RvcmUoZm9ybWF0dGVkLnJldmlzaW9uSWQsIGZvcm1hdHRlZClcbiAgICAgICAgdXBkYXRlTGF0ZXN0UmV2aXNpb24oZm9ybWF0dGVkLmlkLCBmb3JtYXR0ZWQpXG4gICAgfVxuICAgIHJldHVybiBmb3JtYXR0ZWRcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEFsbChjZWxsOiBhbnksIHR5cGU6IHN0cmluZywgYXJnczogYW55KSB7XG4gICAgcmV0dXJuIGF3YWl0IGdldFBhZ2luYXRlZENvbGxlY3Rpb24oXG4gICAgICAgIGNlbGwsIFxuICAgICAgICBcImdldF9hbGxfXCIgKyBwbHVyYWxpemUodHlwZSksIFxuICAgICAgICBcImdldF9sYXRlc3RfcmVhX1wiICsgdHlwZSxcbiAgICAgICAgYXJnc1xuICAgIClcbn0iXX0=