Skip to content

Instantly share code, notes, and snippets.

@SangeetAgarwal
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SangeetAgarwal/1ec335f6e3c5a2d0fc8b to your computer and use it in GitHub Desktop.
Save SangeetAgarwal/1ec335f6e3c5a2d0fc8b to your computer and use it in GitHub Desktop.
Revealing module pattern for implementing a service in Angular.js
.factory("dataService", ["$http", "$q", function ($http, $q) {
var _ratingEntities = [];
var _getRatingEntities = function (options) {
var deferred = $q.defer();
$http.get("api/RatingEntityProfileApi?currentPage=" + options.currentPage + "&" + "recordPerPage=" + options.recordsPerPage
+ "&" + "sortKey=" + options.sortKey + "&"
+ "sortOrder=" + options.sortOrder
+ "&" + "searchBy=" + options.searchBy)
.then(function (result) {
angular.copy(result.data.RatingEntityProfiles, _ratingEntities);
deferred.resolve(result.data.RecordCount);
},
function () {
deferred.reject();
});
return deferred.promise;
};
var _postRatingEntity = function (record) {
var deferred = $q.defer();
$http.post("api/RatingEntityProfileApi", record).then(
function (result) {
deferred.resolve(result.data);
console.log(result);
},
function () {
deferred.reject();
});
return deferred.promise;
};
var _deleteRatingEntity = function (id) {
var deferred = $q.defer();
$http.delete("api/RatingEntityProfileApi/" + id).then(
function (result) {
deferred.resolve(result.data);
console.log(result);
},
function () {
deferred.reject();
});
return deferred.promise;
};
return {
ratingEntities: _ratingEntities,
getRatingEntities: _getRatingEntities,
postRatingEntity: _postRatingEntity,
deleteRatingEntity: _deleteRatingEntity
};
}])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment