Add deleteTeam from AACloud

This commit is contained in:
Barry Low committed 2018-10-30 23:29:04 -07:00
1 parent d6c7a3a1fc
commit 7eb5c2c4a0
7 files changed
+77 -26

No files matched your search

+53 -7
View File
@@ -1,3 +1,5 @@
import axios from 'axios'
import { getUser } from '../../../middleware/getMember'
import { sendTeamMemberInvite, sendTeamCreateConfirmation, verifyInviteToken } from '../../../email/sendgrid'
@@ -135,13 +137,57 @@ export const resolvers = {
return err
})
},
async deleteTeam(parent, { slug }, ctx, info) {
return ctx.db.mutation.deleteTeam({ where: { slug } }, info)
.catch((res) => {
logger.info('deleteTeam error: ', res)
const errors = res.graphQLErrors.map((error) => {
return error.message
})
async deleteTeam(parent, { slug, botSlug }, ctx, info) {
logger.info('DeleteTeam resolver')
const authId = ctx.request.headers.userid
if (!authId) {
throw new AuthenticationError()
}
logger.info(authId)
logger.info('getUser')
logger.info(getUser)
return getUser(authId)
.then(async result => {
logger.info('deleteTeam axios:')
logger.info(await result)
const alias = await result.data.users_User.alias
// const email = result.data.users_User.email
const deleteTeamUrl = encodeURI(`${slug}/${alias}/${botSlug}`)
logger.info('deleteTeamUrl:')
logger.info(JSON.stringify(await deleteTeamUrl))
const platformUrl = 'https://develop.advancedalgos.net/AABrowserAPI/deleteTeam/'
// const platformUrl = 'http://localhost:1337/AABrowserAPI/teamSetup/'
logger.info(`${platformUrl}${deleteTeamUrl}/${authId}`)
const deletePlatformTeam = await axios.get(`${platformUrl}${deleteTeamUrl}/${authId}`)
.then((result) => {
console.log('deletePlatformTeam result:', result.data)
if(result.data.result === 'Fail'){
return result.data.message
}
return result
})
.catch(err =>{
logger.debug('deletePlatformTeam err:')
logger.debug(err)
throw new Error(err)
})
console.log('deletePlatformTeam returned: ', await deletePlatformTeam)
return ctx.db.mutation.deleteTeam({ where: { slug } }, info)
.catch((res) => {
logger.info('deleteTeam error: ', res)
const errors = res.graphQLErrors.map((error) => {
return error.message
})
})
})
.catch((err) => {
logger.debug('deleteTeam error: ')
return err
})
}
}
+1 -1
View File
@@ -24,7 +24,7 @@ type Mutation {
createTeam(name: String!, slug: String!, botName: String!, botSlug: String!): Team @isAuthenticated
updateTeamProfile(slug: String!, description: String, motto: String, avatar: String, banner: String): Team @isAuthenticated
updateFB(fbId: String!, avatar: String): FinancialBeings @isAuthenticated
deleteTeam(slug: String!): Team @isAuthenticated @isOwner(type: "Team")
deleteTeam(slug: String!, botSlug: String!): Team @isAuthenticated @isOwner(type: "Team")
sendMemberInviteSG(email: String!, teamId: String!): String
confirmMember(token: String!): String
removeTeamMember(teamId: String!, memberId: String!): String
+12 -11
View File
@@ -1,4 +1,6 @@
import { logger } from '../logger'
import axios from 'axios'
import { logger, DatabaseError } from '../logger'
export const getMember = async (req, res, next, db) => {
if (!req.headers.userId) return next()
@@ -15,13 +17,13 @@ export const getMember = async (req, res, next, db) => {
}
export const getUser = authId => {
logger.info('getUser')
logger.info('getUser MiddleWare')
logger.info(authId)
const API_URL = 'https://app-api.advancedalgos.net/graphql'
return new Promise(resolve => {
return new Promise((resolve, reject) => {
try {
const result = axios.post(API_URL, {
query: `query users_User($userId: String!) {
return axios.post(API_URL, {
query: `query users_User($userId: ID!) {
users_User(id: $userId){
id
alias
@@ -36,19 +38,18 @@ export const getUser = authId => {
'Content-Type': 'application/json'
}
})
.then(result => {
.then(res => {
logger.info('getUser result')
logger.info(result.data)
resolve(result.data)
logger.info(res.data)
resolve(res.data)
})
.catch(err => {
logger.info('getUser err')
logger.info(err)
throw new Error(err)
reject(new DatabaseError(err))
})
} catch (error) {
resolve(error)
reject(new DatabaseError(error))
}
})
}
@@ -2,8 +2,8 @@
import gql from 'graphql-tag'
export const DELETE_TEAM = gql`
mutation deleteTeam($slug: String!) {
teams_DeleteTeam(slug: $slug) {
mutation deleteTeam($slug: String!, $botSlug: String!) {
teams_DeleteTeam(slug: $slug, botSlug: $botSlug) {
id
}
}
+2
View File
@@ -1,3 +1,5 @@
import log from './log'
const ErrorResponse = {
'unique constraint': 'Sorry, already taken! Please create a unique '
}
@@ -123,7 +123,8 @@ export class ManageTeamDelete extends Component {
this.handleSubmit(
e,
deleteTeam,
this.props.slug
this.props.slug,
this.props.botSlug
)
}}
color='primary'
@@ -140,16 +141,17 @@ export class ManageTeamDelete extends Component {
)
}
async handleSubmit (e, deleteTeam, slug) {
async handleSubmit (e, deleteTeam, slug, botSlug) {
e.preventDefault()
await deleteTeam({ variables: { slug } })
await deleteTeam({ variables: { slug, botSlug } })
this.setState({ open: false })
}
}
ManageTeamDelete.propTypes = {
classes: PropTypes.object.isRequired,
slug: PropTypes.string.isRequired
slug: PropTypes.string.isRequired,
botSlug: PropTypes.string.isRequired
}
export default withStyles(styles)(ManageTeamDelete)
@@ -42,7 +42,7 @@ export const ManageTeamsItem = ({ classes, team, ...props }) => {
<CardActions>
<ManageTeamDetails team={team} />
<ManageTeamEdit slug={team.slug} team={team} {...props} />
<ManageTeamDelete slug={team.slug} />
<ManageTeamDelete slug={team.slug} botSlug={team.fb[0].slug} />
</CardActions>
</div>
</Card>