books.factory.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. (function() {
  2. 'use strict';
  3. app.factory('books.repository', ['webApi', '$http', function(webApi, $http) {
  4. return {
  5. getBooks: _getBooks,
  6. getBookById: _getBookById,
  7. getAuthors: _getAuthors,
  8. updateBookById: _updateBookById,
  9. addBook: _addBook,
  10. addAuthor: _addAuthor,
  11. deleteBook: _deleteBook,
  12. searchBy: _searchBy
  13. };
  14. function _getBooks() {
  15. return $http.get(webApi.DOMAIN + '/api/v2/books');
  16. };
  17. function _getBookById(id) {
  18. return $http.get(webApi.DOMAIN + '/api/v2/books/' + id);
  19. };
  20. function _getAuthors() {
  21. return $http.get(webApi.DOMAIN + '/api/v2/authors');
  22. };
  23. function _updateBookById(id, book) {
  24. return $http.put(webApi.DOMAIN + '/api/v2/books/' + id, book);
  25. };
  26. function _addBook(data){
  27. return $http.post(webApi.DOMAIN + '/api/v2/books', data);
  28. }
  29. function _addAuthor(data) {
  30. return $http.post(webApi.DOMAIN + '/api/v2/authors', data);
  31. }
  32. function _deleteBook(id){
  33. return $http.delete(webApi.DOMAIN + '/api/v2/books/' + id);
  34. }
  35. function _searchBy(string) {
  36. return $http.get(webApi.DOMAIN + '/api/v2/search?string=' + string);
  37. }
  38. }]);
  39. })();