@valueflows/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
41 lines • 5.69 kB
JavaScript
import { getOne, getAll } from './helpers.js';
export default (cell) => {
return {
agents: async (root, args) => {
const output = await getAll(cell, 'agent', args);
const formatted = output;
return formatted;
},
agent: async (root, args) => {
const entry = await getOne(cell, 'get_agent', args);
return entry;
},
organizations: async (root, args) => {
const output = await getAll(cell, 'organization', args);
return output;
},
organization: async (root, args) => {
const entry = await getOne(cell, 'agent', args);
if (entry?.agentType !== 'organization') {
return entry;
}
else {
throw new Error('Agent is not an organization');
}
},
people: async (root, args) => {
const output = await getAll(cell, 'person', args);
return output;
},
person: async (root, args) => {
const entry = await getOne(cell, 'agent', args);
if (entry?.agentType !== 'person') {
return entry;
}
else {
throw new Error('Agent is not a person');
}
}
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlcmllcy9hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUvQyxlQUFlLENBQUMsSUFBUyxFQUFFLEVBQUU7SUFDekIsT0FBTztRQUNILE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQWtCLEVBQTRCLEVBQUU7WUFDakUsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUNoRCxNQUFNLFNBQVMsR0FBRyxNQUF5QixDQUFBO1lBQzNDLE9BQU8sU0FBUyxDQUFBO1FBQ3BCLENBQUM7UUFDRCxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFvQixFQUFrQixFQUFFO1lBQ3hELE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDbkQsT0FBTyxLQUFjLENBQUE7UUFDekIsQ0FBQztRQUNELGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQWtCLEVBQTRCLEVBQUU7WUFDeEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN2RCxPQUFPLE1BQXlCLENBQUE7UUFDcEMsQ0FBQztRQUNELFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQW9CLEVBQWtCLEVBQUU7WUFDL0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUMvQyxJQUFJLEtBQUssRUFBRSxTQUFTLEtBQUssY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sS0FBYyxDQUFBO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUE7WUFDbkQsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFrQixFQUE0QixFQUFFO1lBQ2pFLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDakQsT0FBTyxNQUF5QixDQUFBO1FBQ3BDLENBQUM7UUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFvQixFQUFrQixFQUFFO1lBQ3pELE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDL0MsSUFBSSxLQUFLLEVBQUUsU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEtBQWMsQ0FBQTtZQUN6QixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1lBQzVDLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWdlbnRDb25uZWN0aW9uLFxuICAgIEFnZW50RWRnZSxcbiAgICBBZ2VudCxcbiAgfSBmcm9tICdAdmFsdWVmbG93cy92Zi1ncmFwaHFsJ1xuICBpbXBvcnQgeyBQYWdpbmdQYXJhbXMgfSBmcm9tICcuLi90eXBlcy5qcydcbiAgaW1wb3J0IHsgZ2V0T25lLCBnZXRBbGwgfSBmcm9tICcuL2hlbHBlcnMuanMnXG5cbmV4cG9ydCBkZWZhdWx0IChjZWxsOiBhbnkpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBhZ2VudHM6IGFzeW5jIChyb290LCBhcmdzOiBQYWdpbmdQYXJhbXMpOiBQcm9taXNlPEFnZW50Q29ubmVjdGlvbj4gPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgZ2V0QWxsKGNlbGwsICdhZ2VudCcsIGFyZ3MpXG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBvdXRwdXQgYXMgQWdlbnRDb25uZWN0aW9uXG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkXG4gICAgICAgIH0sXG4gICAgICAgIGFnZW50OiBhc3luYyAocm9vdCwgYXJnczogeyBpZDogc3RyaW5nIH0pOiBQcm9taXNlPEFnZW50PiA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IGdldE9uZShjZWxsLCAnZ2V0X2FnZW50JywgYXJncylcbiAgICAgICAgICAgIHJldHVybiBlbnRyeSBhcyBBZ2VudFxuICAgICAgICB9LFxuICAgICAgICBvcmdhbml6YXRpb25zOiBhc3luYyAocm9vdCwgYXJnczogUGFnaW5nUGFyYW1zKTogUHJvbWlzZTxBZ2VudENvbm5lY3Rpb24+ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGdldEFsbChjZWxsLCAnb3JnYW5pemF0aW9uJywgYXJncylcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQgYXMgQWdlbnRDb25uZWN0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIG9yZ2FuaXphdGlvbjogYXN5bmMgKHJvb3QsIGFyZ3M6IHsgaWQ6IHN0cmluZyB9KTogUHJvbWlzZTxBZ2VudD4gPT4ge1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBhd2FpdCBnZXRPbmUoY2VsbCwgJ2FnZW50JywgYXJncylcbiAgICAgICAgICAgIGlmIChlbnRyeT8uYWdlbnRUeXBlICE9PSAnb3JnYW5pemF0aW9uJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeSBhcyBBZ2VudFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FnZW50IGlzIG5vdCBhbiBvcmdhbml6YXRpb24nKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBwZW9wbGU6IGFzeW5jIChyb290LCBhcmdzOiBQYWdpbmdQYXJhbXMpOiBQcm9taXNlPEFnZW50Q29ubmVjdGlvbj4gPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgZ2V0QWxsKGNlbGwsICdwZXJzb24nLCBhcmdzKVxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dCBhcyBBZ2VudENvbm5lY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgcGVyc29uOiBhc3luYyAocm9vdCwgYXJnczogeyBpZDogc3RyaW5nIH0pOiBQcm9taXNlPEFnZW50PiA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IGdldE9uZShjZWxsLCAnYWdlbnQnLCBhcmdzKVxuICAgICAgICAgICAgaWYgKGVudHJ5Py5hZ2VudFR5cGUgIT09ICdwZXJzb24nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5IGFzIEFnZW50XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWdlbnQgaXMgbm90IGEgcGVyc29uJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==