b6c21fd506
* webhooks perm minor fix * tryna get fileimport service to work * new comment policies - shared * BE done? * checks implemented in FE * lint fix * tests fix * readme fix
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { Resolvers } from '@/modules/core/graph/generated/graphql'
|
|
import { Authz } from '@speckle/shared'
|
|
|
|
export default {
|
|
Comment: {
|
|
permissions: async (parent) => ({
|
|
commentId: parent.id,
|
|
projectId: parent.streamId
|
|
})
|
|
},
|
|
CommentPermissionChecks: {
|
|
canArchive: async (parent, _args, ctx) => {
|
|
const canArchive = await ctx.authPolicies.project.comment.canArchive({
|
|
...parent,
|
|
userId: ctx.userId
|
|
})
|
|
return Authz.toGraphqlResult(canArchive)
|
|
}
|
|
},
|
|
ProjectPermissionChecks: {
|
|
canCreateComment: async (parent, _args, ctx) => {
|
|
const canCreateComment = await ctx.authPolicies.project.comment.canCreate({
|
|
...parent,
|
|
userId: ctx.userId
|
|
})
|
|
return Authz.toGraphqlResult(canCreateComment)
|
|
},
|
|
canBroadcastActivity: async (parent, _args, ctx) => {
|
|
const canBroadcastActivity = await ctx.authPolicies.project.canBroadcastActivity({
|
|
...parent,
|
|
userId: ctx.userId
|
|
})
|
|
return Authz.toGraphqlResult(canBroadcastActivity)
|
|
}
|
|
}
|
|
} as Resolvers
|