From 01a8b2d1c9403286473bd98d4b9a0ce696a53573 Mon Sep 17 00:00:00 2001 From: anatole <anatole.romon@polytechnique.edu> Date: Fri, 2 Mar 2018 21:32:08 +0100 Subject: [PATCH] modifications de typeDefs --- src/graphql/schema.js | 14 +----------- src/graphql/typeDefs.js | 47 +++++++++++++++++++++++++++++------------ 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/src/graphql/schema.js b/src/graphql/schema.js index 5a20fd7..850c7ca 100644 --- a/src/graphql/schema.js +++ b/src/graphql/schema.js @@ -88,17 +88,13 @@ const resolvers = { } }, - Requests: { + AllRequests: { userJoinGroup : (obj, args, context) => { return db_utils.getUserJoinGroupRequests(context.user, args.groupUID); }, }, UserJoinGroup: { - requestID: (obj, args, context) => { - return obj.id; - }, - user : (obj, args, context) => { return db_utils.getUser(context.user, obj.useruid); /*return db_utils.getUser(context.user, "quentin.gendre"); @@ -115,10 +111,6 @@ const resolvers = { }, GroupJoinEvent : { - requestID: (obj, args, context) => { - return obj.id; - }, - event: (obj, args, context) => { return db_utils.getEvent(context.user, obj.eventuid); }, @@ -128,10 +120,6 @@ const resolvers = { }, YourGroupHostEvent : { - requestID: (obj, args, context) => { - return obj.id; - }, - event: (obj, args, context) => { return db_utils.getEvent(context.user, obj.eventuid); }, diff --git a/src/graphql/typeDefs.js b/src/graphql/typeDefs.js index 8ed83f0..9842a88 100644 --- a/src/graphql/typeDefs.js +++ b/src/graphql/typeDefs.js @@ -10,7 +10,9 @@ const RootTypes = ` allAnnouncements: [Announcement] asAdmin(groupUID: ID): AdminQuery - + asSpeaker(groupUID: ID): AdminQuery + asMember(groupUID: ID): AdminQuery + asViewer(groupUID: ID): AdminQuery searchTOL( givenName: String, @@ -68,6 +70,7 @@ const subMutations = ` type SpeakerMutation{ postEvent(name: String, date: String): Event + answerRequest(request: ID, accept : Boolean): Request } type MemberMutation { @@ -78,13 +81,26 @@ const subMutations = ` requestJoin: Group } + `; const subQueries = ` # Requête à la base de donnée nécessitant d'être administrateur. type AdminQuery{ isAdmin: Boolean - allRequests : Requests + allRequests : AllRequests + } + + type SpeakerQuery{ + isSpeaker: Boolean + } + + type MemberQuery{ + isMember: Boolean + } + + type ViewerQuery{ + isViewer: Boolean } `; @@ -187,27 +203,32 @@ const Event = ` const Requests = ` # Demandes effectuées au groupe. - type Requests { + type AllRequests { userJoinGroup: [UserJoinGroup] groupJoinEvent: [GroupJoinEvent] yourGroupHostEvent: [YourGroupHostEvent] } - # Demande d'un utilisateur désirant rejoindre le groupe. - type UserJoinGroup { + interface Request { # ID de la demande - requestID: ID - # Émetteur de la demande - user: User + id: ID! # message accompagnant la demande message: String } + # Demande d'un utilisateur désirant rejoindre le groupe. + type UserJoinGroup implements Request{ + id: ID! + message: String + # Émetteur de la demande + user: User + } + # Demande d'un groupe voulant rejoindre un événement - type GroupJoinEvent { - # ID de la demande - requestID: ID + type GroupJoinEvent implements Request{ + id: ID! + message: String # Événement concerné event: Event # Groupe voulant rejoindre l'événement @@ -215,9 +236,9 @@ const Requests = ` } # Demande au récipiendaire de rejoindre l'organisation d'un événement. - type YourGroupHostEvent { - # ID de la demande + type YourGroupHostEvent implements Request{ requestID: ID + message: String # Événement concerné event: Event # Groupe ayant publié l'évènement et lancé l'invitation -- GitLab