Does anyone know a way to reduce this login mutati...
# orm-help
g
Does anyone know a way to reduce this login mutation so I'm not having to make multiple redundant
prisma.login
calls?
Copy code
const jwtFragment = `
fragment JWTFragment on User {
  id
  company {
    accessLevel
    account {
      accountType
    }
  }
}
`;

async function login(_: unknown, { email, password }: ArgsLogin) {
  const userLogin = await prisma.login({ email });
  if (!userLogin || !(await compare(password, userLogin.password))) {
    throw new AuthenticationError();
  }
  const user = await prisma.login({ email }).user();
  const payload: any = await prisma.login({ email }).user().$fragment(jwtFragment);
  return {
    token: sign({
      id: payload.id,
      accessLevel: payload.company.accessLevel,
      accountType: payload.company.account.accountType
    }, process.env.APP_SECRET),
    user
  }
}