diff --git a/server/src/links/events.js b/server/src/links/events.js index 3210c9dff..91d6e67e9 100644 --- a/server/src/links/events.js +++ b/server/src/links/events.js @@ -3,8 +3,20 @@ export const linkSchemaDefs = extend type events_Event { host: users_User } + extend type events_Inviter { + inviter: users_User + } + extend type events_Formula { + owner: users_User + } + extend type events_Plotter { + owner: users_User + } extend type events_Participant { - team: teams_Team + participant: teams_Team + } + extend type events_Invitation { + invitee: teams_Team } ` @@ -24,10 +36,70 @@ export const resolver = (usersSchema, teamsSchema) => ({ } } }, + events_Inviter: { + inviter: { + fragment: `fragment UserFragment on events_Inviter{inviterId}`, + resolve ({inviter : id}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: usersSchema, + operation: 'query', + fieldName: 'users_User', + args: { id }, + context, + info + }) + } + } + }, + events_Formula: { + owner: { + fragment: `fragment UserFragment on events_Formula{ownerId}`, + resolve ({owner : id}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: usersSchema, + operation: 'query', + fieldName: 'users_User', + args: { id }, + context, + info + }) + } + } + }, + events_Plotter: { + owner: { + fragment: `fragment UserFragment on events_Plotter{ownerId}`, + resolve ({owner : id}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: usersSchema, + operation: 'query', + fieldName: 'users_User', + args: { id }, + context, + info + }) + } + } + }, events_Participant: { - team: { - fragment: `fragment TeamFragment on events_Participant{teamId}`, - resolve ({teamId}, args, context, info) { + participant: { + fragment: `fragment TeamFragment on events_Participant{participantId}`, + resolve ({participantId : teamId}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: teamsSchema, + operation: 'query', + fieldName: 'teams_TeamById', + args: { teamId }, + context, + info + }) + } + } + }, + events_Invitation: { + invitee: { + fragment: `fragment TeamFragment on events_Invitation{inviteeId}`, + resolve ({inviteeId : teamId}, args, context, info) { return info.mergeInfo.delegateToSchema({ schema: teamsSchema, operation: 'query',