From 2f5eae11e8bb0a2ad89709128764a0dd1b779463 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 16 Mar 2019 16:37:53 +0100 Subject: [PATCH 1/4] Adding strategizer to masterApp backend --- server/src/index.js | 13 ++++++++++--- server/src/links/teams.js | 20 +++++++++++++++++++- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/server/src/index.js b/server/src/index.js index 425989969..4a8380680 100644 --- a/server/src/index.js +++ b/server/src/index.js @@ -74,15 +74,19 @@ async function run () { 'logs_', process.env.LOGS_API_URL, process.env.LOGS_API_PRESHARED) + const transformeStrategizerSchema = await createTransformedRemoteSchema( + 'strategizer_', + process.env.STRATEGIZER_API_URL, + process.env.STRATEGIZER_API_PRESHARED) var schemas = [] var resolvers = {} if (transformedTeamsSchema) { schemas.push(transformedTeamsSchema) - if (transformedUsersSchema && transformedEventsSchema) { + if (transformedUsersSchema && transformedEventsSchema && transformeStrategizerSchema) { schemas.push(teams.linkSchemaDefs) - resolvers = Object.assign(resolvers, teams.resolver(transformedUsersSchema, transformedEventsSchema)) + resolvers = Object.assign(resolvers, teams.resolver(transformedUsersSchema, transformedEventsSchema, transformeStrategizerSchema)) } } if (transformedUsersSchema) { @@ -114,7 +118,10 @@ async function run () { if (transformedLogsSchema) { schemas.push(transformedLogsSchema) } - + if (transformeStrategizerSchema) { + schemas.push(transformeStrategizerSchema) + } + const schema = mergeSchemas({ schemas, resolvers diff --git a/server/src/links/teams.js b/server/src/links/teams.js index d79f3c2aa..c4e359009 100644 --- a/server/src/links/teams.js +++ b/server/src/links/teams.js @@ -13,9 +13,27 @@ export const linkSchemaDefs = maxEndDate: Int ): [events_Event] } + extend type teams_FinancialBeings { + strategy: strategizer_Strategy + } ` -export const resolver = (usersSchema, eventsSchema) => ({ +export const resolver = (usersSchema, eventsSchema, strategizerSchema) => ({ + teams_FinancialBeings: { + strategy: { + fragment: `fragment StrategyFragment on teams_FinancialBeings{id}`, + resolve ({id: fbId}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: usersSchema, + operation: 'query', + fieldName: 'strategizer_StrategyByFb', + args: { fbId }, + context, + info + }) + } + } + }, teams_Team: { ownerUser: { fragment: `fragment UserFragment on teams_Team{owner}`, From 5484f87e69434c3e5ccbc9a5aa899765051af1e7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 16 Mar 2019 20:15:00 +0100 Subject: [PATCH 2/4] Mistake corrections --- server/src/links/teams.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/links/teams.js b/server/src/links/teams.js index c4e359009..f48c44d2a 100644 --- a/server/src/links/teams.js +++ b/server/src/links/teams.js @@ -24,7 +24,7 @@ export const resolver = (usersSchema, eventsSchema, strategizerSchema) => ({ fragment: `fragment StrategyFragment on teams_FinancialBeings{id}`, resolve ({id: fbId}, args, context, info) { return info.mergeInfo.delegateToSchema({ - schema: usersSchema, + schema: strategizerSchema, operation: 'query', fieldName: 'strategizer_StrategyByFb', args: { fbId }, From 6826a99872a117edfaf52f6a1ab83b81db5af7cf Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 17 Mar 2019 20:55:05 +0100 Subject: [PATCH 3/4] Adapted the link fb->strat link to use slug instead of id --- server/src/links/teams.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/links/teams.js b/server/src/links/teams.js index f48c44d2a..bcbfd0d04 100644 --- a/server/src/links/teams.js +++ b/server/src/links/teams.js @@ -21,13 +21,13 @@ export const linkSchemaDefs = export const resolver = (usersSchema, eventsSchema, strategizerSchema) => ({ teams_FinancialBeings: { strategy: { - fragment: `fragment StrategyFragment on teams_FinancialBeings{id}`, - resolve ({id: fbId}, args, context, info) { + fragment: `fragment StrategyFragment on teams_FinancialBeings{slug}`, + resolve ({slug: fbSlug}, args, context, info) { return info.mergeInfo.delegateToSchema({ schema: strategizerSchema, operation: 'query', fieldName: 'strategizer_StrategyByFb', - args: { fbId }, + args: { fbSlug }, context, info }) From edcda1a680d5b563c50df5ee7d85ad252f07ae22 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 19 Mar 2019 12:57:41 +0100 Subject: [PATCH 4/4] Adding the cockpit to the masterApp --- server/src/index.js | 11 +++++++++-- server/src/links/operations.js | 36 +++++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/server/src/index.js b/server/src/index.js index 4a8380680..9a56839a1 100644 --- a/server/src/index.js +++ b/server/src/index.js @@ -78,6 +78,10 @@ async function run () { 'strategizer_', process.env.STRATEGIZER_API_URL, process.env.STRATEGIZER_API_PRESHARED) + const transformeCockpitSchema = await createTransformedRemoteSchema( + 'cockpit_', + process.env.COCKPIT_API_URL, + process.env.COCKPIT_API_PRESHARED) var schemas = [] var resolvers = {} @@ -107,9 +111,9 @@ async function run () { } if (transformedOperationsSchema) { schemas.push(transformedOperationsSchema) - if (transformedTeamsSchema) { + if (transformedTeamsSchema && transformeCockpitSchema) { schemas.push(operations.linkSchemaDefs) - resolvers = Object.assign(resolvers, operations.resolver(transformedTeamsSchema)) + resolvers = Object.assign(resolvers, operations.resolver(transformedTeamsSchema, transformeCockpitSchema)) } } if (transformedNotificationsSchema) { @@ -121,6 +125,9 @@ async function run () { if (transformeStrategizerSchema) { schemas.push(transformeStrategizerSchema) } + if (transformeCockpitSchema) { + schemas.push(transformeCockpitSchema) + } const schema = mergeSchemas({ schemas, diff --git a/server/src/links/operations.js b/server/src/links/operations.js index f87ba9b57..476483d7f 100644 --- a/server/src/links/operations.js +++ b/server/src/links/operations.js @@ -6,9 +6,43 @@ export const linkSchemaDefs = extend type operations_GetClones { bot: teams_FinancialBeings } + extend type operations_Clone { + orders( state: cockpit_OrderStateEnum ): [cockpit_Order] + } + extend type operations_Clone { + signals( state: cockpit_SignalStateEnum ): [cockpit_Signal] + } ` -export const resolver = (teamsSchema) => ({ +export const resolver = (teamsSchema, cockpitSchema) => ({ + operations_Clone: { + orders: { + fragment: `fragment OrderFragment on operations_Clone{id}`, + resolve ({id: cloneId}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: cockpitSchema, + operation: 'query', + fieldName: 'cockpit_OrdersByClondeId', + args: { ...args, cloneId }, + context, + info + }) + } + }, + signals: { + fragment: `fragment SignalFragment on operations_Clone{id}`, + resolve ({id: cloneId}, args, context, info) { + return info.mergeInfo.delegateToSchema({ + schema: cockpitSchema, + operation: 'query', + fieldName: 'cockpit_SignalsByClondeId', + args: { ...args, cloneId }, + context, + info + }) + } + } + }, operations_GetClones: { team: { fragment: `fragment TeamFragment on operations_GetClones{teamId}`,