UNPKG

@leosprograms/vf-graphql-holochain

Version:

GraphQL schema bindings for the Holochain implementation of ValueFlows

49 lines (39 loc) 1.52 kB
/** * Economic event mutations * * @package: HoloREA * @since: 2019-05-27 */ import { ByRevision, DNAIdMappings } from '../types.js' import { mapZomeFn } from '../connection.js' import { deleteHandler } from './' import { EconomicEventCreateParams, EconomicResourceCreateParams, EconomicEventUpdateParams, EconomicEventResponse, } from '@leosprograms/vf-graphql' export interface CreateArgs { event: EconomicEventCreateParams, newInventoriedResource?: EconomicResourceCreateParams, } export type createHandler = (root: any, args: CreateArgs) => Promise<EconomicEventResponse> export interface UpdateArgs { event: EconomicEventUpdateParams, } export type updateHandler = (root: any, args: UpdateArgs) => Promise<EconomicEventResponse> export default (dnaConfig: DNAIdMappings, conductorUri: string) => { const runCreate = mapZomeFn<CreateArgs, EconomicEventResponse>(dnaConfig, conductorUri, 'combined', 'economic_event', 'create_economic_event') const runUpdate = mapZomeFn<UpdateArgs, EconomicEventResponse>(dnaConfig, conductorUri, 'combined', 'economic_event', 'update_economic_event') const runDelete = mapZomeFn<ByRevision, boolean>(dnaConfig, conductorUri, 'combined', 'economic_event', 'delete_economic_event') const createEconomicEvent: createHandler = async (root, args) => { return runCreate(args) } const updateEconomicEvent: updateHandler = async (root, args) => { return runUpdate(args) } return { createEconomicEvent, updateEconomicEvent, } }