UNPKG

@leosprograms/vf-graphql-holochain

Version:

GraphQL schema bindings for the Holochain implementation of ValueFlows

29 lines 5.74 kB
/** * Recipe Process record reference resolvers * * @package: HoloREA * @since: 2019-08-31 */ import { DEFAULT_VF_MODULES, VfModule } from '../types.js'; import { extractEdges, mapZomeFn } from '../connection.js'; export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => { const hasHistory = -1 !== enabledVFModules.indexOf(VfModule.History); const hasProcessSpecification = -1 !== enabledVFModules.indexOf(VfModule.ProcessSpecification); const readRevision = mapZomeFn(dnaConfig, conductorUri, 'combined', 'recipe_exchange', 'get_revision'); const readRecipeFlows = mapZomeFn(dnaConfig, conductorUri, 'combined', 'indexing', 'query_recipe_flows'); return Object.assign({ recipeClauses: async (record) => { const recipeFlows = await readRecipeFlows({ params: { recipeClauseOf: record.id } }); return extractEdges(recipeFlows); }, recipeReciprocalClauses: async (record) => { const recipeFlows = await readRecipeFlows({ params: { recipeReciprocalClauseOf: record.id } }); return extractEdges(recipeFlows); } }, (hasHistory ? { revision: async (record, args) => { return (await readRevision(args)).recipeExchange; }, } : {})); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlRXhjaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvbHZlcnMvcmVjaXBlRXhjaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQWlCLGtCQUFrQixFQUFFLFFBQVEsRUFBdUcsTUFBTSxhQUFhLENBQUE7QUFDOUssT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQWUxRCxlQUFlLENBQUMsbUJBQStCLGtCQUFrQixFQUFFLFNBQXdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFO0lBQ25ILE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEUsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFOUYsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFxQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUMxSSxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQThDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO0lBRXJKLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEI7UUFDRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQXNCLEVBQXlCLEVBQUU7WUFDckUsTUFBTSxXQUFXLEdBQUcsTUFBTSxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNwRixPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsQyxDQUFDO1FBQ0QsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQXNCLEVBQXlCLEVBQUU7WUFDL0UsTUFBTSxXQUFXLEdBQUcsTUFBTSxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQzlGLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7S0FDRixFQUNELENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNaLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBc0IsRUFBRSxJQUEyQyxFQUEyQixFQUFFO1lBQy9HLE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQTtRQUNsRCxDQUFDO0tBQ0YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ1IsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVjaXBlIFByb2Nlc3MgcmVjb3JkIHJlZmVyZW5jZSByZXNvbHZlcnNcbiAqXG4gKiBAcGFja2FnZTogSG9sb1JFQVxuICogQHNpbmNlOiAgIDIwMTktMDgtMzFcbiAqL1xuXG5pbXBvcnQgeyBETkFJZE1hcHBpbmdzLCBERUZBVUxUX1ZGX01PRFVMRVMsIFZmTW9kdWxlLCBSZWFkUGFyYW1zLCBCeUlkLCBCeVJldmlzaW9uLCBQcm9jZXNzU3BlY2lmaWNhdGlvbkFkZHJlc3MsIEFkZHJlc3NhYmxlSWRlbnRpZmllciwgUmVjaXBlRmxvd0FkZHJlc3MgfSBmcm9tICcuLi90eXBlcy5qcydcbmltcG9ydCB7IGV4dHJhY3RFZGdlcywgbWFwWm9tZUZuIH0gZnJvbSAnLi4vY29ubmVjdGlvbi5qcydcblxuaW1wb3J0IHtcbiAgUmVjaXBlRXhjaGFuZ2UsXG4gIFJlY2lwZUV4Y2hhbmdlUmVzcG9uc2UsXG4gIEFjdGlvbixcbiAgUHJvY2Vzc1NwZWNpZmljYXRpb24sXG4gIFByb2Nlc3NTcGVjaWZpY2F0aW9uUmVzcG9uc2UsXG4gIFJlY2lwZUZsb3csXG4gIFJlY2lwZUZsb3dSZXNwb25zZSxcbiAgUmVjaXBlRmxvd0Nvbm5lY3Rpb24sXG59IGZyb20gJ0BsZW9zcHJvZ3JhbXMvdmYtZ3JhcGhxbCdcblxuaW1wb3J0IHsgUmVjaXBlRmxvd1NlYXJjaElucHV0IH0gZnJvbSAnLi96b21lU2VhcmNoSW5wdXRUeXBlcy5qcydcblxuZXhwb3J0IGRlZmF1bHQgKGVuYWJsZWRWRk1vZHVsZXM6IFZmTW9kdWxlW10gPSBERUZBVUxUX1ZGX01PRFVMRVMsIGRuYUNvbmZpZzogRE5BSWRNYXBwaW5ncywgY29uZHVjdG9yVXJpOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaGFzSGlzdG9yeSA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuSGlzdG9yeSlcbiAgY29uc3QgaGFzUHJvY2Vzc1NwZWNpZmljYXRpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLlByb2Nlc3NTcGVjaWZpY2F0aW9uKVxuICBcbiAgY29uc3QgcmVhZFJldmlzaW9uID0gbWFwWm9tZUZuPEJ5UmV2aXNpb24sIFJlY2lwZUV4Y2hhbmdlUmVzcG9uc2U+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnY29tYmluZWQnLCAncmVjaXBlX2V4Y2hhbmdlJywgJ2dldF9yZXZpc2lvbicpXG4gIGNvbnN0IHJlYWRSZWNpcGVGbG93cyA9IG1hcFpvbWVGbjxSZWNpcGVGbG93U2VhcmNoSW5wdXQsIFJlY2lwZUZsb3dDb25uZWN0aW9uPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ2luZGV4aW5nJywgJ3F1ZXJ5X3JlY2lwZV9mbG93cycpXG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oXG4gICAge1xuICAgICAgcmVjaXBlQ2xhdXNlczogYXN5bmMgKHJlY29yZDogUmVjaXBlRXhjaGFuZ2UpOiBQcm9taXNlPFJlY2lwZUZsb3dbXT4gPT4ge1xuICAgICAgICBjb25zdCByZWNpcGVGbG93cyA9IGF3YWl0IHJlYWRSZWNpcGVGbG93cyh7IHBhcmFtczogeyByZWNpcGVDbGF1c2VPZjogcmVjb3JkLmlkIH0gfSlcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RFZGdlcyhyZWNpcGVGbG93cylcbiAgICAgIH0sXG4gICAgICByZWNpcGVSZWNpcHJvY2FsQ2xhdXNlczogYXN5bmMgKHJlY29yZDogUmVjaXBlRXhjaGFuZ2UpOiBQcm9taXNlPFJlY2lwZUZsb3dbXT4gPT4ge1xuICAgICAgICBjb25zdCByZWNpcGVGbG93cyA9IGF3YWl0IHJlYWRSZWNpcGVGbG93cyh7IHBhcmFtczogeyByZWNpcGVSZWNpcHJvY2FsQ2xhdXNlT2Y6IHJlY29yZC5pZCB9IH0pXG4gICAgICAgIHJldHVybiBleHRyYWN0RWRnZXMocmVjaXBlRmxvd3MpXG4gICAgICB9XG4gICAgfSwgICAgXG4gICAgKGhhc0hpc3RvcnkgPyB7XG4gICAgICByZXZpc2lvbjogYXN5bmMgKHJlY29yZDogUmVjaXBlRXhjaGFuZ2UsIGFyZ3M6IHsgcmV2aXNpb25JZDogQWRkcmVzc2FibGVJZGVudGlmaWVyIH0pOiBQcm9taXNlPFJlY2lwZUV4Y2hhbmdlPiA9PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgcmVhZFJldmlzaW9uKGFyZ3MpKS5yZWNpcGVFeGNoYW5nZVxuICAgICAgfSxcbiAgICB9IDoge30pLFxuICApXG59XG4iXX0=