UNPKG

@pnp/sp

Version:

pnp - provides a fluent api for working with SharePoint REST

66 lines 2.57 kB
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