mirror of https://github.com/rancher/ui.git
58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
import Route from '@ember/routing/route';
|
|
import { inject as service } from '@ember/service';
|
|
import { get } from '@ember/object';
|
|
import { all as PromiseAll } from 'rsvp';
|
|
|
|
const NAME = 'global-registry';
|
|
|
|
export default Route.extend({
|
|
globalStore: service(),
|
|
|
|
model() {
|
|
const store = get(this, 'globalStore');
|
|
const clusters = store.all('cluster');
|
|
const cluster = clusters.findBy('id', 'local');
|
|
|
|
const globalRegistryEnabled = store.all('setting').findBy('id', 'global-registry-enabled')
|
|
|
|
if (!cluster) {
|
|
return {
|
|
showForm: false,
|
|
globalRegistryEnabled,
|
|
}
|
|
}
|
|
|
|
const project = get(cluster, 'systemProject');
|
|
|
|
const apps = project.followLink('apps')
|
|
|
|
const namespaces = cluster.followLink('namespaces')
|
|
|
|
const storageClasses = cluster.followLink('storageClasses')
|
|
|
|
const persistentVolumeClaims = project.followLink('persistentVolumeClaims')
|
|
|
|
return PromiseAll([apps, namespaces, storageClasses, persistentVolumeClaims]).then((data) => {
|
|
const apps = data[0] || [];
|
|
const storageClasses = data[2] || []
|
|
const persistentVolumeClaims = data[3] || []
|
|
|
|
return {
|
|
app: apps.findBy('name', NAME),
|
|
nsExists: true,
|
|
cluster,
|
|
project,
|
|
storageClasses,
|
|
persistentVolumeClaims: persistentVolumeClaims.filter((p) => p.namespaceId === 'cattle-system' && p.state === 'bound'),
|
|
showForm: true,
|
|
}
|
|
});
|
|
},
|
|
|
|
actions: {
|
|
refresh() {
|
|
this.refresh()
|
|
},
|
|
},
|
|
});
|