@valueflows/vf-graphql-holochain
Version:
GraphQL schema bindings for the Holochain implementation of ValueFlows
32 lines • 4.89 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, 'agreement', 'agreement', 'create_agreement');
const runUpdate = mapZomeFn(dnaConfig, conductorUri, 'agreement', 'agreement', 'update_agreement');
const runDelete = mapZomeFn(dnaConfig, conductorUri, 'agreement', '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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyZWVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbXV0YXRpb25zL2FncmVlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUdILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQW1CNUMsZUFBZSxDQUFDLFNBQXdCLEVBQUUsWUFBb0IsRUFBRSxFQUFFO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBZ0MsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUE7SUFDakksTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFnQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUNqSSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQXNCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBRXZILE1BQU0sZUFBZSxHQUFrQixLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzFELDJEQUEyRDtRQUMzRCxrRkFBa0Y7UUFDbEYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7U0FDcEM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBa0IsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUMxRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxNQUFNLGVBQWUsR0FBa0IsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUMxRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDLENBQUE7SUFFRCxPQUFPO1FBQ0wsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO0tBQ2hCLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFncmVlbWVudCBDUlVEIG9wZXJhdGlvbnNcbiAqXG4gKiBAcGFja2FnZTogaFJFQVxuICogQHNpbmNlOiAgIDIwMjAtMDYtMTlcbiAqL1xuXG5pbXBvcnQgeyBCeVJldmlzaW9uLCBETkFJZE1hcHBpbmdzIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5pbXBvcnQgeyBtYXBab21lRm4gfSBmcm9tICcuLi9jb25uZWN0aW9uLmpzJ1xuaW1wb3J0IHsgZGVsZXRlSGFuZGxlciB9IGZyb20gJy4vJ1xuXG5pbXBvcnQge1xuICBBZ3JlZW1lbnRDcmVhdGVQYXJhbXMsXG4gIEFncmVlbWVudFVwZGF0ZVBhcmFtcyxcbiAgQWdyZWVtZW50UmVzcG9uc2UsXG59IGZyb20gJ0B2YWx1ZWZsb3dzL3ZmLWdyYXBocWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQXJncyB7XG4gIGFncmVlbWVudDogQWdyZWVtZW50Q3JlYXRlUGFyYW1zLFxufVxuZXhwb3J0IHR5cGUgY3JlYXRlSGFuZGxlciA9IChyb290OiBhbnksIGFyZ3M6IENyZWF0ZUFyZ3MpID0+IFByb21pc2U8QWdyZWVtZW50UmVzcG9uc2U+XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXJncyB7XG4gIGFncmVlbWVudDogQWdyZWVtZW50VXBkYXRlUGFyYW1zLFxufVxuZXhwb3J0IHR5cGUgdXBkYXRlSGFuZGxlciA9IChyb290OiBhbnksIGFyZ3M6IFVwZGF0ZUFyZ3MpID0+IFByb21pc2U8QWdyZWVtZW50UmVzcG9uc2U+XG5cbmV4cG9ydCBkZWZhdWx0IChkbmFDb25maWc6IEROQUlkTWFwcGluZ3MsIGNvbmR1Y3RvclVyaTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHJ1bkNyZWF0ZSA9IG1hcFpvbWVGbjxDcmVhdGVBcmdzLCBBZ3JlZW1lbnRSZXNwb25zZT4oZG5hQ29uZmlnLCBjb25kdWN0b3JVcmksICdhZ3JlZW1lbnQnLCAnYWdyZWVtZW50JywgJ2NyZWF0ZV9hZ3JlZW1lbnQnKVxuICBjb25zdCBydW5VcGRhdGUgPSBtYXBab21lRm48VXBkYXRlQXJncywgQWdyZWVtZW50UmVzcG9uc2U+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnYWdyZWVtZW50JywgJ2FncmVlbWVudCcsICd1cGRhdGVfYWdyZWVtZW50JylcbiAgY29uc3QgcnVuRGVsZXRlID0gbWFwWm9tZUZuPEJ5UmV2aXNpb24sIGJvb2xlYW4+KGRuYUNvbmZpZywgY29uZHVjdG9yVXJpLCAnYWdyZWVtZW50JywgJ2FncmVlbWVudCcsICdkZWxldGVfYWdyZWVtZW50JylcblxuICBjb25zdCBjcmVhdGVBZ3JlZW1lbnQ6IGNyZWF0ZUhhbmRsZXIgPSBhc3luYyAocm9vdCwgYXJncykgPT4ge1xuICAgIC8vIDpTSE9OSzogSW5qZWN0IGN1cnJlbnQgdGltZSBhcyBgY3JlYXRlZGAgaWYgbm90IHByZXNlbnQuXG4gICAgLy8gICAgICAgICBOb3QgdG8gc3BlYywgYnV0IG5lZWRlZCBmb3IgZW50cm9weSB0byBhdm9pZCBoYXNoIGNvbGxpc2lvbnMgKGZvciBub3cpLlxuICAgIGlmICghYXJncy5hZ3JlZW1lbnQuY3JlYXRlZCkge1xuICAgICAgYXJncy5hZ3JlZW1lbnQuY3JlYXRlZCA9IG5ldyBEYXRlKClcbiAgICB9XG4gICAgcmV0dXJuIHJ1bkNyZWF0ZShhcmdzKVxuICB9XG5cbiAgY29uc3QgdXBkYXRlQWdyZWVtZW50OiB1cGRhdGVIYW5kbGVyID0gYXN5bmMgKHJvb3QsIGFyZ3MpID0+IHtcbiAgICByZXR1cm4gcnVuVXBkYXRlKGFyZ3MpXG4gIH1cblxuICBjb25zdCBkZWxldGVBZ3JlZW1lbnQ6IGRlbGV0ZUhhbmRsZXIgPSBhc3luYyAocm9vdCwgYXJncykgPT4ge1xuICAgIHJldHVybiBydW5EZWxldGUoYXJncylcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY3JlYXRlQWdyZWVtZW50LFxuICAgIHVwZGF0ZUFncmVlbWVudCxcbiAgICBkZWxldGVBZ3JlZW1lbnQsXG4gIH1cbn1cbiJdfQ==