github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/adapters/recommendation-summary.js (about) 1 import ApplicationAdapter from './application'; 2 import classic from 'ember-classic-decorator'; 3 4 @classic 5 export default class RecommendationSummaryAdapter extends ApplicationAdapter { 6 pathForType = () => 'recommendations'; 7 8 urlForFindAll() { 9 const url = super.urlForFindAll(...arguments); 10 return `${url}?namespace=*`; 11 } 12 13 updateRecord(store, type, snapshot) { 14 const url = `${super.urlForCreateRecord( 15 'recommendations', 16 snapshot 17 )}/apply`; 18 19 const allRecommendationIds = snapshot 20 .hasMany('recommendations') 21 .mapBy('id'); 22 const excludedRecommendationIds = ( 23 snapshot.hasMany('excludedRecommendations') || [] 24 ).mapBy('id'); 25 const includedRecommendationIds = allRecommendationIds.removeObjects( 26 excludedRecommendationIds 27 ); 28 29 const data = { 30 Apply: includedRecommendationIds, 31 Dismiss: excludedRecommendationIds, 32 }; 33 34 return this.ajax(url, 'POST', { data }); 35 } 36 }