export function formikToTriggerUiMetadata()

in public/pages/CreateTrigger/containers/CreateTrigger/utils/formikToTrigger.js [148:187]


export function formikToTriggerUiMetadata(values, monitorUiMetadata) {
  switch (monitorUiMetadata.monitor_type) {
    case MONITOR_TYPE.QUERY_LEVEL:
      const searchType = _.get(monitorUiMetadata, 'search.searchType', 'query');
      const queryLevelTriggersUiMetadata = {};
      _.get(values, 'triggerDefinitions', []).forEach((trigger) => {
        const { anomalyDetector, thresholdEnum, thresholdValue } = trigger;
        const triggerMetadata = { value: thresholdValue, enum: thresholdEnum };

        //Store AD values only if AD trigger.
        if (searchType === SEARCH_TYPE.AD && anomalyDetector.triggerType === TRIGGER_TYPE.AD) {
          triggerMetadata.adTriggerMetadata = {
            triggerType: anomalyDetector.triggerType,
            anomalyGrade: {
              value: anomalyDetector.anomalyGradeThresholdValue,
              enum: anomalyDetector.anomalyGradeThresholdEnum,
            },
            anomalyConfidence: {
              value: anomalyDetector.anomalyConfidenceThresholdValue,
              enum: anomalyDetector.anomalyConfidenceThresholdEnum,
            },
          };
        }

        _.set(queryLevelTriggersUiMetadata, `${trigger.name}`, triggerMetadata);
      });
      return queryLevelTriggersUiMetadata;

    case MONITOR_TYPE.BUCKET_LEVEL:
      const bucketLevelTriggersUiMetadata = {};
      _.get(values, 'triggerDefinitions', []).forEach((trigger) => {
        const triggerMetadata = trigger.triggerConditions.map((condition) => ({
          value: condition.thresholdValue,
          enum: condition.thresholdEnum,
        }));
        _.set(bucketLevelTriggersUiMetadata, `${trigger.name}`, triggerMetadata);
      });
      return bucketLevelTriggersUiMetadata;
  }
}