github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/models/recommendation.js (about) 1 import Model from '@ember-data/model'; 2 import { attr, belongsTo } from '@ember-data/model'; 3 import { get } from '@ember/object'; 4 5 export default class Recommendation extends Model { 6 @belongsTo('job') job; 7 @belongsTo('recommendation-summary', { inverse: 'recommendations' }) 8 recommendationSummary; 9 10 @attr('date') submitTime; 11 12 get taskGroup() { 13 return get(this, 'recommendationSummary.taskGroup'); 14 } 15 16 @attr('string') taskName; 17 18 get task() { 19 return get(this, 'taskGroup.tasks').findBy('name', this.taskName); 20 } 21 22 @attr('string') resource; 23 @attr('number') value; 24 25 get currentValue() { 26 const resourceProperty = 27 this.resource === 'CPU' ? 'reservedCPU' : 'reservedMemory'; 28 return get(this, `task.${resourceProperty}`); 29 } 30 31 @attr() stats; 32 }