Schema
input EditIssueInput {
name: String
content: String
status: IssueStatus
id: ID!
}
type Mutation {
editIssue(input: EditIssueInput!): Issue!
}
Resolvers
const resolvers = {
Mutation: {
editIssue: async (_, { input }, ctx) => {
if (!ctx.user)
throw new GraphQLError('UNAUTHORIZED', { extensions: { code: 401 } })
const { id, ...update } = input
const result = await db
.update(issues)
.set(update ?? {})
.where(and(eq(issues.userid, ctx.urser.id), eq(issues.id, id)))
.returning()
return result[0]
},
}
}