UNPKG

spws

Version:

SharePoint Web Services Wrapper

118 lines 7.04 kB
"use strict"; 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); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); // SPWS Library var __1 = require("../.."); // Classes var classes_1 = require("../../classes"); // Enum var enum_1 = require("../../enum"); /** * Returns an array of PrincipalInfo objects from the SPUserCollection for the Web site. All instances have the principal logon name specified in searchText. Only the maxResults objects can be added to the array. * @link https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-services/ms774790(v=office.12) * @param searchText Principal logon name. * @param maxResults Unless otherwise specified, the maximum number of principals that can be returned from a provider is 10. * @param principalType SPPrincipalType object that specifies user scope and other information. * @example * ``` * const res = await searchPrincipals("dev\john.smith", "Site Owners") * ``` */ var searchPrincipals = function (searchText, _a) { var _b = _a === void 0 ? {} : _a, _c = _b.webURL, webURL = _c === void 0 ? __1.defaults.webURL : _c, _d = _b.maxResults, maxResults = _d === void 0 ? 10 : _d, _e = _b.principalType, principalType = _e === void 0 ? "All" : _e; return __awaiter(void 0, void 0, void 0, function () { var req, res, getTextContent_1, data, error_1; return __generator(this, function (_f) { switch (_f.label) { case 0: _f.trys.push([0, 2, , 3]); // Validate if (typeof searchText !== "string") throw new classes_1.SpwsError({ message: "Expected string for listName but received ".concat(typeof searchText), }); req = new classes_1.SpwsRequest({ webService: enum_1.WebServices.People, webURL: webURL, soapAction: "http://schemas.microsoft.com/sharepoint/soap/SearchPrincipals", }); // Create envelope req.createEnvelope("<SearchPrincipals xmlns=\"http://schemas.microsoft.com/sharepoint/soap/\">\n <searchText>".concat(searchText, "</searchText>\n <maxResults>").concat(maxResults, "</maxResults>\n <principalType>").concat(principalType, "</principalType>\n </SearchPrincipals>")); return [4 /*yield*/, req.send()]; case 1: res = _f.sent(); getTextContent_1 = function (node, name) { var element = node.querySelector(name); return element ? element.textContent || "" : ""; }; data = Array.from(res.responseXML.querySelectorAll("PrincipalInfo")).map(function (node) { var principal = { AccountName: getTextContent_1(node, "AccountName"), DisplayName: getTextContent_1(node, "DisplayName"), UserInfoID: +(getTextContent_1(node, "UserInfoID") || "-1"), IsResolved: getTextContent_1(node, "IsResolved") === "true", PrincipalType: getTextContent_1(node, "PrincipalType"), Department: getTextContent_1(node, "Department"), Email: getTextContent_1(node, "Email"), Title: getTextContent_1(node, "Title"), }; return principal; }); // Return object return [2 /*return*/, __assign(__assign({}, res), { data: data })]; case 2: error_1 = _f.sent(); throw new classes_1.SpwsError(error_1); case 3: return [2 /*return*/]; } }); }); }; exports.default = searchPrincipals; //# sourceMappingURL=searchPrincipals.js.map