File

src/app/modules/daily-processing/providers/healtch-check-color.service.ts

Index

Methods

Constructor

constructor()

Methods

getColor
getColor(run: ProcessingRunInfo)
Parameters :
Name Type Optional
run ProcessingRunInfo No
Returns : any
getColorForRuns
getColorForRuns(runs: ProcessingRunInfo[])
Parameters :
Name Type Optional
runs ProcessingRunInfo[] No
Returns : any
import { Injectable } from '@angular/core';
import { ProcessingRunInfo } from '../models/i-processing-info';

export const colors = {
  RED: 'red',
  GREEN: 'green',
  YELLOW: 'yellow',
  BLUE: 'blue'
};

@Injectable()
export class HealthCheckColorService {
  constructor() {}

  getColorForRuns(runs: ProcessingRunInfo[]) {
    return runs
      .map(run => {
        return run.HealthCheckSummary.HealthCheckStatus;
      })
      .filter(status => status.toLowerCase() !== colors.GREEN)
      .reduce((previousValue, currentValue) => {
        const p = previousValue.toLowerCase();
        const c = currentValue.toLowerCase();
        if (p === c) {
          return c;
        }

        if (p === colors.BLUE && c !== colors.BLUE) {
          return c;
        }

        if (p === colors.GREEN && (c === colors.YELLOW || c === colors.RED)) {
          return c;
        }

        if (p === colors.YELLOW && c === colors.RED) {
          return c;
        }
        return p;
      }, colors.GREEN)
      .toLowerCase();
  }

  getColor(run: ProcessingRunInfo) {
    return run.HealthCheckSummary.HealthCheckStatus.toLocaleLowerCase();
  }
}

result-matching ""

    No results matching ""