【发布时间】:2020-03-20 05:11:56
【问题描述】:
我有以下数据库模型
type GlobalUser {
email: String
createdAt: DateTime!
updatedAt: DateTime!
}
type Client {
global_user: GlobalUser!
createdAt: DateTime!
updatedAt: DateTime!
}
每次创建 GlobalUser 时,我都想在 client 表中创建一个 Client。 如果我选择使用 Apollo 从应用程序的 Angular 客户端执行此操作,这可能是我使用 Promises 调用一个又一个突变的方法。
document = gql`
mutation createGlobalUser(
$email: String!, $password: String!
) {
createGlobalUser(
email: $email, password: $password,
) {
email
}
}
`;
createGlobalUserService.mutate({
email: email
}).toPromise().then((res) => {
createClientService.mutate({
global_user: res.data.id
}).catch(err => {
console.log(err);
});
我没有从服务器端的 Prisma 解析器中找到方法
const Mutation = {
async createGlobalUser(root, args, context) {
const user = await context.prisma.createGlobalUser({
...args
});
return {
id
email
}
}
有没有一种方法可以在 Angular 中使用 Apollo 从客户端组合和执行多个 Mutation?还是在服务器端做更好?
【问题讨论】:
标签: angular graphql apollo-client prisma prisma-graphql