Привет, я слежу за учебником GraphQL / Prisma (https://www.howtographql.com/graphql-js/6-authentication/), и мне интересно, зачем переопределять типы в схеме приложения, если они уже являются частью схемы базы данных Prisma и могут быть импортированы оттуда.
Ответ, который дает руководство, - «Чтобы скрыть потенциально конфиденциальную информацию от клиентских приложений». Что именно это означает? Почему мы дублируем определения в schema.graphql и datamodel.prisma? Потому что определения немного отличаются (т.е. модель данных содержит теги типа @unique
)? А как мы что-то скрываем от клиентских приложений? Я по-прежнему в недоумении ....
В частности, в schema.graphql у меня есть
type User {
id: ID!
name: String!
email: String!
links: [Link!]!
}
и в datamodel.prisma у меня есть
type User {
id: ID! @unique
name: String!
email: String! @unique
password: String!
links: [ Link!] !
}