From 263a3fceba43de7155e3583d7f96750d2935cc23 Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 29 May 2019 10:46:30 -0300 Subject: [PATCH 1/2] Adding saweb-api module. --- client/src/auth/index.js | 6 ++ client/src/graphql/EcosystemQuery.js | 120 +++++++++++++++++++++++++++ client/src/index.js | 3 + client/src/utils/ecosystem.js | 12 +++ server/src/index.js | 27 +++--- 5 files changed, 158 insertions(+), 10 deletions(-) create mode 100644 client/src/graphql/EcosystemQuery.js create mode 100644 client/src/utils/ecosystem.js diff --git a/client/src/auth/index.js b/client/src/auth/index.js index a84861444..85c260e34 100644 --- a/client/src/auth/index.js +++ b/client/src/auth/index.js @@ -9,6 +9,8 @@ import { client } from '../graphql/apollo' import { AUTH_CONFIG } from './Auth0' // create by renaming Auth0.sample.js to Auth0.js and setting vars +import { setInitialEcosystem } from '../utils/ecosystem' + const AUTHENTICATE = gql` mutation authenticate($idToken: String!) { users_Authenticate(idToken: $idToken) { @@ -249,6 +251,9 @@ class Auth { } } setItem('user', JSON.stringify(user)) + + await setInitialEcosystem() + window.location.href = '/' return response.data } catch (err) { @@ -261,6 +266,7 @@ class Auth { window.localStorage.removeItem('access_token') window.localStorage.removeItem('user') window.localStorage.removeItem('name') + window.localStorage.removeItem('ecosystem') deleteCookie('ajs_anonymous_id') deleteCookie('ajs_user_id') deleteCookie('current_tenant') diff --git a/client/src/graphql/EcosystemQuery.js b/client/src/graphql/EcosystemQuery.js new file mode 100644 index 000000000..70c8412f9 --- /dev/null +++ b/client/src/graphql/EcosystemQuery.js @@ -0,0 +1,120 @@ +import gql from 'graphql-tag' + +export const ECOSYSTEM_QUERY = gql` + query { + web_GetEcosystem { + id + devTeams { + codeName + displayName + host { + url + storage + container + accessKey + } + bots { + codeName + displayName + type + repo + configFile + products{ + codeName + displayName + description + dataSets{ + codeName + type + validPeriods + filePath + fileName + dataRange{ + filePath + fileName + } + } + exchangeList{ + name + } + plotter{ + devTeam + codeName + moduleName + repo + } + } + } + plotters { + codeName + displayName + modules{ + codeName + moduleName + description + profilePicture + panels{ + codeName + moduleName + event + } + } + repo + configFile + } + } + hosts { + codeName + displayName + host { + url + storage + container + accessKey + } + competitions { + codeName + displayName + description + startDatetime + finishDatetime + formula + plotter{ + devTeam + codeName + host{ + url + storage + container + accessKey + } + moduleName + repo + } + rules + prizes + participants + repo + configFile + } + plotters { + codeName + displayName + modules{ + codeName + moduleName + description + profilePicture + panels{ + codeName + moduleName + event + } + } + repo + configFile + } + } + } + } +` diff --git a/client/src/index.js b/client/src/index.js index acbab7067..7289c47cc 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -5,6 +5,7 @@ import MasterApp from './App' import { createStore } from 'redux' import { Provider } from 'react-redux' import rootReducer from './reducers/rootReducer' +import { setInitialEcosystem } from './utils/ecosystem' const store = createStore(rootReducer) @@ -12,6 +13,8 @@ if (process.env.NODE_ENV !== 'production') { window.localStorage.setItem('debug', 'advanced-algos:*') } +setInitialEcosystem() + ReactDOM.render( diff --git a/client/src/utils/ecosystem.js b/client/src/utils/ecosystem.js new file mode 100644 index 000000000..8c7e49780 --- /dev/null +++ b/client/src/utils/ecosystem.js @@ -0,0 +1,12 @@ +import { client } from '../graphql/apollo' +import { ECOSYSTEM_QUERY } from '../graphql/EcosystemQuery' +import Log from './log' + +export async function setInitialEcosystem() { + try { + const ecosystem = await client.query({ query: ECOSYSTEM_QUERY }) + window.localStorage.setItem('ecosystem', JSON.stringify(ecosystem.data.web_GetEcosystem)) + } catch (error) { + Log.error('Error getting the ecosystem: ' + error) + } + } diff --git a/server/src/index.js b/server/src/index.js index 5460244dd..3b6bd11c2 100644 --- a/server/src/index.js +++ b/server/src/index.js @@ -70,23 +70,27 @@ async function run () { 'logs_', process.env.LOGS_API_URL, process.env.LOGS_API_PRESHARED) - const transformeStrategizerSchema = await createTransformedRemoteSchema( + const transformedStrategizerSchema = await createTransformedRemoteSchema( 'strategizer_', process.env.STRATEGIZER_API_URL, process.env.STRATEGIZER_API_PRESHARED) - const transformeCockpitSchema = await createTransformedRemoteSchema( + const transformedCockpitSchema = await createTransformedRemoteSchema( 'cockpit_', process.env.COCKPIT_API_URL, process.env.COCKPIT_API_PRESHARED) + const transformedSAWeb = await createTransformedRemoteSchema( + 'web_', + process.env.SAWEB_API_URL, + process.env.SAWEB_API_PRESHARED) var schemas = [] var resolvers = {} if (transformedTeamsSchema) { schemas.push(transformedTeamsSchema) - if (transformedUsersSchema && transformedEventsSchema && transformeStrategizerSchema) { + if (transformedUsersSchema && transformedEventsSchema && transformedStrategizerSchema) { schemas.push(teams.linkSchemaDefs) - resolvers = Object.assign(resolvers, teams.resolver(transformedUsersSchema, transformedEventsSchema, transformeStrategizerSchema)) + resolvers = Object.assign(resolvers, teams.resolver(transformedUsersSchema, transformedEventsSchema, transformedStrategizerSchema)) } } if (transformedUsersSchema) { @@ -104,9 +108,9 @@ async function run () { } if (transformedOperationsSchema) { schemas.push(transformedOperationsSchema) - if (transformedTeamsSchema && transformeCockpitSchema) { + if (transformedTeamsSchema && transformedCockpitSchema) { schemas.push(operations.linkSchemaDefs) - resolvers = Object.assign(resolvers, operations.resolver(transformedTeamsSchema, transformeCockpitSchema)) + resolvers = Object.assign(resolvers, operations.resolver(transformedTeamsSchema, transformedCockpitSchema)) } } if (transformedNotificationsSchema) { @@ -115,11 +119,14 @@ async function run () { if (transformedLogsSchema) { schemas.push(transformedLogsSchema) } - if (transformeStrategizerSchema) { - schemas.push(transformeStrategizerSchema) + if (transformedStrategizerSchema) { + schemas.push(transformedStrategizerSchema) } - if (transformeCockpitSchema) { - schemas.push(transformeCockpitSchema) + if (transformedCockpitSchema) { + schemas.push(transformedCockpitSchema) + } + if (transformedSAWeb) { + schemas.push(transformedSAWeb) } const schema = mergeSchemas({ From f949576274bc3de8b92b44d6d044246a1b8a872d Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 29 May 2019 11:26:41 -0300 Subject: [PATCH 2/2] Getting ecosystem from canvas app --- client/src/auth/index.js | 2 -- client/src/graphql/EcosystemQuery.js | 1 + client/src/index.js | 3 --- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/client/src/auth/index.js b/client/src/auth/index.js index 85c260e34..9b35d50bf 100644 --- a/client/src/auth/index.js +++ b/client/src/auth/index.js @@ -252,8 +252,6 @@ class Auth { } setItem('user', JSON.stringify(user)) - await setInitialEcosystem() - window.location.href = '/' return response.data } catch (err) { diff --git a/client/src/graphql/EcosystemQuery.js b/client/src/graphql/EcosystemQuery.js index 70c8412f9..5f0ab6ef4 100644 --- a/client/src/graphql/EcosystemQuery.js +++ b/client/src/graphql/EcosystemQuery.js @@ -17,6 +17,7 @@ export const ECOSYSTEM_QUERY = gql` codeName displayName type + profilePicture repo configFile products{ diff --git a/client/src/index.js b/client/src/index.js index 7289c47cc..acbab7067 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -5,7 +5,6 @@ import MasterApp from './App' import { createStore } from 'redux' import { Provider } from 'react-redux' import rootReducer from './reducers/rootReducer' -import { setInitialEcosystem } from './utils/ecosystem' const store = createStore(rootReducer) @@ -13,8 +12,6 @@ if (process.env.NODE_ENV !== 'production') { window.localStorage.setItem('debug', 'advanced-algos:*') } -setInitialEcosystem() - ReactDOM.render(