src/app/modules/daily-processing/providers/healtch-check-color.service.ts
Methods |
constructor()
|
getColor | ||||||
getColor(run: ProcessingRunInfo)
|
||||||
Parameters :
Returns :
any
|
getColorForRuns | ||||||
getColorForRuns(runs: ProcessingRunInfo[])
|
||||||
Parameters :
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();
}
}