cms/app-client/mirage/config.js
changeset 467 762fc0eb4946
parent 466 a8effb60ccb6
child 474 245b4df137d3
equal deleted inserted replaced
466:a8effb60ccb6 467:762fc0eb4946
    29     this.get('/documents/:id/transcript',  ({transcripts}, request) => {
    29     this.get('/documents/:id/transcript',  ({transcripts}, request) => {
    30         let id = decodeURIComponent(decodeURIComponent(request.params.id));
    30         let id = decodeURIComponent(decodeURIComponent(request.params.id));
    31         return transcripts.find(id).transcript;
    31         return transcripts.find(id).transcript;
    32     });
    32     });
    33 
    33 
    34     this.get('/stats/languages', 'languages');
    34     this.get('/stats/languages', ({languages}, request) => {
       
    35       let qParams = request.queryParams['discourse'];
       
    36       if(qParams) {
       
    37         var res = [];
       
    38         let allLanguages = languages.all().models;
       
    39         let i=0;
       
    40         while(i<allLanguages.length && res.length < (allLanguages.length/Math.pow(2,qParams.length))) {
       
    41           let d = allLanguages[i++];
       
    42           d.count = Math.max(Math.floor(d.count / 2), 1);
       
    43           res.push(d);
       
    44         }
       
    45 
       
    46         return new Collection('language', res);
       
    47       } else {
       
    48         return languages.all();
       
    49       }
       
    50 
       
    51     });
    35 
    52 
    36     this.get('/stats/geostats', 'geostats');
    53     this.get('/stats/geostats', 'geostats');
    37 
    54 
    38     this.get('/stats/themes', 'themes');
    55     this.get('/stats/themes', 'themes');
    39 
    56 
    40     this.get('/stats/discourses', ({discourses}, request) => {
    57     this.get('/stats/discourses', ({discourses}, request) => {
    41       console.log("DISCOURSES", request.queryParams, discourses.all(), discourses.all().models);
       
    42 
    58 
    43       if(request.queryParams['discourse']) {
    59       let qParams = request.queryParams['discourse'];
       
    60       if(qParams) {
    44         var res = [];
    61         var res = [];
    45         request.queryParams.discourse.forEach( did => {
       
    46           let d = discourses.find(did);
       
    47           if(d) {
       
    48             res.push(d);
       
    49           }
       
    50         });
       
    51         let allDiscourses = discourses.all().models;
    62         let allDiscourses = discourses.all().models;
    52         let i=0;
    63         let i=0;
    53         while(i<allDiscourses.length && res.length < (allDiscourses.length/2)) {
    64         while(i<allDiscourses.length && res.length < (allDiscourses.length/Math.pow(2,qParams.length))) {
    54           let d = allDiscourses[i++];
    65           let d = allDiscourses[i++];
    55           if(!_.contains(request.queryParams.discourse, d.id)) {
    66           if(!_.contains(request.queryParams.discourse, d.id)) {
    56             d.count = Math.floor(d.count / 2);
    67             d.count = Math.max(Math.floor(d.count / 2), 1);
    57             res.push(d);
    68             res.push(d);
    58           }
    69           }
    59         }
    70         }
    60         console.log("DISCOURSES", request.queryParams, { modelName: "discourse", models: res });
    71 
    61         //return discourses.all();
       
    62         return new Collection('discourse', res);
    72         return new Collection('discourse', res);
    63       } else {
    73       } else {
    64         return discourses.all();
    74         return discourses.all();
    65       }
    75       }
    66     });
    76     });