Я пытаюсь добавить дополнительные поля в информационный объект при запросе данных из базы данных prisma. Я видел этот Почта, но не могу заставить работать фрагменты.
У меня есть следующие миграции:
type User {
id: ID! @unique
name: String
}
type Video {
id: ID! @unique
name: String
likes: [Like]
}
type Like {
id: ID! @unique
user: User
createdAt: DateTime!
}
Теперь я хотел бы запросить все видео и проверить, понравилось ли видео текущему пользователю. Если это так, объект лайков должен прочитать значение createdAt, иначе оно будет пустым.
Я делаю это на игровой площадке с помощью следующего запроса:
query {
videos() {
id
name
hasVoted: likes(where: {user: {id: "cjr7r85jy00rc0892dfwpu96u"}){
createdAt
}
}
}
это работает, но я хотел бы добавить hasVoted в свой преобразователь запросов, чтобы автоматически добавлять его ко всем запросам. Как я могу это сделать ?
Я пытался решить это с помощью фрагментов, но безуспешно:
videos: {
fragment: `fragment hasVoted on Video {
hasVoted: likes (where: {user: {id: "cjr7r85jy00rc0892dfwpu96u"}}){
createdAt
}
}`,
resolve: async (_, args, ctx, info) => {
return await ctx.prisma.query.videos({},info);
}
}
У кого-нибудь есть идеи, как я могу это сделать? Спасибо!
Привет :) Я использую призма-переплет


Вы можете использовать addFragmentToInfo из привязок graphql
https://oss.prisma.io/content/graphql-binding/02-api-reference#addfragmenttoinfo
Вы используете клиент Prisma или
prisma-binding?