@pnp/cli-microsoft365
Version:
Manage Microsoft 365 and SharePoint Framework projects on any platform
52 lines • 1.78 kB
JavaScript
import { z } from 'zod';
import { globalOptionsZod } from '../../../../Command.js';
import request from "../../../../request.js";
import { zod } from '../../../../utils/zod.js';
import GraphCommand from "../../../base/GraphCommand.js";
import commands from "../../commands.js";
const options = globalOptionsZod
.extend({
displayName: zod.alias('n', z.string()),
description: zod.alias('d', z.string().optional()),
hiddenMembership: z.boolean().optional()
})
.passthrough();
class EntraAdministrativeUnitAddCommand extends GraphCommand {
get name() {
return commands.ADMINISTRATIVEUNIT_ADD;
}
get description() {
return 'Creates an administrative unit';
}
allowUnknownOptions() {
return true;
}
get schema() {
return options;
}
async commandAction(logger, args) {
const requestBody = {
description: args.options.description,
displayName: args.options.displayName,
visibility: args.options.hiddenMembership ? 'HiddenMembership' : null
};
this.addUnknownOptionsToPayloadZod(requestBody, args.options);
const requestOptions = {
url: `${this.resource}/v1.0/directory/administrativeUnits`,
headers: {
accept: 'application/json;odata.metadata=none'
},
responseType: 'json',
data: requestBody
};
try {
const administrativeUnit = await request.post(requestOptions);
await logger.log(administrativeUnit);
}
catch (err) {
this.handleRejectedODataJsonPromise(err);
}
}
}
export default new EntraAdministrativeUnitAddCommand();
//# sourceMappingURL=administrativeunit-add.js.map