Show last added albums
This commit is contained in:
@@ -276,6 +276,39 @@ export class ElsService {
|
||||
.map(res => res.json().aggregations.genres.value);
|
||||
}
|
||||
|
||||
getLastAddedAlbums(): Observable<Bucket[]> {
|
||||
return this.http
|
||||
.post(this.elsUrl + 'song' + ElsService.ACTION_SEARCH,
|
||||
JSON.stringify({
|
||||
'query': {
|
||||
'range' : {
|
||||
'Date Added' : {
|
||||
'gte' : 'now-6M/d',
|
||||
'lte' : 'now/d'
|
||||
}
|
||||
}
|
||||
},
|
||||
'aggs' : {
|
||||
'album' : {
|
||||
'terms' : {
|
||||
'field' : 'Album.original',
|
||||
'size': 5
|
||||
}
|
||||
}
|
||||
},
|
||||
'size': 0
|
||||
}), {headers: this.headers})
|
||||
.map(res => res.json().aggregations.album.buckets)
|
||||
.map((hits: Array<any>) => {
|
||||
// TODO Refactor this duplicated code to a method
|
||||
const result: Array<Bucket> = [];
|
||||
hits.forEach((bucket) => {
|
||||
result.push(bucket);
|
||||
});
|
||||
return result;
|
||||
});
|
||||
}
|
||||
|
||||
private handleError(error: any): Promise<any> {
|
||||
console.error('An error occurred', error); // for demo purposes only
|
||||
return Promise.reject(error.message || error);
|
||||
|
||||
Reference in New Issue
Block a user