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  }