@leosprograms/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
32 lines • 4.88 kB
JavaScript
/**
* Agreement CRUD operations
*
* @package: hREA
* @since: 2020-06-19
*/
import { mapZomeFn } from '../connection.js';
export default (dnaConfig, conductorUri) => {
const runCreate = mapZomeFn(dnaConfig, conductorUri, 'combined', 'agreement', 'create_agreement');
const runUpdate = mapZomeFn(dnaConfig, conductorUri, 'combined', 'agreement', 'update_agreement');
const runDelete = mapZomeFn(dnaConfig, conductorUri, 'combined', 'agreement', 'delete_agreement');
const createAgreement = async (root, args) => {
// :SHONK: Inject current time as `created` if not present.
// Not to spec, but needed for entropy to avoid hash collisions (for now).
if (!args.agreement.created) {
args.agreement.created = new Date();
}
return runCreate(args);
};
const updateAgreement = async (root, args) => {
return runUpdate(args);
};
const deleteAgreement = async (root, args) => {
return runDelete(args);
};
return {
createAgreement,
updateAgreement,
deleteAgreement,
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyZWVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbXV0YXRpb25zL2FncmVlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUdILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQW1CNUMsZUFBZSxDQUFDLFNBQXdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBZ0MsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFDaEksTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFnQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUNoSSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQXNCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBRXRILE1BQU0sZUFBZSxHQUFrQixLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzFELDJEQUEyRDtRQUMzRCxrRkFBa0Y7UUFDbEYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7U0FDcEM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBa0IsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUMxRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBa0IsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUMxRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxPQUFPO1FBQ0wsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO0tBQ2hCLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFncmVlbWVudCBDUlVEIG9wZXJhdGlvbnNcbiAqXG4gKiBAcGFja2FnZTogaFJFQVxuICogQHNpbmNlOiAgIDIwMjAtMDYtMTlcbiAqL1xuXG5pbXBvcnQgeyBCeVJldmlzaW9uLCBETkFJZE1hcHBpbmdzIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5pbXBvcnQgeyBtYXBab21lRm4gfSBmcm9tICcuLi9jb25uZWN0aW9uLmpzJ1xuaW1wb3J0IHsgZGVsZXRlSGFuZGxlciB9IGZyb20gJy4vJ1xuXG5pbXBvcnQge1xuICBBZ3JlZW1lbnRDcmVhdGVQYXJhbXMsXG4gIEFncmVlbWVudFVwZGF0ZVBhcmFtcyxcbiAgQWdyZWVtZW50UmVzcG9uc2UsXG59IGZyb20gJ0BsZW9zcHJvZ3JhbXMvdmYtZ3JhcGhxbCdcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBcmdzIHtcbiAgYWdyZWVtZW50OiBBZ3JlZW1lbnRDcmVhdGVQYXJhbXMsXG59XG5leHBvcnQgdHlwZSBjcmVhdGVIYW5kbGVyID0gKHJvb3Q6IGFueSwgYXJnczogQ3JlYXRlQXJncykgPT4gUHJvbWlzZTxBZ3JlZW1lbnRSZXNwb25zZT5cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVBcmdzIHtcbiAgYWdyZWVtZW50OiBBZ3JlZW1lbnRVcGRhdGVQYXJhbXMsXG59XG5leHBvcnQgdHlwZSB1cGRhdGVIYW5kbGVyID0gKHJvb3Q6IGFueSwgYXJnczogVXBkYXRlQXJncykgPT4gUHJvbWlzZTxBZ3JlZW1lbnRSZXNwb25zZT5cblxuZXhwb3J0IGRlZmF1bHQgKGRuYUNvbmZpZzogRE5BSWRNYXBwaW5ncywgY29uZHVjdG9yVXJpOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcnVuQ3JlYXRlID0gbWFwWm9tZUZuPENyZWF0ZUFyZ3MsIEFncmVlbWVudFJlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ2FncmVlbWVudCcsICdjcmVhdGVfYWdyZWVtZW50JylcbiAgY29uc3QgcnVuVXBkYXRlID0gbWFwWm9tZUZuPFVwZGF0ZUFyZ3MsIEFncmVlbWVudFJlc3BvbnNlPihkbmFDb25maWcsIGNvbmR1Y3RvclVyaSwgJ2NvbWJpbmVkJywgJ2FncmVlbWVudCcsICd1cGRhdGVfYWdyZWVtZW50JylcbiAgY29uc3QgcnVuRGVsZXRlID0gbWFwWm9tZUZuPEJ5UmV2aXNpb24sIGJvb2xlYW4+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnY29tYmluZWQnLCAnYWdyZWVtZW50JywgJ2RlbGV0ZV9hZ3JlZW1lbnQnKVxuXG4gIGNvbnN0IGNyZWF0ZUFncmVlbWVudDogY3JlYXRlSGFuZGxlciA9IGFzeW5jIChyb290LCBhcmdzKSA9PiB7XG4gICAgLy8gOlNIT05LOiBJbmplY3QgY3VycmVudCB0aW1lIGFzIGBjcmVhdGVkYCBpZiBub3QgcHJlc2VudC5cbiAgICAvLyAgICAgICAgIE5vdCB0byBzcGVjLCBidXQgbmVlZGVkIGZvciBlbnRyb3B5IHRvIGF2b2lkIGhhc2ggY29sbGlzaW9ucyAoZm9yIG5vdykuXG4gICAgaWYgKCFhcmdzLmFncmVlbWVudC5jcmVhdGVkKSB7XG4gICAgICBhcmdzLmFncmVlbWVudC5jcmVhdGVkID0gbmV3IERhdGUoKVxuICAgIH1cbiAgICByZXR1cm4gcnVuQ3JlYXRlKGFyZ3MpXG4gIH1cblxuICBjb25zdCB1cGRhdGVBZ3JlZW1lbnQ6IHVwZGF0ZUhhbmRsZXIgPSBhc3luYyAocm9vdCwgYXJncykgPT4ge1xuICAgIHJldHVybiBydW5VcGRhdGUoYXJncylcbiAgfVxuXG4gIGNvbnN0IGRlbGV0ZUFncmVlbWVudDogZGVsZXRlSGFuZGxlciA9IGFzeW5jIChyb290LCBhcmdzKSA9PiB7XG4gICAgcmV0dXJuIHJ1bkRlbGV0ZShhcmdzKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjcmVhdGVBZ3JlZW1lbnQsXG4gICAgdXBkYXRlQWdyZWVtZW50LFxuICAgIGRlbGV0ZUFncmVlbWVudCxcbiAgfVxufVxuIl19