github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/models/plugin.js (about)

     1  import { computed } from '@ember/object';
     2  import Model from '@ember-data/model';
     3  import { attr } from '@ember-data/model';
     4  import { fragmentArray } from 'ember-data-model-fragments/attributes';
     5  
     6  export default class Plugin extends Model {
     7    @attr('string') plainId;
     8  
     9    @attr() topologies;
    10    @attr('string') provider;
    11    @attr('string') version;
    12  
    13    @fragmentArray('storage-controller', { defaultValue: () => [] }) controllers;
    14    @fragmentArray('storage-node', { defaultValue: () => [] }) nodes;
    15  
    16    @attr('boolean') controllerRequired;
    17    @attr('number') controllersHealthy;
    18    @attr('number') controllersExpected;
    19  
    20    @computed('controllersHealthy', 'controllersExpected')
    21    get controllersHealthyProportion() {
    22      return this.controllersHealthy / this.controllersExpected;
    23    }
    24  
    25    @attr('number') nodesHealthy;
    26    @attr('number') nodesExpected;
    27  
    28    @computed('nodesHealthy', 'nodesExpected')
    29    get nodesHealthyProportion() {
    30      return this.nodesHealthy / this.nodesExpected;
    31    }
    32  }