Olaf
05/15/2019, 10:23 AMTaras Protchenko
05/15/2019, 10:48 AMtype User {
id: ID! @unique
name: String!
books: [Membership!]! @relation(name: "UserMemberships" onDelete: CASCADE)
}
type Membership {
id: ID! @unique
name: String!
role: Role! @relation(name: "MembershipRole" onDelete: CASCADE)
}
type Role {
id: ID! @unique
membership: Membership! @relation(name: "MembershipRole" onDelete: CASCADE)
}
nuno
05/15/2019, 11:02 AMOlaf
05/15/2019, 11:08 AMThe field 'name' is a scalar field and cannot specify the '@relation' directive.
in Role.
type User {
id: ID! @id
name: String!
accounts: [Membership!]! @relation(name: "UserMemberships" onDelete: CASCADE)
}
type Membership {
id: ID! @id
account_email: String
account_phone: String
role: Role! @relation(name: "MembershipRole" onDelete: CASCADE)
}
type Role {
id: ID! @id
name: String! @relation(name: "MembershipRole" onDelete: CASCADE)
description: String
}
type Account {
id: ID! @id
name: String!
members: [Membership!]!
}
nuno
05/15/2019, 11:15 AMtype User {
id: ID! @id
name: String!
memberships: [Membership!]! @relation(onDelete: CASCADE)
}
type Account {
id: ID! @id
name: String!
memberships: [Membership!]! @relation(onDelete: CASCADE)
}
type Membership {
id: ID! @id
role: Role!
user: User!
account: Account!
}
enum Role {
ADMIN
USER
}
Does this work for you?Olaf
05/15/2019, 11:42 AMTaras Protchenko
05/15/2019, 1:21 PMOlaf
06/10/2019, 4:40 AMconst User = {
memberships: ({ id }, args, context) => {
return context.prisma.user({ id }).memberships();
}
};
module.exports = { User };
but it doesn’t return Account
in Membership
.
I also defined a resolver `Membership`:
const Membership = {
account: ({ account }, args, context) => {
return context.prisma.membership({ account }).account();
}
};
module.exports = { Membership };
and get error:
"message": "You provided an invalid argument for the where selector on Membership."
nuno
06/11/2019, 9:55 AMcontext.prisma.membership()
. Try:
const Membership = {
account: ({ id }, args, context) => {
return context.prisma.membership({ id }).account();
}
};