Я пытаюсь написать мутацию регистрации пользователя, которая принимает тип пользователя и команду, соединяет пользователя с этой командой и создает другой тип, расширяющий пользователя, на основе типа, предоставленного для мутации. То, что происходит, это только мой самый последний пользователь назначается в команду. Этот код возвращает успешный результат только тогда, когда спортсмен зарегистрирован.
регистрация мутации
async function signUpUser(parent, args, { prisma }, info) {
//hash password
let password = await bcrypt.hash(args.password, 10)
//get team to be linked
const team = await prisma.team({ id: args.team })
//create user
const user = await prisma.createUser({
...args,
password,
team: { connect: { id: team.id }}
})
console.log(user)
//assign user role on team
switch(args.userType) {
case "ATHLETE":
athlete = await prisma.createAthlete({
user: { connect: { id: user.id }},
})
return { user, athlete }
case "COACH":
coach = await prisma.createCoach({
user: { connect: { id: user.id }},
})
return { user, coach }
case "HEAD_COACH":
headCoach = await prisma.createHeadCoach({
user: { connect: { id: user.id }},
})
return { user, headCoach }
case "PARENT":
parent = await prisma.createParent({
user: { connect: { id: user.id }},
})
return { user, parent }
default:
return "error occured"
}
}