I am trying to learn how to use GraphQl.
I have created a query in my service and related resolver. I have run prisma generate on the back end and get no errors.
I cannot find a way to update the lib/graphql so that it includes the query I have made.
In my service.ts I have:
import { prisma } from "../../lib/prisma"
import { Service } from "typedi"
import { IssueInput } from "./inputs/create.input"
import { Resolver } from "type-graphql"
import { Issue } from "./issue.model"
@Service()
@Resolver(() => Issue)
export class IssueService {
async createIssue(data: IssueInput) {
return await prisma.issue.create({ data })
}
async getAllIssues() {
return await prisma.issue.findMany()
}
async getAllClimateChangeIssues() {
return await prisma.issue.findMany({where: {issueCategory: "CLIMATE_CHANGE"}})
}
async getIssue(id: string) {
return await prisma.issue.findUnique({ where: { id } })
}
}
In the resolver, I have:
import { Arg, Mutation, Query, Resolver } from "type-graphql"
import { Issue } from "./issue.model"
import { IssueService } from "./issue.service"
import { IssueInput } from "./inputs/create.input"
import { Inject, Service } from "typedi"
@Service()
@Resolver(() => Issue)
export default class IssueResolver {
@Inject(() => IssueService)
issueService: IssueService
@Query(() => [Issue])
async allIssues() {
return await this.issueService.getAllIssues()
}
@Query(() => [Issue])
async allClimateChangeIssues() {
return await this.issueService.getAllClimateChangeIssues()
}
@Query(() => Issue)
async issue(@Arg("id") id: string) {
return await this.issueService.getIssue(id)
}
@Mutation(() => Issue)
async createIssue(@Arg("data") data: IssueInput) {
return await this.issueService.createIssue(data)
}
}
What other steps are required to update the lib/grapqhl?