@pnp/sp
Version:
pnp - provides a fluent api for working with SharePoint REST
66 lines • 2.57 kB
JavaScript
import { body } from "@pnp/queryable";
import { _SPQueryable, spInvokableFactory } from "../spqueryable.js";
import { extractWebUrl } from "../utils/extract-web-url.js";
import { spPost } from "../operations.js";
import { combine } from "@pnp/core";
export class _Utilities extends _SPQueryable {
constructor(base, methodName = "") {
super(base);
this._url = combine(extractWebUrl(this._url), `_api/SP.Utilities.Utility.${methodName}`);
}
excute(props) {
return spPost(this, body(props));
}
sendEmail(properties) {
if (properties.AdditionalHeaders) {
// we have to remap the additional headers into this format #2253
properties.AdditionalHeaders = Reflect.ownKeys(properties.AdditionalHeaders).map(key => ({
Key: key,
Value: Reflect.get(properties.AdditionalHeaders, key),
ValueType: "Edm.String",
}));
}
return UtilitiesCloneFactory(this, "SendEmail").excute({ properties });
}
getCurrentUserEmailAddresses() {
return UtilitiesCloneFactory(this, "GetCurrentUserEmailAddresses").excute({});
}
resolvePrincipal(input, scopes, sources, inputIsEmailOnly, addToUserInfoList, matchUserInfoList = false) {
const params = {
addToUserInfoList,
input,
inputIsEmailOnly,
matchUserInfoList,
scopes,
sources,
};
return UtilitiesCloneFactory(this, "ResolvePrincipalInCurrentContext").excute(params);
}
searchPrincipals(input, scopes, sources, groupName, maxCount) {
const params = {
groupName: groupName,
input: input,
maxCount: maxCount,
scopes: scopes,
sources: sources,
};
return UtilitiesCloneFactory(this, "SearchPrincipalsUsingContextWeb").excute(params);
}
createEmailBodyForInvitation(pageAddress) {
const params = {
pageAddress: pageAddress,
};
return UtilitiesCloneFactory(this, "CreateEmailBodyForInvitation").excute(params);
}
expandGroupsToPrincipals(inputs, maxCount = 30) {
const params = {
inputs: inputs,
maxCount: maxCount,
};
const clone = UtilitiesCloneFactory(this, "ExpandGroupsToPrincipals");
return clone.excute(params);
}
}
export const Utilities = spInvokableFactory(_Utilities);
const UtilitiesCloneFactory = (base, path) => Utilities(base, path);
//# sourceMappingURL=types.js.map