books.factory.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. deleteBook: _deleteBook,
  11. searchBy: _searchBy,
  12. updateAuthorsById: _updateAuthorsById
  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 _deleteBook(id){
  30. return $http.delete(webApi.DOMAIN + '/api/v2/books/' + id);
  31. }
  32. function _searchBy(string){
  33. return $http.get(webApi.DOMAIN + '/api/v2/search?string=' + string);
  34. }
  35. function _updateAuthorsById(data, id){
  36. return $http.put(webApi.DOMAIN + '/api/v2/authors/' + id, data);
  37. }
  38. }]);
  39. })();