ui/app/host/route.js

38 lines
1.0 KiB
JavaScript

import EmberObject from '@ember/object';
import { hash, all } from 'rsvp';
import Route from '@ember/routing/route';
export default Route.extend({
model: function(params) {
var store = this.get('store');
return store.findAll('host').then((hosts) => {
return hash({
host: store.find('host', params.host_id),
service: store.findAll('service'),
instance: store.findAll('instance'),
}).then((hash) => {
return hash.host.followLink('storagePools').then((pools) => {
var out = [];
var promises = pools.map((pool) => {
return pool.followLink('volumes',{include: ['mounts']}).then((volumes) => {
out.pushObjects((volumes||[]).toArray());
});
});
return all(promises).then(() => {
return EmberObject.create({
all: hosts,
host: hash.host,
storagePools: out
});
});
});
});
});
},
});