@leosprograms/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
24 lines • 3.86 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';
import agentQueries from '../queries/agent.js';
export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => {
const hasAgent = -1 !== enabledVFModules.indexOf(VfModule.Agent);
const readProposal = mapZomeFn(dnaConfig, conductorUri, 'combined', 'proposal', 'get_proposal');
const readAgent = agentQueries(dnaConfig, conductorUri)['agent'];
return Object.assign({
proposed: async (record) => {
return (await readProposal({ address: record.proposed })).proposal;
},
}, (hasAgent ? {
proposedTo: async (record) => {
return readAgent(record, { id: record.proposedTo });
},
} : {}));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zZWRUby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Jlc29sdmVycy9wcm9wb3NlZFRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxRQUFRLEVBQTZDLE1BQU0sYUFBYSxDQUFBO0FBQ3BILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVM1QyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQTtBQUU5QyxlQUFlLENBQUMsbUJBQStCLGtCQUFrQixFQUFFLFNBQXdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFO0lBQ25ILE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUErQixTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDN0gsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUVoRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCO1FBQ0UsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFxQyxFQUFxQixFQUFFO1lBQzNFLE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQyxFQUFDLE9BQU8sRUFBQyxNQUFNLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUNqRSxDQUFDO0tBQ0YsRUFDRCxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDVixVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQW1DLEVBQWtCLEVBQUU7WUFDeEUsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO1FBQ3JELENBQUM7S0FDRixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvbHZlcnMgZm9yIFByb3Bvc2FsIGZpZWxkc1xuICpcbiAqIEBwYWNrYWdlOiBIb2xvUkVBXG4gKiBAc2luY2U6ICAgMjAxOS0wOC0yN1xuICovXG5cbmltcG9ydCB7IEROQUlkTWFwcGluZ3MsIERFRkFVTFRfVkZfTU9EVUxFUywgVmZNb2R1bGUsIFJlYWRQYXJhbXMsIFByb3Bvc2FsQWRkcmVzcywgQWdlbnRBZGRyZXNzIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5pbXBvcnQgeyBtYXBab21lRm4gfSBmcm9tICcuLi9jb25uZWN0aW9uLmpzJ1xuXG5pbXBvcnQge1xuICBQcm9wb3NhbCxcbiAgUHJvcG9zZWRUbyxcbiAgQWdlbnQsXG4gIFByb3Bvc2FsUmVzcG9uc2UsXG59IGZyb20gJ0BsZW9zcHJvZ3JhbXMvdmYtZ3JhcGhxbCdcblxuaW1wb3J0IGFnZW50UXVlcmllcyBmcm9tICcuLi9xdWVyaWVzL2FnZW50LmpzJ1xuXG5leHBvcnQgZGVmYXVsdCAoZW5hYmxlZFZGTW9kdWxlczogVmZNb2R1bGVbXSA9IERFRkFVTFRfVkZfTU9EVUxFUywgZG5hQ29uZmlnOiBETkFJZE1hcHBpbmdzLCBjb25kdWN0b3JVcmk6IHN0cmluZykgPT4ge1xuICBjb25zdCBoYXNBZ2VudCA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuQWdlbnQpXG5cbiAgY29uc3QgcmVhZFByb3Bvc2FsID0gbWFwWm9tZUZuPFJlYWRQYXJhbXMsIFByb3Bvc2FsUmVzcG9uc2U+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnY29tYmluZWQnLCAncHJvcG9zYWwnLCAnZ2V0X3Byb3Bvc2FsJylcbiAgY29uc3QgcmVhZEFnZW50ID0gYWdlbnRRdWVyaWVzKGRuYUNvbmZpZywgY29uZHVjdG9yVXJpKVsnYWdlbnQnXVxuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIHtcbiAgICAgIHByb3Bvc2VkOiBhc3luYyAocmVjb3JkOiB7IHByb3Bvc2VkOiBQcm9wb3NhbEFkZHJlc3MgfSk6IFByb21pc2U8UHJvcG9zYWw+ID0+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkUHJvcG9zYWwoe2FkZHJlc3M6cmVjb3JkLnByb3Bvc2VkfSkpLnByb3Bvc2FsXG4gICAgICB9LFxuICAgIH0sXG4gICAgKGhhc0FnZW50ID8ge1xuICAgICAgcHJvcG9zZWRUbzogYXN5bmMgKHJlY29yZDogeyBwcm9wb3NlZFRvOiBBZ2VudEFkZHJlc3N9KTogUHJvbWlzZTxBZ2VudD4gPT4ge1xuICAgICAgICByZXR1cm4gcmVhZEFnZW50KHJlY29yZCwgeyBpZDogcmVjb3JkLnByb3Bvc2VkVG8gfSlcbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgKVxufVxuIl19