sp-dev-fx-webparts/samples/angular-ngofficeuifabric-fi.../lib/webparts/angularFileUpload/app/services/baseSvc.js

180 lines
6.4 KiB
JavaScript

"use strict";
var angular = require("angular");
var BaseService = (function () {
function BaseService($http, $q, pageContext) {
this.$http = $http;
this.$q = $q;
this.pageContext = pageContext;
this.baseUrl = pageContext.web.absoluteUrl;
}
BaseService.prototype.getRequest = function (query, endPoint) {
var deferred = this.$q.defer();
this.$http({
url: endPoint || this.baseUrl + query,
method: "GET",
headers: {
"accept": "application/json;odata=verbose",
"content-Type": "application/json;odata=verbose"
}
}).then(function (response) {
if (response.data.d.results) {
deferred.resolve(response.data.d.results);
}
else {
deferred.resolve(response.data.d);
}
}, function (error) {
var iError = {
code: error.data.error.code,
message: error.data.error.message.value,
status: error.status,
statusText: error.statusText
};
deferred.reject(iError);
});
return deferred.promise;
};
BaseService.prototype.postRequest = function (url, requestBody, endPoint) {
var _this = this;
var deferred = this.$q.defer();
this.getFormDigestValue(this.baseUrl)
.then(function (requestDigest) {
return _this.$http({
url: endPoint || _this.baseUrl + url,
method: "POST",
headers: {
"accept": "application/json;odata=verbose",
"X-RequestDigest": requestDigest,
"content-Type": "application/json;odata=verbose"
},
data: JSON.stringify(requestBody)
});
}).then(function (response) {
deferred.resolve(response.data);
}, function (error) {
var iError = {
code: error.data.error.code,
message: error.data.error.message.value,
status: error.status,
statusText: error.statusText
};
deferred.reject(iError);
});
return deferred.promise;
};
BaseService.prototype.updateRequest = function (url, requestBody, eTag, endPoint) {
var _this = this;
var deferred = this.$q.defer();
this.getFormDigestValue(this.baseUrl)
.then(function (requestDigest) {
return _this.$http({
url: endPoint || _this.baseUrl + url,
method: "POST",
headers: {
"accept": "application/json;odata=verbose",
"X-RequestDigest": requestDigest,
"content-Type": "application/json;odata=verbose",
'IF-MATCH': eTag,
'X-HTTP-Method': 'MERGE'
},
data: JSON.stringify(requestBody)
});
}).then(function (response) {
deferred.resolve();
}, function (error) {
var iError = {
code: error.data.error.code,
message: error.data.error.message.value,
status: error.status,
statusText: error.statusText
};
deferred.reject(iError);
});
return deferred.promise;
};
BaseService.prototype.deleteRequest = function (url, eTag, endPoint) {
var _this = this;
var deferred = this.$q.defer();
this.getFormDigestValue(this.baseUrl)
.then(function (requestDigest) {
return _this.$http({
url: endPoint || _this.baseUrl + url,
method: "POST",
headers: {
'Accept': 'application/json;odata=nometadata',
'X-RequestDigest': requestDigest,
'IF-MATCH': eTag,
'X-HTTP-Method': 'DELETE'
}
});
}).then(function (response) {
deferred.resolve();
}, function (error) {
var iError = {
code: error.data.error.code,
message: error.data.error.message.value,
status: error.status,
statusText: error.statusText
};
deferred.reject(iError);
});
return deferred.promise;
};
BaseService.prototype.fileUploadRequest = function (url, file, endPoint) {
var _this = this;
var deferred = this.$q.defer();
this.getFormDigestValue(this.baseUrl)
.then(function (requestDigest) {
return _this.$http({
url: endPoint || _this.baseUrl + url,
method: "POST",
transformRequest: angular.identity,
headers: {
"accept": "application/json;odata=verbose",
"X-RequestDigest": requestDigest,
"content-Type": undefined
},
data: ArrayBuffer
});
}).then(function (response) {
deferred.resolve(response.data);
}, function (error) {
var iError = {
code: error.data.error.code,
message: error.data.error.message.value,
status: error.status,
statusText: error.statusText
};
deferred.reject(iError);
});
return deferred.promise;
};
BaseService.prototype.getFormDigestValue = function (webUrl) {
var deferred = this.$q.defer();
this.$http({
url: webUrl + '/_api/contextinfo',
method: 'POST',
headers: {
'Accept': 'application/json;odata=nometadata'
}
})
.then(function (digestResult) {
deferred.resolve(digestResult.data.FormDigestValue);
}, function (error) {
var iError = {
code: error.data.error.code,
message: error.data.error.message.value,
status: error.status,
statusText: error.statusText
};
deferred.reject(iError);
});
return deferred.promise;
};
return BaseService;
}());
BaseService.$inject = ["$http", "$q", "pageContext"];
exports.BaseService = BaseService;
//# sourceMappingURL=baseSvc.js.map