branchDeleted

This commit is contained in:
Kristaps Fabians Geikins
2024-10-25 13:57:58 +03:00
parent 64d2888506
commit f690f1016a
4 changed files with 24 additions and 38 deletions
@@ -1,6 +1,5 @@
import { ActionTypes, ResourceTypes } from '@/modules/activitystream/helpers/types'
import {
pubsub,
BranchSubscriptions as BranchPubsubEvents,
PublishSubscription
} from '@/modules/shared/utils/subscriptions'
@@ -113,7 +112,7 @@ export const addBranchDeletedActivityFactory =
info: { branch: { ...input, name: branchName } },
message: `Branch deleted: '${branchName}' (${input.id})`
}),
pubsub.publish(BranchPubsubEvents.BranchDeleted, {
publish(BranchPubsubEvents.BranchDeleted, {
branchDeleted: input,
streamId
}),
@@ -1,35 +0,0 @@
const { withFilter } = require('graphql-subscriptions')
const {
pubsub,
BranchSubscriptions: BranchPubsubEvents
} = require('@/modules/shared/utils/subscriptions')
const { authorizeResolver } = require('@/modules/shared')
const { Roles } = require('@speckle/shared')
/**
* TODO: Clean up and move to branchesNew.ts
*/
// subscription events
const BRANCH_DELETED = BranchPubsubEvents.BranchDeleted
/** @type {import('@/modules/core/graph/generated/graphql').Resolvers} */
module.exports = {
Subscription: {
branchDeleted: {
subscribe: withFilter(
() => pubsub.asyncIterator([BRANCH_DELETED]),
async (payload, variables, context) => {
await authorizeResolver(
context.userId,
payload.streamId,
Roles.Stream.Reviewer,
context.resourceAccessRules
)
return payload.streamId === variables.streamId
}
)
}
}
}
@@ -173,6 +173,21 @@ export = {
return streamMatch
}
)
},
branchDeleted: {
subscribe: filteredSubscribe(
BranchPubsubEvents.BranchDeleted,
async (payload, variables, context) => {
await authorizeResolver(
context.userId,
payload.streamId,
Roles.Stream.Reviewer,
context.resourceAccessRules
)
return payload.streamId === variables.streamId
}
)
}
}
} as Resolvers
@@ -43,7 +43,10 @@ import {
SubscriptionBranchCreatedArgs,
SubscriptionBranchUpdatedArgs,
BranchUpdateInput,
UpdateModelInput
UpdateModelInput,
SubscriptionBranchDeletedArgs,
BranchDeleteInput,
DeleteModelInput
} from '@/modules/core/graph/generated/graphql'
import { Merge } from 'type-fest'
import {
@@ -318,6 +321,10 @@ type SubscriptionTypeMap = {
}
variables: SubscriptionBranchUpdatedArgs
}
[BranchSubscriptions.BranchDeleted]: {
payload: { branchDeleted: BranchDeleteInput | DeleteModelInput; streamId: string }
variables: SubscriptionBranchDeletedArgs
}
} & { [k in SubscriptionEvent]: { payload: unknown; variables: unknown } }
type SubscriptionEvent =