Допустим, у вас есть Продукт и Бренд. У продукта есть множество фотографий, и у бренда есть как «обложка», а также еще один массив фотографий:
type Product {
id: ID!
name: String!
photos: [Photo] @connection(name: "ProductPhotos")
}
type Brand {
id: ID!
name: String!
coverPhoto: Photo @connection(name: "BrandCoverPhoto")
photos: [Photo] @connection(name: "BrandPhotos")
}
type Photo {
id: ID!
bucket: String!
fullsize: PhotoS3Info!
thumbnail: PhotoS3Info!
brandCoverPhoto: Brand @connection(name: "BrandCoverPhoto")
brandPhotos: Brand @connection(name: "BrandPhotos")
productPhotos: Product @connection(name: "ProductPhotos")
}
Если это правильно, кажется, что Photo
станет довольно раздутым,особенно если у вас есть куча других моделей, которым требуются фотографии, но, возможно, это лучший подход?
Если это не правильно, как бы вы сделали один тип Photo
, который может использоваться большим списком типов, например, Продукт, Бренд, Пользователь, Продавец, Покупатель и т. Д.