UNPKG

@spotinst/spinnaker-deck

Version:

Spinnaker-Deck service, forked with support to Spotinst

57 lines (49 loc) 1.93 kB
'use strict'; import UIROUTER_ANGULARJS from '@uirouter/angularjs'; import { module } from 'angular'; import { InstanceReader } from '@spinnaker/core'; export const ORACLE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER = 'spinnaker.oracle.instance.details.controller'; export const name = ORACLE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER; // for backwards compatibility module(ORACLE_INSTANCE_DETAILS_INSTANCE_DETAILS_CONTROLLER, [UIROUTER_ANGULARJS]).controller( 'oracleInstanceDetailsCtrl', [ '$scope', '$q', 'app', 'instance', function ($scope, $q, app, instance) { $scope.application = app; const initialize = app.isStandalone ? retrieveInstance() : $q.all([app.serverGroups.ready()]).then(retrieveInstance); initialize.then(() => { if (!$scope.$$destroyed && !app.isStandalone) { app.serverGroups.onRefresh($scope, retrieveInstance); } }); function retrieveInstance() { let instanceSummary, account, region; if (!$scope.application.serverGroups) { instanceSummary = {}; account = instance.account; region = instance.region; } else { $scope.application.serverGroups.data.some((serverGroup) => { return serverGroup.instances.some((possibleInstance) => { if (possibleInstance.id === instance.instanceId || possibleInstance.name === instance.instanceId) { instanceSummary = possibleInstance; account = serverGroup.account; region = serverGroup.region; return true; } }); }); } $scope.instance = instanceSummary; InstanceReader.getInstanceDetails(account, region, instance.instanceId).then((instanceDetails) => { Object.assign($scope.instance, instanceDetails); }); } }, ], );