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  }