import JobRecordDTO from './job-record-dto.js'
import JobRunDTO from './job-run-dto.js'
/**
*
*/
class JobResultDTO {
/**
*
* @param {any} json
*/
constructor (json) {
this.json = json
}
/**
* @type {string}
*/
get annotation () {
return this.json.annotation
}
/**
* @type {string}
*/
get createdTimestamp () {
return this.json.timestamp
}
/**
* @type {string}
*/
get id () {
return this.json.id
}
/**
* @type {JobRecordDTO}
*/
get record () {
return new JobRecordDTO(this.json.record)
}
/**
* @type {any[]}
*/
get responses () {
return this.json.responses
}
/**
* @type {any}
*/
get run () {
return new JobRunDTO(this.json.run)
}
/**
* @type {string}
*/
get status () {
if (this.annotation === 'OVERRIDE') {
return this.json.status === 'FAIL' ? 'PASS' : 'FAIL'
}
return this.json.status
}
/**
* @type {Object<string, any>}
*/
get values () {
return this.json.values
}
/**
* @param {string} name
* @returns {any}
*/
value (name) {
console.info(`loooking for value: ${name} in values: ${JSON.stringify(this.values, null, 2)}`)
return this.values[name]
}
/**
* @param {string} name
* @returns {string}
*/
valueAsString (name) {
return this.values[name]
}
}
export default JobResultDTO