spws
Version:
SharePoint Web Services Wrapper
101 lines • 4.25 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
// SPWS Library
var __1 = require("../..");
// Classes
var classes_1 = require("../../classes");
/**
* Returns information about the specified user from the User Information List
* @param ID The user ID
* @link https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ff521587(v=office.14)
* @example
* ```
* // Get user from the current site
* const res = await getUserInformation("1");
*
* // Get user from another site
* const res = await getUserInformation("1", { webURL: "/sites/other" });
* ```
*/
var getUserInformation = function (ID, _a) {
var _b = _a === void 0 ? {} : _a, _c = _b.webURL, webURL = _c === void 0 ? __1.defaults.webURL : _c;
return new Promise(function (resolve, reject) {
// Create XHR
var xhr = new XMLHttpRequest();
// Open the request
xhr.open("GET", "".concat(webURL, "/_vti_bin/ListData.svc/UserInformationList(").concat(ID, ")"), false);
xhr.setRequestHeader("Accept", "application/json; charset=utf-8");
// onChange
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// Create object to hold SharePoint response
var data = {};
try {
// Parse JSON
var json = JSON.parse(xhr.responseText);
// If an error is found
if (json.error) {
// reject with error
reject(new classes_1.SpwsError({
responseText: xhr.responseText,
status: xhr.status,
statusText: xhr.statusText,
message: json.error.message.value,
}));
}
else {
// Assign to data
data = json.d;
}
}
catch (error) {
reject(new classes_1.SpwsError({
responseText: xhr.responseText,
status: xhr.status,
statusText: xhr.statusText,
message: error.message,
}));
}
// Prepare data object to be stored as user (fix SharePoint keys)
data.WorkEmail = data.WorkEMail;
delete data.WorkEMail;
data.ID = (data.Id || "").toString();
delete data.Id;
// Create user
var user = __assign({}, data);
// Create response object
var response = {
responseXML: xhr.responseXML || document.implementation.createHTMLDocument(""),
responseText: xhr.responseText,
status: xhr.status,
statusText: xhr.statusText,
data: user,
};
// Resolve response
resolve(response);
}
else {
reject(new classes_1.SpwsError({
message: "Unable to get user information list data for user ID: ".concat(ID || "Unknown"),
}));
}
}
};
// Send request
xhr.send();
});
};
exports.default = getUserInformation;
//# sourceMappingURL=getUserInformation.js.map