Add strategy creation to create team

This commit is contained in:
Barry Low committed 2019-03-21 17:32:01 +01:00
1 parent 0ec10aabdc
commit 8e941b5b20
2 files changed
+71 -17

No files matched your search

@@ -0,0 +1,40 @@
import axios from 'axios'
import { logger, DatabaseError } from '../../../logger'
export const createStrategy = fbSlug => {
logger.info('createStrategy')
logger.info(fbSlug)
return new Promise((resolve, reject) => {
try {
return axios.post(process.env.PLATFORM_API_URL, {
query: `mutation strategizer_CreateStrategy($fbSlug: String!) {
strategizer_CreateStrategy(fbSlug: $fbSlug){
id
}
}`,
variables: {
fbSlug: fbSlug
}
}, {
headers: {
'Content-Type': 'application/json'
}
})
.then(res => {
logger.info('createStrategy result')
logger.info(res.data)
resolve(res.data)
})
.catch(err => {
logger.error('createStrategy err')
logger.error(err)
reject(err)
})
} catch (error) {
reject(error)
}
})
}
export default createStrategy
+31 -17
View File
@@ -2,6 +2,7 @@ import axios from 'axios'
import { ApolloError } from 'apollo-server-express'
import { getUser } from '../../../middleware/getMember'
import { createStrategy } from './createStrategy'
import { notifications_sendTeamCreateConfirmation, notifications_sendTeamMemberInvite, notifications_VerifyTeamMemberInviteToken } from '../notifications/sendgrid'
@@ -110,27 +111,40 @@ export const resolvers = {
return new DatabaseError(err)
})
if(createTeam) notifications_sendTeamCreateConfirmation(email, name, botName)
}
await ctx.db.mutation.createFinancialBeings({ data:{
type:'BOT',
kind:'INDICATOR',
name:'Simulator ' + botName,
slug:'simulator-' + botSlug,
avatar:avatar,
team: {
connect:{
id:createTeam.id
let createFB;
if(createTeam){
createFB = await ctx.db.mutation.createFinancialBeings({ data:{
type:'BOT',
kind:'INDICATOR',
name:'Simulator ' + botName,
slug:'simulator-' + botSlug,
avatar:avatar,
team: {
connect:{
id:createTeam.id
}
}
}
}, FB_FRAGMENT)
.catch((err) => {
logger.debug(err, 'Error creating the simulator: ')
return new DatabaseError(err)
})
logger.info('createTeam creating simulator success')
logger.info(JSON.stringify(await createFB))
let createdStrategy
if(await createFB){
logger.info('createStrategy:' + 'simulator-' + botSlug)
createdStrategy = await createStrategy('simulator-' + botSlug)
logger.info('createStrategy:')
logger.info(JSON.stringify(await createStrategy))
}
}, FB_FRAGMENT)
.catch((err) => {
logger.debug(err, 'Error creating the simulator: ')
return new DatabaseError(err)
})
logger.info('createTeam creating simulator success')
}
if(await createTeam && await createFB && await createStrategy){
notifications_sendTeamCreateConfirmation(email, name, botName)
}
return createTeam
},
async updateTeamProfile(parent, { slug, owner, description, motto, avatar, banner }, ctx, info) {