31 lines
959 B
JavaScript
31 lines
959 B
JavaScript
import classic from 'ember-classic-decorator';
|
|
import Fragment from 'ember-data-model-fragments/fragment';
|
|
import { get, computed } from '@ember/object';
|
|
import attr from 'ember-data/attr';
|
|
import { fragmentOwner } from 'ember-data-model-fragments/attributes';
|
|
import { fragment } from 'ember-data-model-fragments/attributes';
|
|
|
|
@classic
|
|
export default class NodeDriver extends Fragment {
|
|
@fragmentOwner() node;
|
|
|
|
@fragment('node-attributes') attributes;
|
|
|
|
@computed('name', 'attributes.attributesStructured')
|
|
get attributesShort() {
|
|
const attributes = this.get('attributes.attributesStructured');
|
|
return get(attributes, `driver.${this.name}`);
|
|
}
|
|
|
|
@attr('string') name;
|
|
@attr('boolean', { defaultValue: false }) detected;
|
|
@attr('boolean', { defaultValue: false }) healthy;
|
|
@attr('string') healthDescription;
|
|
@attr('date') updateTime;
|
|
|
|
@computed('healthy')
|
|
get healthClass() {
|
|
return this.healthy ? 'running' : 'failed';
|
|
}
|
|
}
|