open-nomad/ui/app/models/evaluation.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

import { bool, equal } from '@ember/object/computed';
import Model from '@ember-data/model';
import { attr, belongsTo } from '@ember-data/model';
2017-11-29 01:21:56 +00:00
import { fragmentArray } from 'ember-data-model-fragments/attributes';
import shortUUIDProperty from '../utils/properties/short-uuid';
export default class Evaluation extends Model {
@shortUUIDProperty('id') shortId;
@shortUUIDProperty('nodeId') shortNodeId;
@attr('number') priority;
@attr('string') type;
@attr('string') triggeredBy;
@attr('string') status;
@attr('string') statusDescription;
2021-12-28 16:08:12 +00:00
@fragmentArray('placement-failure', { defaultValue: () => [] })
failedTGAllocs;
2017-11-29 01:21:56 +00:00
@bool('failedTGAllocs.length') hasPlacementFailures;
@equal('status', 'blocked') isBlocked;
2017-11-29 01:21:56 +00:00
@belongsTo('job') job;
@belongsTo('node') node;
2017-11-29 01:21:56 +00:00
@attr('number') modifyIndex;
@attr('date') modifyTime;
@attr('number') createIndex;
@attr('date') createTime;
2018-05-03 19:17:06 +00:00
@attr('date') waitUntil;
@attr('string') namespace;
@attr('string') plainJobId;
get hasJob() {
return !!this.plainJobId;
}
get hasNode() {
return !!this.belongsTo('node').id();
}
get nodeId() {
return this.belongsTo('node').id();
}
}