Я использую новый фреймворк Nexus с prisma клиентом. Мой вопрос:
У меня есть три таблицы моделей / баз данных: просмотр альбомов, просмотр книг и просмотр фильмов.
Я хочу объединить их в объединяющий тип, называемый «Публикации», чтобы я мог использовать сортировку и нумерация страниц.
Я создал объект, как сказано в документации. Вот оно:
schema.unionType({
name: 'Publications',
description: 'Any container type that can be rendered into the feed',
definition(t) {
t.members('albumreview', 'bookreview', 'moviereview')
t.resolveType((item) => item.name)
}
})
Теперь я немного растерялся из-за того, как выполнить простой запрос на стороне клиента / игровой площадки, например, получить последние 10 публикаций.
Мои объекты схемы определяется следующим образом:
import { schema } from 'nexus'
//import { log } from 'nexus'
schema.objectType({
name: 'albumreview',
definition(t) {
t.model.id()
t.model.title()
t.model.review()
t.model.createdAt()
t.model.views()
t.model.contentstatus()
}
})
schema.objectType({
name: 'bookreview',
definition(t) {
t.model.id()
t.model.title()
t.model.review()
t.model.createdAt()
t.model.views()
t.model.contentstatus()
}
})
schema.objectType({
name: 'moviereview',
definition(t) {
t.model.id()
t.model.title()
t.model.review()
t.model.createdAt()
t.model.views()
t.model.contentstatus()
}
})
Они должны быть отдельными объектами внутри моей базы данных.
Мои базовые c запросы настроены следующим образом:
schema.queryType({
definition(t) {
t.crud.albumreview()
t.crud.albumreviews()
t.crud.bookreview()
t.crud.bookreviews()
t.crud.moviereview()
t.crud.moviereviews()
})
Определение объединения определено только на стороне Nexus, так как prisma.schema был создан с помощью самоанализа.
Может кто-нибудь помочь мне построить простое определение запроса, где я могу вернуть объекты вместе с правильной моделью и __typename информация, а также с открытыми аргументами из схемы призмы (последняя, пропустить, и т. д. c)?
Я ценю вашу помощь. Большое спасибо.