From 918a03f5578e2525db140fb3a8cbf22ec2b73fcc Mon Sep 17 00:00:00 2001
From: Jure Triglav <juretriglav@gmail.com>
Date: Thu, 13 Aug 2020 15:21:23 +0200
Subject: [PATCH] feat: use manuscriptId relation for teams instead of object
 polymorphism

---
 server/model-team/src/graphql.js | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/server/model-team/src/graphql.js b/server/model-team/src/graphql.js
index 2e6cac6078..9ea0cf9fcf 100644
--- a/server/model-team/src/graphql.js
+++ b/server/model-team/src/graphql.js
@@ -62,9 +62,8 @@ const resolvers = {
       const t = await ctx.models.Team.query().findById(team.id)
       return t.$relatedQuery('members')
     },
-    object(team, vars, ctx) {
-      const { objectId, objectType } = team
-      return objectId && objectType ? { objectId, objectType } : null
+    manuscript(parent, vars, ctx) {
+      return ctx.models.Manuscript.query().findById(parent.manuscriptId)
     },
   },
   TeamMember: {
@@ -100,7 +99,7 @@ const typeDefs = `
     type: String!
     role: String!
     name: String
-    object: TeamObject
+    manuscript: Manuscript
     members: [TeamMember!]
     owners: [User]
     global: Boolean
@@ -136,16 +135,10 @@ const typeDefs = `
     aff: String
   }
 
-  type TeamObject {
-    objectId: ID!
-    objectType: String!
-  }
-
   input TeamInput {
     role: String
     name: String
-    objectId: ID
-    objectType: String
+    manuscriptId: ID
     members: [TeamMemberInput]
     global: Boolean
   }
@@ -153,8 +146,7 @@ const typeDefs = `
   input TeamWhereInput {
     role: String
     name: String
-    objectId: ID
-    objectType: String
+    manuscriptId: ID
     members: [TeamMemberInput]
     global: Boolean
     users: [ID!]
-- 
GitLab