From ce343f79a69cc250a464676b5854ab39a58ec20f Mon Sep 17 00:00:00 2001
From: ManifoldFR <wilson.jallet@gmail.com>
Date: Wed, 21 Mar 2018 00:11:26 +0100
Subject: [PATCH] Some new resolvers

---
 src/graphql/resolvers.js        | 48 ++++++++++++++++++++++-----------
 src/graphql/typeDefs/actions.js |  6 +++--
 2 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/src/graphql/resolvers.js b/src/graphql/resolvers.js
index 449504c..471cb3d 100644
--- a/src/graphql/resolvers.js
+++ b/src/graphql/resolvers.js
@@ -44,7 +44,25 @@ export const resolvers = {
             return user && connectors.getMetaGroupIfVisible(user, args.uid);
         },
 
-        // message query
+        /*
+         * Message queries.
+         */
+        allPosts: function(obj, args, context) {
+            console.log("Accessing all posts...");
+            return knex.select().from("posts");
+        },
+
+        post: function (obj, args, context) {
+            return knex.select().from("posts").where('id',args.id).then(res => res[0]);
+        },
+
+        allAnnouncements: function(obj, args, context) {
+            return knex.select().from("announcements");
+        },
+
+        allEvents: function(obj, args, context) {
+            return knex.select().from("events");
+        },
 
 
         // user queries
@@ -183,16 +201,14 @@ export const resolvers = {
 
     },
 
-    Post: {
-        authors: (obj, args, context) => {
-            return knex.select().from('groups').whereIn('uid',obj.authors);
-        }
-    },
-
     Message: {
 
-        __resolveType: function(obj){
+        __resolveType: function(obj) {
             return obj.type;
+        },
+
+        authors: (obj, args, context) => {
+            return knex.select().from('groups').whereIn('uid', obj.authors);
         }
 
     },
@@ -231,15 +247,15 @@ export const resolvers = {
     // @rights viewer(obj.uid)
     Group: {
         __resolveType: (obj) => {
+            console.log(obj);
             
-            switch(obj.type){
-            case "simple":
-                return "SimpleGroup";
-            case "meta":
-                return "MetaGroup";
-            default:
-                return undefined;
-            }
+            let isSimple = knex.select().from("groups").where("uid", obj.uid)
+                .then(res => {
+                    console.log(res);
+                    return res;
+                });
+            
+            return undefined;
         }
     },
 
diff --git a/src/graphql/typeDefs/actions.js b/src/graphql/typeDefs/actions.js
index affb80d..42db227 100644
--- a/src/graphql/typeDefs/actions.js
+++ b/src/graphql/typeDefs/actions.js
@@ -14,10 +14,12 @@ const RootTypes = `
         # message queries
 
         allMessages: [Message]
-        allEvents: [Event]
         message(id: ID!): Message
+        allPosts: [Post]
+        post(id: ID!): Post
+        allEvents: [Event]
         allAnnouncements: [Announcement]
-
+        
         # user queries
 
         user(uid: ID!) : User
-- 
GitLab