import { Injectable } from '@nestjs/common';
import { WorkflowStage } from 'src/common/entities';
import { WorkflowStageRepository } from '../repositories/workflow-stage.repository';
import { handleKnownErrors } from 'src/common/utils/handle-error.util';
import { ERROR_CODES } from 'src/common/constants/error-string-constants';

@Injectable()
export class WorkflowStageService {
  constructor(private readonly workflowStageRepository: WorkflowStageRepository) {}

  async getStagesByWorkflowConfigurationId(workflowConfigurationId: number): Promise<WorkflowStage[]> {
    try {
      return await this.workflowStageRepository.findByWorkflowConfigurationId(workflowConfigurationId);
    } catch (error) {
      handleKnownErrors(ERROR_CODES.WORKFLOW_STAGE_GET_FAILED, error);
    }
  }
}
