how can i use adonis with GraphQL?
i had search much more Tutorial but never,so i have to ask for help to you
i had create schema.ts in project like this :
import { makeExecutableSchema } from 'graphql-tools'
import resolvers from './resolvers'
// Define our schema using the GraphQL schema language
const typeDefs = `
type Items {
id: Int!
type:String
}
type Query {
fetchItems(): [Items]
}
`
export default makeExecutableSchema({ typeDefs, resolvers })
import Button from 'App/Models/Button'
// Define resolvers
const resolvers = {
Query: {
async fetchItems() {
const button = await Button.findBy('id', 1)
return button?.buttons || []
},
},
}
export default resolvers
but i do not known how use grapql in route.js.
i try code like this but failed
'use strict'
const Route = use('Route')
const GraphqlAdonis = use('ApolloServer')
const schema = require('../app/data/schema')
Route.route(
'/graphql',
({ request, auth, response }) => {
return GraphqlAdonis.graphql(
{
schema,
context: { auth },
},
request,
response
)
},
['GET', 'POST']
)
Route.get('/graphiql', ({ request, response }) => {
return GraphqlAdonis.graphiql({ endpointURL: '/graphql' }, request, response)
})
Attach my profile package.json:
"dependencies": {
"@adonisjs/core": "^5.7.5",
"@adonisjs/lucid": "^17.2.0",
"@adonisjs/repl": "^3.1.10",
"adonis-apollo-server": "^1.0.2",
"graphql": "^16.3.0",
"graphql-tools": "^8.2.7",
"luxon": "^2.3.1",
"pg": "^8.7.3",
"proxy-addr": "^2.0.7",
"reflect-metadata": "^0.1.13",
"slugify": "^1.6.5",
"source-map-support": "^0.5.21"
}