Nexus Framework с Prisma Client: как создать запрос / объявление Union - PullRequest
0 голосов
/ 18 апреля 2020

Я использую новый фреймворк 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)?

Я ценю вашу помощь. Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...