var services = angular.module('satbd.satellite.bar.services',[]) services.factory('albumService',['$http','$log','$q', function($http,$log,$q) { var determinantRegexp = /^(.*) \(([Ll][eas']+)\)$/; var removeSerie = /^\(.*\) .*$/; function cleanupName(name) { matches = name.match(determinantRegexp); if (matches == null) { return name; } return matches[2] + ' ' + matches[1]; } function cleanupFields(album) { album.serie = album.série; album.série = undefined; album.editeur = album.éditeur; album.éditeur = undefined; if (removeSerie.test(album.serie) == true) { album.serieDisplay = ''; } else { album.serieDisplay = cleanupName(album.serie); if ( album.Num > -1 ) { album.serieDisplay += ' ' + album.Num; } } album.titleDisplay = cleanupName(album.titre); return album; } function get(id) { return $http.get('/api/albums/'+ id).then(function (response) { return cleanupFields(response.data); }); } function search(terms) { var defer = $q.defer(); defer.reject('Search is not implemented'); return defer.promise; } return { get: get, search: search }; }]);