Debug API: remove cascading member deletion
This commit is contained in:
1 parent
a1b4bbe18c
commit
2976fcbe56
7 files changed
+44
-12
No files matched your search
@@ -9,7 +9,7 @@ type Team {
|
||||
createdAt: DateTime!
|
||||
name: String! @unique
|
||||
slug: String! @unique
|
||||
owner: Member! @relation (name: "TeamOwner", onDelete: CASCADE)
|
||||
owner: Member! @relation (name: "TeamOwner", onDelete: SET_NULL)
|
||||
profile: TeamProfile
|
||||
members: [TeamMembers!]! @relation (name: "TeamMembers", onDelete: SET_NULL)
|
||||
anonymous: Boolean! @default(value: true)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const _get = require('lodash.get')
|
||||
const validateAndParseIdToken = require('./helpers/validateAndParseIdToken')
|
||||
const createPrismaMember = require('./index')
|
||||
//const createPrismaMember = require('./index')
|
||||
|
||||
const memberLocationOnContext = 'request.member'
|
||||
const bearerAccessToken = 'request.headers.authorization'
|
||||
@@ -8,6 +8,36 @@ const bearerAccessToken = 'request.headers.authorization'
|
||||
const ctxMember = ctx => _get(ctx, memberLocationOnContext)
|
||||
const ctxToken = ctx => _get(ctx, bearerAccessToken)
|
||||
|
||||
const createPrismaMember = async function (ctx, info, idToken) {
|
||||
console.log('createPrismaMember', idToken)
|
||||
const member = await ctx.db.mutation.upsertMember({
|
||||
where: {
|
||||
auth0id: idToken.sub,
|
||||
},
|
||||
create: {
|
||||
auth0id: idToken.sub,
|
||||
nickname: idToken.nickname,
|
||||
profile: {
|
||||
create: {
|
||||
email: idToken.email,
|
||||
avatar: idToken.picture
|
||||
}
|
||||
}
|
||||
},
|
||||
update: {
|
||||
auth0id: idToken.sub,
|
||||
nickname: idToken.nickname,
|
||||
profile: {
|
||||
update: {
|
||||
email: idToken.email,
|
||||
avatar: idToken.picture
|
||||
}
|
||||
}
|
||||
}
|
||||
}, info)
|
||||
return member
|
||||
}
|
||||
|
||||
const isLoggedIn = async ctx => {
|
||||
let member = ctxMember(ctx, memberLocationOnContext)
|
||||
let token = ctxToken(ctx, bearerAccessToken)
|
||||
|
||||
@@ -165,7 +165,7 @@ const resolvers = {
|
||||
}, info)
|
||||
},
|
||||
async deleteTeam(parent, { id, owner }, ctx, info) {
|
||||
ctx.db.mutation.deleteTeam({ where: { id, member: {where: { auth0id: owner } } } }, owner)
|
||||
ctx.db.mutation.deleteTeam({ where: { id } }, info)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -234,4 +234,4 @@ const options = {
|
||||
|
||||
server.start(options, () => console.log(`Server is running on http://localhost:4000${server.options.endpoint}`))
|
||||
|
||||
module.exports= { createPrismaMember }
|
||||
module.exports= { createPrismaMember: createPrismaMember }
|
||||
@@ -18,7 +18,7 @@ type Query {
|
||||
type Mutation {
|
||||
authenticate(idToken: String!): Member
|
||||
createTeam(name: String!, slug: String, owner: String): Team @isAuthenticated
|
||||
deleteTeam(id: ID!, owner: String!): Team @isOwnerOrHasRole(type: "Member", roles: ["OWNER"])
|
||||
deleteTeam(id: ID!): Team @isOwnerOrHasRole(type: "Member", roles: ["OWNER"])
|
||||
updateProfile(data: MemberProfileInput): Member @isAuthenticated
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,9 @@ export const actions = {
|
||||
}
|
||||
}
|
||||
},
|
||||
updateTeamView: () => [
|
||||
action('toggleModal', '')
|
||||
],
|
||||
nav,
|
||||
team,
|
||||
algobot,
|
||||
|
||||
@@ -135,8 +135,7 @@ export const team = {
|
||||
addTeamSuccess: result => [
|
||||
action('form', { form: 'addTeamSuccess', message: 'Team Added!' }),
|
||||
action('profile', result),
|
||||
action('createTeam.input', ''),
|
||||
action('toggleModal', '')
|
||||
action('createTeam.input', '')
|
||||
],
|
||||
toggleModal: form => (state, actions) => {
|
||||
return {
|
||||
@@ -178,11 +177,11 @@ export const team = {
|
||||
}),
|
||||
action('deleteTeamSubmit', id)
|
||||
],
|
||||
deleteTeamSubmit: ({id, owner}) => async (state, actions) => {
|
||||
console.log('deleteTeamSubmit: ', id, owner)
|
||||
deleteTeamSubmit: ({ id }) => async (state, actions) => {
|
||||
console.log('deleteTeamSubmit: ', id)
|
||||
const result = await client.mutate({
|
||||
mutation: DeleteTeamMutation,
|
||||
variables: { id: id, owner: owner },
|
||||
variables: { id: id },
|
||||
options: {
|
||||
update: (proxy, { data: { getTeamByOwner } }) => {
|
||||
const data = proxy.readQuery({ GetTeamQuery })
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
import gql from 'graphql-tag'
|
||||
|
||||
export const DeleteTeamMutation = gql`
|
||||
mutation deleteTeam($id: ID!, $owner: String!) {
|
||||
deleteTeam(id: $id, owner: $owner) {
|
||||
mutation deleteTeam($id: ID!) {
|
||||
deleteTeam(id: $id) {
|
||||
id
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user