Split workspace service (#13642)

Splits workflow-version-step workspace-service into multiple once
This commit is contained in:
martmull
2025-08-05 16:10:11 +02:00
committed by GitHub
parent d62a1e0b5a
commit 44f5600300
19 changed files with 643 additions and 471 deletions
@@ -0,0 +1,60 @@
import { UseFilters, UseGuards, UsePipes } from '@nestjs/common';
import { Args, Mutation, Resolver } from '@nestjs/graphql';
import { PreventNestToAutoLogGraphqlErrorsFilter } from 'src/engine/core-modules/graphql/filters/prevent-nest-to-auto-log-graphql-errors.filter';
import { ResolverValidationPipe } from 'src/engine/core-modules/graphql/pipes/resolver-validation.pipe';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator';
import { SettingsPermissionsGuard } from 'src/engine/guards/settings-permissions.guard';
import { UserAuthGuard } from 'src/engine/guards/user-auth.guard';
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
import { PermissionFlagType } from 'src/engine/metadata-modules/permissions/constants/permission-flag-type.constants';
import { PermissionsGraphqlApiExceptionFilter } from 'src/engine/metadata-modules/permissions/utils/permissions-graphql-api-exception.filter';
import { CreateWorkflowVersionEdgeInput } from 'src/engine/core-modules/workflow/dtos/create-workflow-version-edge-input.dto';
import { WorkflowVersionStepChangesDTO } from 'src/engine/core-modules/workflow/dtos/workflow-version-step-changes.dto';
import { WorkflowVersionEdgeWorkspaceService } from 'src/modules/workflow/workflow-builder/workflow-version-edge/workflow-version-edge.workspace-service';
@Resolver()
@UsePipes(ResolverValidationPipe)
@UseGuards(
WorkspaceAuthGuard,
UserAuthGuard,
SettingsPermissionsGuard(PermissionFlagType.WORKFLOWS),
)
@UseFilters(
PermissionsGraphqlApiExceptionFilter,
PreventNestToAutoLogGraphqlErrorsFilter,
)
export class WorkflowVersionEdgeResolver {
constructor(
private readonly workflowVersionEdgeWorkspaceService: WorkflowVersionEdgeWorkspaceService,
) {}
@Mutation(() => WorkflowVersionStepChangesDTO)
async createWorkflowVersionEdge(
@AuthWorkspace() { id: workspaceId }: Workspace,
@Args('input')
{ source, target, workflowVersionId }: CreateWorkflowVersionEdgeInput,
): Promise<WorkflowVersionStepChangesDTO> {
return this.workflowVersionEdgeWorkspaceService.createWorkflowVersionEdge({
source,
target,
workflowVersionId,
workspaceId,
});
}
@Mutation(() => WorkflowVersionStepChangesDTO)
async deleteWorkflowVersionEdge(
@AuthWorkspace() { id: workspaceId }: Workspace,
@Args('input')
{ source, target, workflowVersionId }: CreateWorkflowVersionEdgeInput,
): Promise<WorkflowVersionStepChangesDTO> {
return this.workflowVersionEdgeWorkspaceService.deleteWorkflowVersionEdge({
source,
target,
workflowVersionId,
workspaceId,
});
}
}
@@ -18,10 +18,9 @@ import { UserAuthGuard } from 'src/engine/guards/user-auth.guard';
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
import { PermissionFlagType } from 'src/engine/metadata-modules/permissions/constants/permission-flag-type.constants';
import { PermissionsGraphqlApiExceptionFilter } from 'src/engine/metadata-modules/permissions/utils/permissions-graphql-api-exception.filter';
import { WorkflowVersionStepWorkspaceService } from 'src/modules/workflow/workflow-builder/workflow-step/workflow-version-step.workspace-service';
import { WorkflowVersionStepWorkspaceService } from 'src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step.workspace-service';
import { WorkflowActionType } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action.type';
import { WorkflowRunWorkspaceService } from 'src/modules/workflow/workflow-runner/workflow-run/workflow-run.workspace-service';
import { CreateWorkflowVersionEdgeInput } from 'src/engine/core-modules/workflow/dtos/create-workflow-version-edge-input.dto';
import { WorkflowVersionStepChangesDTO } from 'src/engine/core-modules/workflow/dtos/workflow-version-step-changes.dto';
@Resolver()
@@ -35,7 +34,7 @@ import { WorkflowVersionStepChangesDTO } from 'src/engine/core-modules/workflow/
PermissionsGraphqlApiExceptionFilter,
PreventNestToAutoLogGraphqlErrorsFilter,
)
export class WorkflowStepResolver {
export class WorkflowVersionStepResolver {
constructor(
private readonly workflowVersionStepWorkspaceService: WorkflowVersionStepWorkspaceService,
private readonly workflowRunWorkspaceService: WorkflowRunWorkspaceService,
@@ -123,32 +122,4 @@ export class WorkflowStepResolver {
return step;
}
@Mutation(() => WorkflowVersionStepChangesDTO)
async createWorkflowVersionEdge(
@AuthWorkspace() { id: workspaceId }: Workspace,
@Args('input')
{ source, target, workflowVersionId }: CreateWorkflowVersionEdgeInput,
): Promise<WorkflowVersionStepChangesDTO> {
return this.workflowVersionStepWorkspaceService.createWorkflowVersionEdge({
source,
target,
workflowVersionId,
workspaceId,
});
}
@Mutation(() => WorkflowVersionStepChangesDTO)
async deleteWorkflowVersionEdge(
@AuthWorkspace() { id: workspaceId }: Workspace,
@Args('input')
{ source, target, workflowVersionId }: CreateWorkflowVersionEdgeInput,
): Promise<WorkflowVersionStepChangesDTO> {
return this.workflowVersionStepWorkspaceService.deleteWorkflowVersionEdge({
source,
target,
workflowVersionId,
workspaceId,
});
}
}
@@ -3,7 +3,7 @@ import { Module } from '@nestjs/common';
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
import { WorkflowTriggerController } from 'src/engine/core-modules/workflow/controllers/workflow-trigger.controller';
import { WorkflowBuilderResolver } from 'src/engine/core-modules/workflow/resolvers/workflow-builder.resolver';
import { WorkflowStepResolver } from 'src/engine/core-modules/workflow/resolvers/workflow-step.resolver';
import { WorkflowVersionStepResolver } from 'src/engine/core-modules/workflow/resolvers/workflow-version-step.resolver';
import { WorkflowTriggerResolver } from 'src/engine/core-modules/workflow/resolvers/workflow-trigger.resolver';
import { WorkflowVersionResolver } from 'src/engine/core-modules/workflow/resolvers/workflow-version.resolver';
import { PermissionsModule } from 'src/engine/metadata-modules/permissions/permissions.module';
@@ -12,6 +12,7 @@ import { WorkflowBuilderModule } from 'src/modules/workflow/workflow-builder/wor
import { WorkflowVersionModule } from 'src/modules/workflow/workflow-builder/workflow-version/workflow-version.module';
import { WorkflowRunModule } from 'src/modules/workflow/workflow-runner/workflow-run/workflow-run.module';
import { WorkflowTriggerModule } from 'src/modules/workflow/workflow-trigger/workflow-trigger.module';
import { WorkflowVersionEdgeResolver } from 'src/engine/core-modules/workflow/resolvers/workflow-version-edge.resolver';
@Module({
imports: [
@@ -27,7 +28,8 @@ import { WorkflowTriggerModule } from 'src/modules/workflow/workflow-trigger/wor
providers: [
WorkflowTriggerResolver,
WorkflowBuilderResolver,
WorkflowStepResolver,
WorkflowVersionStepResolver,
WorkflowVersionEdgeResolver,
WorkflowVersionResolver,
],
})