@leosprograms/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
24 lines • 4.33 kB
JavaScript
/**
* Resolvers for Proposal fields
*
* @package: HoloREA
* @since: 2019-08-27
*/
import { DEFAULT_VF_MODULES, VfModule } from '../types.js';
import { mapZomeFn } from '../connection.js';
export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => {
const hasIntent = -1 !== enabledVFModules.indexOf(VfModule.Intent);
const readProposal = mapZomeFn(dnaConfig, conductorUri, 'combined', 'proposal', 'get_proposal');
const readIntent = mapZomeFn(dnaConfig, conductorUri, 'combined', 'intent', 'get_intent');
return Object.assign({
publishedIn: async (record) => {
return (await readProposal({ address: record.publishedIn })).proposal;
},
}, (hasIntent ? {
publishes: async (record) => {
const res = await readIntent({ address: record.publishes });
return (await readIntent({ address: record.publishes })).intent;
},
} : {}));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zZWRJbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvbHZlcnMvcHJvcG9zZWRJbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQWlCLGtCQUFrQixFQUFFLFFBQVEsRUFBOEMsTUFBTSxhQUFhLENBQUE7QUFDckgsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQTtBQVkxRCxlQUFlLENBQUMsbUJBQStCLGtCQUFrQixFQUFFLFNBQXdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFO0lBQ25ILE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFbEUsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUErQixTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDN0gsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUE2QixTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFFckgsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQjtRQUNFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBd0MsRUFBcUIsRUFBRTtZQUNqRixPQUFPLENBQUMsTUFBTSxZQUFZLENBQUMsRUFBQyxPQUFPLEVBQUMsTUFBTSxDQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7UUFDcEUsQ0FBQztLQUNGLEVBQ0QsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ1gsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFvQyxFQUFtQixFQUFFO1lBQ3pFLE1BQU0sR0FBRyxHQUFHLE1BQU0sVUFBVSxDQUFDLEVBQUMsT0FBTyxFQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFBO1lBQ3hELE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxFQUFDLE9BQU8sRUFBQyxNQUFNLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUM5RCxDQUFDO0tBQ0YsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ1IsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb2x2ZXJzIGZvciBQcm9wb3NhbCBmaWVsZHNcbiAqXG4gKiBAcGFja2FnZTogSG9sb1JFQVxuICogQHNpbmNlOiAgIDIwMTktMDgtMjdcbiAqL1xuXG5pbXBvcnQgeyBETkFJZE1hcHBpbmdzLCBERUZBVUxUX1ZGX01PRFVMRVMsIFZmTW9kdWxlLCBSZWFkUGFyYW1zLCBQcm9wb3NhbEFkZHJlc3MsIEludGVudEFkZHJlc3MgfSBmcm9tICcuLi90eXBlcy5qcydcbmltcG9ydCB7IG1hcFpvbWVGbiwgZXh0cmFjdEVkZ2VzIH0gZnJvbSAnLi4vY29ubmVjdGlvbi5qcydcbmltcG9ydCB7IEludGVudFNlYXJjaElucHV0IH0gZnJvbSAnLi96b21lU2VhcmNoSW5wdXRUeXBlcy5qcydcblxuaW1wb3J0IHtcbiAgUHJvcG9zYWwsXG4gIEludGVudCxcbiAgUHJvcG9zZWRJbnRlbnQsXG4gIFByb3Bvc2FsUmVzcG9uc2UsXG4gIEludGVudFJlc3BvbnNlLFxuICBJbnRlbnRDb25uZWN0aW9uXG59IGZyb20gJ0BsZW9zcHJvZ3JhbXMvdmYtZ3JhcGhxbCdcblxuZXhwb3J0IGRlZmF1bHQgKGVuYWJsZWRWRk1vZHVsZXM6IFZmTW9kdWxlW10gPSBERUZBVUxUX1ZGX01PRFVMRVMsIGRuYUNvbmZpZzogRE5BSWRNYXBwaW5ncywgY29uZHVjdG9yVXJpOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaGFzSW50ZW50ID0gLTEgIT09IGVuYWJsZWRWRk1vZHVsZXMuaW5kZXhPZihWZk1vZHVsZS5JbnRlbnQpXG5cbiAgY29uc3QgcmVhZFByb3Bvc2FsID0gbWFwWm9tZUZuPFJlYWRQYXJhbXMsIFByb3Bvc2FsUmVzcG9uc2U+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnY29tYmluZWQnLCAncHJvcG9zYWwnLCAnZ2V0X3Byb3Bvc2FsJylcbiAgY29uc3QgcmVhZEludGVudCA9IG1hcFpvbWVGbjxSZWFkUGFyYW1zLCBJbnRlbnRSZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdjb21iaW5lZCcsICdpbnRlbnQnLCAnZ2V0X2ludGVudCcpXG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oXG4gICAge1xuICAgICAgcHVibGlzaGVkSW46IGFzeW5jIChyZWNvcmQ6IHsgcHVibGlzaGVkSW46IFByb3Bvc2FsQWRkcmVzcyB9KTogUHJvbWlzZTxQcm9wb3NhbD4gPT4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHJlYWRQcm9wb3NhbCh7YWRkcmVzczpyZWNvcmQucHVibGlzaGVkSW59KSkucHJvcG9zYWxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAoaGFzSW50ZW50ID8ge1xuICAgICAgcHVibGlzaGVzOiBhc3luYyAocmVjb3JkOiB7IHB1Ymxpc2hlczogSW50ZW50QWRkcmVzcyB9KTogUHJvbWlzZTxJbnRlbnQ+ID0+IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVhZEludGVudCh7YWRkcmVzczpyZWNvcmQucHVibGlzaGVzfSlcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkSW50ZW50KHthZGRyZXNzOnJlY29yZC5wdWJsaXNoZXN9KSkuaW50ZW50XG4gICAgICB9LFxuICAgIH0gOiB7fSksXG4gIClcbn1cbiJdfQ==