Это абсолютно возможно, в конечном итоге Prisma API - это просто HTTP, где вы помещаете запрос в тело POST
запроса.
Следовательно, вы также можете использовать fetch
или prisma-binding
внутри вашего Node-скрипта.
Ознакомьтесь с этим руководством, чтобы узнать больше: https://www.prisma.io/docs/tutorials/access-prisma-from-scripts/access-prisma-from-a-node-script-using-prisma-bindings-vbadiyyee9
Это также может быть полезно, поскольку объясняет, как использовать fetch
для запроса API: https://github.com/nikolasburk/gse/tree/master/3-Use-Prisma-GraphQL-API-from-Код
Вот как выглядит использование fetch
:
const fetch = require('node-fetch')
const endpoint = '__YOUR_PRISMA_ENDPOINT__'
const query = `
query {
users {
id
name
posts {
id
title
}
}
}
`
fetch(endpoint, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ query: query })
})
.then(response => response.json())
.then(result => console.log(JSON.stringify(result)))
Если вы хотите использовать легкую оболочку вокруг fetch
, которая избавляет вас от написания шаблонов, обязательно ознакомьтесь с graphql-request
< / а>.
И вот как вы используете привязки Prisma:
const { Prisma } = require('prisma-binding')
const prisma = new Prisma({
typeDefs: 'prisma.graphql',
endpoint: '__YOUR_PRISMA_ENDPOINT__'
})
// send `users` query
prisma.query.users({}, `{ id name }`)
.then(users => console.log(users))
.then(() =>
// send `createUser` mutation
prisma.mutation.createUser(
{
data: { name: `Sarah` },
},
`{ id name }`,
),
)
.then(newUser => {
console.log(newUser)
return newUser
})
.then(newUser =>
// send `user` query
prisma.query.user(
{
where: { id: newUser.id },
},
`{ name }`,
),
)
.then(user => console.log(user))
person
nburk
schedule
25.07.2018