All files / modules/70-pipeline/components/PipelineSteps/Steps/Common types.ts

100% Statements 3/3
100% Branches 2/2
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53                        115x 115x 115x                                                                            
/*
 * Copyright 2021 Harness Inc. All rights reserved.
 * Use of this source code is governed by the PolyForm Free Trial 1.0.0 license
 * that can be found in the licenses directory at the root of this repository, also available at
 * https://polyformproject.org/wp-content/uploads/2020/05/PolyForm-Free-Trial-1.0.0.txt.
 */
 
import type { MultiSelectOption, SelectOption } from '@wings-software/uicore'
import type { FormikContext } from 'formik'
import type { JiraFieldNG, JiraStatusNG } from 'services/cd-ng'
import type { StepType } from '@pipeline/components/PipelineSteps/PipelineStepInterface'
 
export enum ApprovalRejectionCriteriaType {
  Jexl = 'Jexl',
  KeyValues = 'KeyValues'
}
 
export interface ApprovalRejectionCriteriaCondition {
  key: string
  operator: string
  value: string | SelectOption | MultiSelectOption[]
}
 
export interface ApprovalRejectionCriteria {
  type: ApprovalRejectionCriteriaType
  spec: {
    // if type is Jexl
    expression?: string
 
    // If type is KV
    matchAnyCondition?: boolean
    conditions?: ApprovalRejectionCriteriaCondition[]
  }
}
 
export interface ApprovalRejectionCriteriaProps {
  mode: string
  values: ApprovalRejectionCriteria
  onChange: (values: ApprovalRejectionCriteria) => void
  statusList: JiraStatusNG[]
  fieldList: JiraFieldNG[]
  isFetchingFields?: boolean
  formik: FormikContext<any>
  readonly?: boolean
  title: string
  stepType: StepType
}
 
export interface ConditionsInterface extends ApprovalRejectionCriteriaProps {
  allowedFieldKeys: SelectOption[]
  allowedValuesForFields: Record<string, SelectOption[]>
}