Я новичок в GraphQL и пишу схему, которая будет включать компании и пользователей. У каждой из этих сущностей будет связанный с ними почтовый адрес. Я также использую AWS Amplify для генерации преобразователей и БД (по крайней мере, для запуска проекта).
- Я не собираюсь получать адрес отдельно от его пользователя / компании
- Хотите сделать схему настолько модульной, насколько это возможно без излишнего повторения информации
Вот сокращенная версия того, что я начал
type Address {
id: ID!
streetAddress1: String!
streetAddress2: String
city: String!
state: String!
zipCode: String!
country: String!
coordinates: String
}
type Company
{
id: ID!
name: String!
address: Address!
...
}
Мой вопрос в том, лучше всего иметь адрес как отдельный тип в моей схеме или объединять каждый из типов компании / пользователей с их собственным адресом? Это меня беспокоит
- Разделение адреса и сущности увеличивает сложность бизнес-логики c и / или мутаций.
- По сути, превращение операций CRUD в транзакционный характер, чтобы и пользователь, и адрес изменяются / запрашиваются.