@leosprograms/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
33 lines • 5.45 kB
JavaScript
/**
* Resolvers for ProcessSpecification fields
*
* @package: HoloREA
* @since: 2022-07-11
*/
import { DEFAULT_VF_MODULES, VfModule } from '../types.js';
import { mapZomeFn } from '../connection.js';
export default (enabledVFModules = DEFAULT_VF_MODULES, dnaConfig, conductorUri) => {
const hasHistory = -1 !== enabledVFModules.indexOf(VfModule.History);
const hasObservation = -1 !== enabledVFModules.indexOf(VfModule.Observation);
const hasProcess = -1 !== enabledVFModules.indexOf(VfModule.Process);
const hasCommitment = -1 !== enabledVFModules.indexOf(VfModule.Commitment);
const readRevision = mapZomeFn(dnaConfig, conductorUri, 'combined', 'process_specification', 'get_revision');
return Object.assign((hasObservation ? {
resourcesCurrentlyAtStage: () => {
throw new Error('resolver unimplemented');
},
} : {}), (hasCommitment ? {
commitmentsRequiringStage: () => {
throw new Error('resolver unimplemented');
},
} : {}), (hasProcess ? {
conformingProcesses: () => {
throw new Error('resolver unimplemented');
},
} : {}), (hasHistory ? {
revision: async (record, args) => {
return (await readRevision(args)).processSpecification;
},
} : {}));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc1NwZWNpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9yZXNvbHZlcnMvcHJvY2Vzc1NwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQWlCLGtCQUFrQixFQUFFLFFBQVEsRUFBcUMsTUFBTSxhQUFhLENBQUE7QUFDNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBTzVDLGVBQWUsQ0FBQyxtQkFBK0Isa0JBQWtCLEVBQUUsU0FBd0IsRUFBRSxZQUFvQixFQUFFLEVBQUU7SUFDbkgsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNwRSxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzVFLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUUxRSxNQUFNLFlBQVksR0FBRyxTQUFTLENBQTJDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRXRKLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztLQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNmLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztLQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNaLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztLQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNQLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNaLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBNEIsRUFBRSxJQUEyQyxFQUFpQyxFQUFFO1lBQzNILE9BQU8sQ0FBQyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFBO1FBQ3hELENBQUM7S0FDRixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvbHZlcnMgZm9yIFByb2Nlc3NTcGVjaWZpY2F0aW9uIGZpZWxkc1xuICpcbiAqIEBwYWNrYWdlOiBIb2xvUkVBXG4gKiBAc2luY2U6ICAgMjAyMi0wNy0xMVxuICovXG5cbmltcG9ydCB7IEROQUlkTWFwcGluZ3MsIERFRkFVTFRfVkZfTU9EVUxFUywgVmZNb2R1bGUsIEJ5UmV2aXNpb24sIEFkZHJlc3NhYmxlSWRlbnRpZmllciB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuaW1wb3J0IHsgbWFwWm9tZUZuIH0gZnJvbSAnLi4vY29ubmVjdGlvbi5qcydcblxuaW1wb3J0IHtcbiAgUHJvY2Vzc1NwZWNpZmljYXRpb24sXG4gIFByb2Nlc3NTcGVjaWZpY2F0aW9uUmVzcG9uc2UsXG59IGZyb20gJ0BsZW9zcHJvZ3JhbXMvdmYtZ3JhcGhxbCdcblxuZXhwb3J0IGRlZmF1bHQgKGVuYWJsZWRWRk1vZHVsZXM6IFZmTW9kdWxlW10gPSBERUZBVUxUX1ZGX01PRFVMRVMsIGRuYUNvbmZpZzogRE5BSWRNYXBwaW5ncywgY29uZHVjdG9yVXJpOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaGFzSGlzdG9yeSA9IC0xICE9PSBlbmFibGVkVkZNb2R1bGVzLmluZGV4T2YoVmZNb2R1bGUuSGlzdG9yeSlcbiAgY29uc3QgaGFzT2JzZXJ2YXRpb24gPSAtMSAhPT0gZW5hYmxlZFZGTW9kdWxlcy5pbmRleE9mKFZmTW9kdWxlLk9ic2VydmF0aW9uKVxuICBjb25zdCBoYXNQcm9jZXNzID0gLTEgIT09IGVuYWJsZWRWRk1vZHVsZXMuaW5kZXhPZihWZk1vZHVsZS5Qcm9jZXNzKVxuICBjb25zdCBoYXNDb21taXRtZW50ID0gLTEgIT09IGVuYWJsZWRWRk1vZHVsZXMuaW5kZXhPZihWZk1vZHVsZS5Db21taXRtZW50KVxuXG4gIGNvbnN0IHJlYWRSZXZpc2lvbiA9IG1hcFpvbWVGbjxCeVJldmlzaW9uLCBQcm9jZXNzU3BlY2lmaWNhdGlvblJlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ3Byb2Nlc3Nfc3BlY2lmaWNhdGlvbicsICdnZXRfcmV2aXNpb24nKVxuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIChoYXNPYnNlcnZhdGlvbiA/IHtcbiAgICAgIHJlc291cmNlc0N1cnJlbnRseUF0U3RhZ2U6ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXNvbHZlciB1bmltcGxlbWVudGVkJylcbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICAoaGFzQ29tbWl0bWVudCA/IHtcbiAgICAgIGNvbW1pdG1lbnRzUmVxdWlyaW5nU3RhZ2U6ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXNvbHZlciB1bmltcGxlbWVudGVkJylcbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICAoaGFzUHJvY2VzcyA/IHtcbiAgICAgIGNvbmZvcm1pbmdQcm9jZXNzZXM6ICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZXNvbHZlciB1bmltcGxlbWVudGVkJylcbiAgICAgIH0sXG4gICAgfSA6IHt9KSxcbiAgICAoaGFzSGlzdG9yeSA/IHtcbiAgICAgIHJldmlzaW9uOiBhc3luYyAocmVjb3JkOiBQcm9jZXNzU3BlY2lmaWNhdGlvbiwgYXJnczogeyByZXZpc2lvbklkOiBBZGRyZXNzYWJsZUlkZW50aWZpZXIgfSk6IFByb21pc2U8UHJvY2Vzc1NwZWNpZmljYXRpb24+ID0+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZWFkUmV2aXNpb24oYXJncykpLnByb2Nlc3NTcGVjaWZpY2F0aW9uXG4gICAgICB9LFxuICAgIH0gOiB7fSksXG4gIClcbn1cbiJdfQ==