Files
speckle-server/packages/server/modules/comments/graph/resolvers/permissions.ts
T
Kristaps Fabians Geikins b6c21fd506 feat: comment read/write auth policies in BE & FE (#4368)
* 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
2025-04-10 15:14:34 +03:00

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