@pnp/cli-microsoft365
Version:
Manage Microsoft 365 and SharePoint Framework projects on any platform
80 lines • 3.03 kB
JavaScript
import request from '../request.js';
import { formatting } from './formatting.js';
export const spp = {
/**
* Asserts whether the specified site is a content center
* @param siteUrl The URL of the site to check
* @param logger Logger instance
* @param verbose Whether to log verbose messages
* @throws error when site is not a content center.
*/
async assertSiteIsContentCenter(siteUrl, logger, verbose) {
if (verbose) {
await logger.log(`Checking if '${siteUrl}' is a valid content center site...`);
}
const requestOptions = {
url: `${siteUrl}/_api/web?$select=WebTemplateConfiguration`,
headers: {
accept: 'application/json;odata=nometadata'
},
responseType: 'json'
};
const response = await request.get(requestOptions);
if (response.WebTemplateConfiguration !== 'CONTENTCTR#0') {
throw Error(`${siteUrl} is not a content site.`);
}
},
/**
* Gets a SharePoint Premium model by title
* @param contentCenterUrl a content center site URL
* @param title model title
* @param logger Logger instance
* @param verbose Whether to log verbose messages
* @returns SharePoint Premium model
*/
async getModelByTitle(contentCenterUrl, title, logger, verbose) {
if (verbose) {
await logger.log(`Retrieving model information...`);
}
let requestTitle = title.toLowerCase();
if (!requestTitle.endsWith('.classifier')) {
requestTitle += '.classifier';
}
const requestUrl = `${contentCenterUrl}/_api/machinelearning/models/getbytitle('${formatting.encodeQueryParameter(requestTitle)}')`;
const requestOptions = {
url: requestUrl,
headers: {
accept: 'application/json;odata=nometadata'
},
responseType: 'json'
};
const result = await request.get(requestOptions);
if (result['odata.null'] === true) {
throw Error(`Model '${title}' was not found.`);
}
return result;
},
/**
* Gets a SharePoint Premium model by unique id
* @param contentCenterUrl a content center site URL
* @param id model unique id
* @param logger Logger instance
* @param verbose Whether to log verbose messages
* @returns SharePoint Premium model
*/
async getModelById(contentCenterUrl, id, logger, verbose) {
if (verbose) {
await logger.log(`Retrieving model information...`);
}
const requestUrl = `${contentCenterUrl}/_api/machinelearning/models/getbyuniqueid('${id}')`;
const requestOptions = {
url: requestUrl,
headers: {
accept: 'application/json;odata=nometadata'
},
responseType: 'json'
};
return await request.get(requestOptions);
}
};
//# sourceMappingURL=spp.js.map