github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/components/job-page/parts/latest-deployment.js (about) 1 import Component from '@ember/component'; 2 import { task } from 'ember-concurrency'; 3 import messageFromAdapterError from 'nomad-ui/utils/message-from-adapter-error'; 4 import { tagName } from '@ember-decorators/component'; 5 import classic from 'ember-classic-decorator'; 6 7 @classic 8 @tagName('') 9 export default class LatestDeployment extends Component { 10 job = null; 11 12 handleError() {} 13 14 isShowingDeploymentDetails = false; 15 16 @task(function* () { 17 try { 18 yield this.get('job.latestDeployment.content').promote(); 19 } catch (err) { 20 this.handleError({ 21 title: 'Could Not Promote Deployment', 22 description: messageFromAdapterError(err, 'promote deployments'), 23 }); 24 } 25 }) 26 promote; 27 28 @task(function* () { 29 try { 30 yield this.get('job.latestDeployment.content').fail(); 31 } catch (err) { 32 this.handleError({ 33 title: 'Could Not Fail Deployment', 34 description: messageFromAdapterError(err, 'fail deployments'), 35 }); 36 } 37 }) 38 fail; 39 }