@pnp/cli-microsoft365 6.3.0-beta.861847a → 6.3.0-beta.98b4bc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/Cli.js +38 -0
- package/dist/m365/aad/commands/user/user-add.js +223 -0
- package/dist/m365/aad/commands/user/user-license-list.js +99 -0
- package/dist/m365/aad/commands/user/user-recyclebinitem-clear.js +103 -0
- package/dist/m365/aad/commands/user/user-recyclebinitem-list.js +41 -0
- package/dist/m365/aad/commands/user/user-recyclebinitem-remove.js +92 -0
- package/dist/m365/aad/commands/user/user-remove.js +107 -0
- package/dist/m365/aad/commands.js +6 -0
- package/dist/m365/context/commands/option/option-list.js +54 -0
- package/dist/m365/context/commands.js +1 -0
- package/dist/m365/flow/commands/environment/FlowEnvironmentDetails.js +3 -0
- package/dist/m365/flow/commands/environment/environment-get.js +26 -11
- package/dist/m365/pa/commands/environment/environment-get.js +13 -5
- package/dist/m365/planner/commands/plan/plan-get.js +17 -10
- package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
- package/dist/m365/planner/commands/plan/plan-set.js +21 -10
- package/dist/m365/planner/commands/roster/roster-get.js +61 -0
- package/dist/m365/planner/commands/roster/roster-member-remove.js +140 -0
- package/dist/m365/planner/commands.js +2 -0
- package/dist/m365/pp/commands/environment/environment-get.js +18 -9
- package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +3 -4
- package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +3 -4
- package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +97 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +5 -0
- package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +3 -4
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +5 -0
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +5 -0
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +5 -0
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +5 -0
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +11 -1
- package/dist/m365/purview/commands.js +1 -0
- package/dist/m365/spo/commands/customaction/customaction-get.js +17 -66
- package/dist/m365/spo/commands/customaction/customaction-list.js +2 -36
- package/dist/m365/spo/commands/customaction/customaction-remove.js +11 -18
- package/dist/m365/spo/commands/navigation/navigation-node-get.js +73 -0
- package/dist/m365/spo/commands.js +1 -0
- package/dist/utils/aadUser.js +38 -0
- package/dist/utils/planner.js +1 -4
- package/dist/utils/spo.js +61 -0
- package/docs/docs/cmd/aad/user/user-add.md +168 -0
- package/docs/docs/cmd/aad/user/user-license-list.md +98 -0
- package/docs/docs/cmd/aad/user/user-recyclebinitem-clear.md +42 -0
- package/docs/docs/cmd/aad/user/user-recyclebinitem-list.md +82 -0
- package/docs/docs/cmd/aad/user/user-recyclebinitem-remove.md +45 -0
- package/docs/docs/cmd/aad/user/user-remove.md +51 -0
- package/docs/docs/cmd/context/option/option-list.md +63 -0
- package/docs/docs/cmd/flow/environment/environment-get.md +31 -3
- package/docs/docs/cmd/login.md +26 -0
- package/docs/docs/cmd/logout.md +4 -0
- package/docs/docs/cmd/pa/environment/environment-get.md +8 -2
- package/docs/docs/cmd/planner/plan/plan-get.md +12 -12
- package/docs/docs/cmd/planner/plan/plan-set.md +10 -4
- package/docs/docs/cmd/planner/roster/roster-get.md +73 -0
- package/docs/docs/cmd/planner/roster/roster-member-remove.md +51 -0
- package/docs/docs/cmd/purview/retentionevent/retentionevent-list.md +1 -1
- package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.md +45 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +3 -0
- package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.md +1 -1
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.md +3 -0
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.md +3 -0
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.md +3 -0
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.md +3 -0
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.md +3 -0
- package/docs/docs/cmd/request.md +74 -0
- package/docs/docs/cmd/spo/list/list-contenttype-add.md +1 -1
- package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +1 -1
- package/docs/docs/cmd/spo/list/list-contenttype-list.md +1 -1
- package/docs/docs/cmd/spo/list/list-contenttype-remove.md +1 -1
- package/docs/docs/cmd/spo/navigation/navigation-node-get.md +91 -0
- package/docs/docs/cmd/status.md +46 -0
- package/docs/docs/cmd/version.md +26 -0
- package/npm-shrinkwrap.json +911 -876
- package/package.json +12 -12
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _AadUserRemoveCommand_instances, _AadUserRemoveCommand_initTelemetry, _AadUserRemoveCommand_initOptions, _AadUserRemoveCommand_initOptionSets, _AadUserRemoveCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const commands_1 = require("../../commands");
|
|
19
|
+
const request_1 = require("../../../../request");
|
|
20
|
+
const validation_1 = require("../../../../utils/validation");
|
|
21
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
22
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
23
|
+
class AadUserRemoveCommand extends GraphCommand_1.default {
|
|
24
|
+
get name() {
|
|
25
|
+
return commands_1.default.USER_REMOVE;
|
|
26
|
+
}
|
|
27
|
+
get description() {
|
|
28
|
+
return 'Removes a specific user';
|
|
29
|
+
}
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
_AadUserRemoveCommand_instances.add(this);
|
|
33
|
+
__classPrivateFieldGet(this, _AadUserRemoveCommand_instances, "m", _AadUserRemoveCommand_initTelemetry).call(this);
|
|
34
|
+
__classPrivateFieldGet(this, _AadUserRemoveCommand_instances, "m", _AadUserRemoveCommand_initOptions).call(this);
|
|
35
|
+
__classPrivateFieldGet(this, _AadUserRemoveCommand_instances, "m", _AadUserRemoveCommand_initValidators).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _AadUserRemoveCommand_instances, "m", _AadUserRemoveCommand_initOptionSets).call(this);
|
|
37
|
+
}
|
|
38
|
+
commandAction(logger, args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
if (this.verbose) {
|
|
41
|
+
logger.logToStderr(`Removing user '${args.options.id || args.options.userName}'...`);
|
|
42
|
+
}
|
|
43
|
+
if (args.options.confirm) {
|
|
44
|
+
yield this.deleteUser(args);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const result = yield Cli_1.Cli.prompt({
|
|
48
|
+
type: 'confirm',
|
|
49
|
+
name: 'continue',
|
|
50
|
+
default: false,
|
|
51
|
+
message: `Are you sure you want to remove user '${args.options.id || args.options.userName}'?`
|
|
52
|
+
});
|
|
53
|
+
if (result.continue) {
|
|
54
|
+
yield this.deleteUser(args);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
deleteUser(args) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
try {
|
|
62
|
+
const requestOptions = {
|
|
63
|
+
url: `${this.resource}/v1.0/users/${args.options.id || args.options.userName}`,
|
|
64
|
+
headers: {
|
|
65
|
+
accept: 'application/json;odata.metadata=none'
|
|
66
|
+
},
|
|
67
|
+
responseType: 'json'
|
|
68
|
+
};
|
|
69
|
+
yield request_1.default.delete(requestOptions);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
this.handleRejectedODataJsonPromise(err);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_AadUserRemoveCommand_instances = new WeakSet(), _AadUserRemoveCommand_initTelemetry = function _AadUserRemoveCommand_initTelemetry() {
|
|
78
|
+
this.telemetry.push((args) => {
|
|
79
|
+
Object.assign(this.telemetryProperties, {
|
|
80
|
+
id: typeof args.options.id !== 'undefined',
|
|
81
|
+
userName: typeof args.options.userName !== 'undefined',
|
|
82
|
+
confirm: !!args.options.confirm
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}, _AadUserRemoveCommand_initOptions = function _AadUserRemoveCommand_initOptions() {
|
|
86
|
+
this.options.unshift({
|
|
87
|
+
option: '--id [id]'
|
|
88
|
+
}, {
|
|
89
|
+
option: '--userName [userName]'
|
|
90
|
+
}, {
|
|
91
|
+
option: '--confirm'
|
|
92
|
+
});
|
|
93
|
+
}, _AadUserRemoveCommand_initOptionSets = function _AadUserRemoveCommand_initOptionSets() {
|
|
94
|
+
this.optionSets.push({ options: ['id', 'userName'] });
|
|
95
|
+
}, _AadUserRemoveCommand_initValidators = function _AadUserRemoveCommand_initValidators() {
|
|
96
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
if (args.options.id && !validation_1.validation.isValidGuid(args.options.id)) {
|
|
98
|
+
return `${args.options.id} is not a valid GUID`;
|
|
99
|
+
}
|
|
100
|
+
if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
|
|
101
|
+
return `${args.options.userName} is not a valid user principal name (UPN)`;
|
|
102
|
+
}
|
|
103
|
+
return true;
|
|
104
|
+
}));
|
|
105
|
+
};
|
|
106
|
+
module.exports = new AadUserRemoveCommand();
|
|
107
|
+
//# sourceMappingURL=user-remove.js.map
|
|
@@ -55,11 +55,17 @@ exports.default = {
|
|
|
55
55
|
SITECLASSIFICATION_SET: `${prefix} siteclassification set`,
|
|
56
56
|
SP_ADD: `${prefix} sp add`,
|
|
57
57
|
SP_GET: `${prefix} sp get`,
|
|
58
|
+
USER_ADD: `${prefix} user add`,
|
|
58
59
|
USER_GET: `${prefix} user get`,
|
|
59
60
|
USER_GUEST_ADD: `${prefix} user guest add`,
|
|
60
61
|
USER_HIBP: `${prefix} user hibp`,
|
|
62
|
+
USER_LICENSE_LIST: `${prefix} user license list`,
|
|
61
63
|
USER_LIST: `${prefix} user list`,
|
|
62
64
|
USER_PASSWORD_VALIDATE: `${prefix} user password validate`,
|
|
65
|
+
USER_RECYCLEBINITEM_CLEAR: `${prefix} user recyclebinitem clear`,
|
|
66
|
+
USER_RECYCLEBINITEM_LIST: `${prefix} user recyclebinitem list`,
|
|
67
|
+
USER_RECYCLEBINITEM_REMOVE: `${prefix} user recyclebinitem remove`,
|
|
68
|
+
USER_REMOVE: `${prefix} user remove`,
|
|
63
69
|
USER_SET: `${prefix} user set`,
|
|
64
70
|
USER_SIGNIN_LIST: `${prefix} user signin list`
|
|
65
71
|
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const fs = require("fs");
|
|
13
|
+
const Command_1 = require("../../../../Command");
|
|
14
|
+
const ContextCommand_1 = require("../../../base/ContextCommand");
|
|
15
|
+
const commands_1 = require("../../commands");
|
|
16
|
+
class ContextOptionListCommand extends ContextCommand_1.default {
|
|
17
|
+
get name() {
|
|
18
|
+
return commands_1.default.OPTION_LIST;
|
|
19
|
+
}
|
|
20
|
+
get description() {
|
|
21
|
+
return 'List all options added to the context';
|
|
22
|
+
}
|
|
23
|
+
commandAction(logger) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
if (this.verbose) {
|
|
26
|
+
logger.logToStderr(`Retrieving context options...`);
|
|
27
|
+
}
|
|
28
|
+
const filePath = '.m365rc.json';
|
|
29
|
+
let m365rc = {};
|
|
30
|
+
if (fs.existsSync(filePath)) {
|
|
31
|
+
try {
|
|
32
|
+
if (this.verbose) {
|
|
33
|
+
logger.logToStderr(`Reading context file...`);
|
|
34
|
+
}
|
|
35
|
+
const fileContents = fs.readFileSync(filePath, 'utf8');
|
|
36
|
+
if (fileContents) {
|
|
37
|
+
m365rc = JSON.parse(fileContents);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
throw new Command_1.CommandError(`Error reading ${filePath}: ${e}. Please retrieve context options from ${filePath} manually.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!m365rc.context) {
|
|
45
|
+
throw new Command_1.CommandError(`No context present`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
logger.log(m365rc.context);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
module.exports = new ContextOptionListCommand();
|
|
54
|
+
//# sourceMappingURL=option-list.js.map
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const prefix = 'context';
|
|
4
4
|
exports.default = {
|
|
5
5
|
INIT: `${prefix} init`,
|
|
6
|
+
OPTION_LIST: `${prefix} option list`,
|
|
6
7
|
OPTION_REMOVE: `${prefix} option remove`,
|
|
7
8
|
OPTION_SET: `${prefix} option set`,
|
|
8
9
|
REMOVE: `${prefix} remove`
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _FlowEnvironmentGetCommand_instances, _FlowEnvironmentGetCommand_initOptions;
|
|
16
|
+
var _FlowEnvironmentGetCommand_instances, _FlowEnvironmentGetCommand_initOptions, _FlowEnvironmentGetCommand_initTelemetry;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const formatting_1 = require("../../../../utils/formatting");
|
|
@@ -33,27 +33,36 @@ class FlowEnvironmentGetCommand extends AzmgmtCommand_1.default {
|
|
|
33
33
|
super();
|
|
34
34
|
_FlowEnvironmentGetCommand_instances.add(this);
|
|
35
35
|
__classPrivateFieldGet(this, _FlowEnvironmentGetCommand_instances, "m", _FlowEnvironmentGetCommand_initOptions).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _FlowEnvironmentGetCommand_instances, "m", _FlowEnvironmentGetCommand_initTelemetry).call(this);
|
|
36
37
|
}
|
|
37
38
|
commandAction(logger, args) {
|
|
39
|
+
var _a;
|
|
38
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
41
|
if (this.verbose) {
|
|
40
|
-
logger.logToStderr(`Retrieving information about Microsoft Flow environment ${args.options.name}...`);
|
|
42
|
+
logger.logToStderr(`Retrieving information about Microsoft Flow environment ${(_a = args.options.name) !== null && _a !== void 0 ? _a : ''}...`);
|
|
43
|
+
}
|
|
44
|
+
let requestUrl = `${this.resource}providers/Microsoft.ProcessSimple/environments/`;
|
|
45
|
+
if (args.options.name) {
|
|
46
|
+
requestUrl += `${formatting_1.formatting.encodeQueryParameter(args.options.name)}`;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
requestUrl += `~default`;
|
|
41
50
|
}
|
|
42
51
|
const requestOptions = {
|
|
43
|
-
url: `${
|
|
52
|
+
url: `${requestUrl}?api-version=2016-11-01`,
|
|
44
53
|
headers: {
|
|
45
54
|
accept: 'application/json'
|
|
46
55
|
},
|
|
47
56
|
responseType: 'json'
|
|
48
57
|
};
|
|
49
58
|
try {
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
logger.log(
|
|
59
|
+
const flowItem = yield request_1.default.get(requestOptions);
|
|
60
|
+
flowItem.displayName = flowItem.properties.displayName;
|
|
61
|
+
flowItem.provisioningState = flowItem.properties.provisioningState;
|
|
62
|
+
flowItem.environmentSku = flowItem.properties.environmentSku;
|
|
63
|
+
flowItem.azureRegionHint = flowItem.properties.azureRegionHint;
|
|
64
|
+
flowItem.isDefault = flowItem.properties.isDefault;
|
|
65
|
+
logger.log(flowItem);
|
|
57
66
|
}
|
|
58
67
|
catch (err) {
|
|
59
68
|
this.handleRejectedODataJsonPromise(err);
|
|
@@ -63,7 +72,13 @@ class FlowEnvironmentGetCommand extends AzmgmtCommand_1.default {
|
|
|
63
72
|
}
|
|
64
73
|
_FlowEnvironmentGetCommand_instances = new WeakSet(), _FlowEnvironmentGetCommand_initOptions = function _FlowEnvironmentGetCommand_initOptions() {
|
|
65
74
|
this.options.unshift({
|
|
66
|
-
option: '-n, --name
|
|
75
|
+
option: '-n, --name [name]'
|
|
76
|
+
});
|
|
77
|
+
}, _FlowEnvironmentGetCommand_initTelemetry = function _FlowEnvironmentGetCommand_initTelemetry() {
|
|
78
|
+
this.telemetry.push((args) => {
|
|
79
|
+
Object.assign(this.telemetryProperties, {
|
|
80
|
+
name: typeof args.options.name !== 'undefined'
|
|
81
|
+
});
|
|
67
82
|
});
|
|
68
83
|
};
|
|
69
84
|
module.exports = new FlowEnvironmentGetCommand();
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var _PaEnvironmentGetCommand_instances, _PaEnvironmentGetCommand_initOptions;
|
|
16
|
+
var _PaEnvironmentGetCommand_instances, _PaEnvironmentGetCommand_initTelemetry, _PaEnvironmentGetCommand_initOptions;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const formatting_1 = require("../../../../utils/formatting");
|
|
@@ -32,15 +32,17 @@ class PaEnvironmentGetCommand extends PowerAppsCommand_1.default {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super();
|
|
34
34
|
_PaEnvironmentGetCommand_instances.add(this);
|
|
35
|
+
__classPrivateFieldGet(this, _PaEnvironmentGetCommand_instances, "m", _PaEnvironmentGetCommand_initTelemetry).call(this);
|
|
35
36
|
__classPrivateFieldGet(this, _PaEnvironmentGetCommand_instances, "m", _PaEnvironmentGetCommand_initOptions).call(this);
|
|
36
37
|
}
|
|
37
38
|
commandAction(logger, args) {
|
|
38
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
40
|
if (this.verbose) {
|
|
40
|
-
logger.logToStderr(`Retrieving information about Microsoft Power Apps environment ${args.options.name}...`);
|
|
41
|
+
logger.logToStderr(`Retrieving information about Microsoft Power Apps environment ${args.options.name || 'default'}...`);
|
|
41
42
|
}
|
|
43
|
+
const environmentName = args.options.name ? formatting_1.formatting.encodeQueryParameter(args.options.name) : '~default';
|
|
42
44
|
const requestOptions = {
|
|
43
|
-
url: `${this.resource}/providers/Microsoft.PowerApps/environments/${
|
|
45
|
+
url: `${this.resource}/providers/Microsoft.PowerApps/environments/${environmentName}?api-version=2016-11-01`,
|
|
44
46
|
headers: {
|
|
45
47
|
accept: 'application/json'
|
|
46
48
|
},
|
|
@@ -61,9 +63,15 @@ class PaEnvironmentGetCommand extends PowerAppsCommand_1.default {
|
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
|
-
_PaEnvironmentGetCommand_instances = new WeakSet(),
|
|
66
|
+
_PaEnvironmentGetCommand_instances = new WeakSet(), _PaEnvironmentGetCommand_initTelemetry = function _PaEnvironmentGetCommand_initTelemetry() {
|
|
67
|
+
this.telemetry.push((args) => {
|
|
68
|
+
Object.assign(this.telemetryProperties, {
|
|
69
|
+
name: typeof args.options.name !== 'undefined'
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}, _PaEnvironmentGetCommand_initOptions = function _PaEnvironmentGetCommand_initOptions() {
|
|
65
73
|
this.options.unshift({
|
|
66
|
-
option: '-n, --name
|
|
74
|
+
option: '-n, --name [name]'
|
|
67
75
|
});
|
|
68
76
|
};
|
|
69
77
|
module.exports = new PaEnvironmentGetCommand();
|
|
@@ -48,11 +48,18 @@ class PlannerPlanGetCommand extends GraphCommand_1.default {
|
|
|
48
48
|
logger.log(result);
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
|
-
let
|
|
52
|
-
if (args.options.
|
|
53
|
-
|
|
51
|
+
let plan = {};
|
|
52
|
+
if (args.options.rosterId) {
|
|
53
|
+
const plans = yield planner_1.planner.getPlansByRosterId(args.options.rosterId);
|
|
54
|
+
plan = plans[0];
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
let groupId = undefined;
|
|
58
|
+
if (args.options.ownerGroupId || args.options.ownerGroupName) {
|
|
59
|
+
groupId = yield this.getGroupId(args);
|
|
60
|
+
}
|
|
61
|
+
plan = yield planner_1.planner.getPlanByTitle(args.options.title, groupId);
|
|
54
62
|
}
|
|
55
|
-
const plan = yield planner_1.planner.getPlanByTitle(args.options.title, groupId, args.options.rosterId);
|
|
56
63
|
const result = yield this.getPlanDetails(plan);
|
|
57
64
|
if (result) {
|
|
58
65
|
logger.log(result);
|
|
@@ -93,9 +100,9 @@ _PlannerPlanGetCommand_instances = new WeakSet(), _PlannerPlanGetCommand_initTel
|
|
|
93
100
|
Object.assign(this.telemetryProperties, {
|
|
94
101
|
id: typeof args.options.id !== 'undefined',
|
|
95
102
|
title: typeof args.options.title !== 'undefined',
|
|
103
|
+
rosterId: typeof args.options.rosterId !== 'undefined',
|
|
96
104
|
ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
|
|
97
|
-
ownerGroupName: typeof args.options.ownerGroupName !== 'undefined'
|
|
98
|
-
rosterId: typeof args.options.rosterId !== 'undefined'
|
|
105
|
+
ownerGroupName: typeof args.options.ownerGroupName !== 'undefined'
|
|
99
106
|
});
|
|
100
107
|
});
|
|
101
108
|
}, _PlannerPlanGetCommand_initOptions = function _PlannerPlanGetCommand_initOptions() {
|
|
@@ -103,12 +110,12 @@ _PlannerPlanGetCommand_instances = new WeakSet(), _PlannerPlanGetCommand_initTel
|
|
|
103
110
|
option: '-i, --id [id]'
|
|
104
111
|
}, {
|
|
105
112
|
option: '-t, --title [title]'
|
|
113
|
+
}, {
|
|
114
|
+
option: '--rosterId [rosterId]'
|
|
106
115
|
}, {
|
|
107
116
|
option: '--ownerGroupId [ownerGroupId]'
|
|
108
117
|
}, {
|
|
109
118
|
option: '--ownerGroupName [ownerGroupName]'
|
|
110
|
-
}, {
|
|
111
|
-
option: '--rosterId [rosterId]'
|
|
112
119
|
});
|
|
113
120
|
}, _PlannerPlanGetCommand_initValidators = function _PlannerPlanGetCommand_initValidators() {
|
|
114
121
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -119,9 +126,9 @@ _PlannerPlanGetCommand_instances = new WeakSet(), _PlannerPlanGetCommand_initTel
|
|
|
119
126
|
}));
|
|
120
127
|
}, _PlannerPlanGetCommand_initOptionSets = function _PlannerPlanGetCommand_initOptionSets() {
|
|
121
128
|
this.optionSets.push({
|
|
122
|
-
options: ['id', 'title']
|
|
129
|
+
options: ['id', 'title', 'rosterId']
|
|
123
130
|
}, {
|
|
124
|
-
options: ['ownerGroupId', 'ownerGroupName'
|
|
131
|
+
options: ['ownerGroupId', 'ownerGroupName'],
|
|
125
132
|
runsWhen: (args) => {
|
|
126
133
|
return args.options.title !== undefined;
|
|
127
134
|
}
|
|
@@ -79,7 +79,7 @@ class PlannerPlanRemoveCommand extends GraphCommand_1.default {
|
|
|
79
79
|
return planner_1.planner.getPlanById(id, 'minimal');
|
|
80
80
|
}
|
|
81
81
|
const groupId = yield this.getGroupId(args);
|
|
82
|
-
return yield planner_1.planner.getPlanByTitle(title, groupId,
|
|
82
|
+
return yield planner_1.planner.getPlanByTitle(title, groupId, 'minimal');
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
getGroupId(args) {
|
|
@@ -59,9 +59,16 @@ class PlannerPlanSetCommand extends GraphCommand_1.default {
|
|
|
59
59
|
if (id) {
|
|
60
60
|
return id;
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
let groupId = '';
|
|
63
|
+
if (args.options.rosterId) {
|
|
64
|
+
const plans = yield planner_1.planner.getPlansByRosterId(args.options.rosterId);
|
|
65
|
+
return plans[0].id;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
groupId = yield this.getGroupId(args);
|
|
69
|
+
const plan = yield planner_1.planner.getPlanByTitle(title, groupId);
|
|
70
|
+
return plan.id;
|
|
71
|
+
}
|
|
65
72
|
});
|
|
66
73
|
}
|
|
67
74
|
getUserIds(options) {
|
|
@@ -214,6 +221,7 @@ _PlannerPlanSetCommand_instances = new WeakSet(), _PlannerPlanSetCommand_initTel
|
|
|
214
221
|
title: typeof args.options.title !== 'undefined',
|
|
215
222
|
ownerGroupId: typeof args.options.ownerGroupId !== 'undefined',
|
|
216
223
|
ownerGroupName: typeof args.options.ownerGroupName !== 'undefined',
|
|
224
|
+
rosterId: typeof args.options.rosterId !== 'undefined',
|
|
217
225
|
newTitle: typeof args.options.newTitle !== 'undefined',
|
|
218
226
|
shareWithUserIds: typeof args.options.shareWithUserIds !== 'undefined',
|
|
219
227
|
shareWithUserNames: typeof args.options.shareWithUserNames !== 'undefined'
|
|
@@ -228,6 +236,8 @@ _PlannerPlanSetCommand_instances = new WeakSet(), _PlannerPlanSetCommand_initTel
|
|
|
228
236
|
option: '--ownerGroupId [ownerGroupId]'
|
|
229
237
|
}, {
|
|
230
238
|
option: '--ownerGroupName [ownerGroupName]'
|
|
239
|
+
}, {
|
|
240
|
+
option: '--rosterId [rosterId]'
|
|
231
241
|
}, {
|
|
232
242
|
option: '--newTitle [newTitle]'
|
|
233
243
|
}, {
|
|
@@ -241,12 +251,6 @@ _PlannerPlanSetCommand_instances = new WeakSet(), _PlannerPlanSetCommand_initTel
|
|
|
241
251
|
if (args.options.ownerGroupId && !validation_1.validation.isValidGuid(args.options.ownerGroupId)) {
|
|
242
252
|
return `${args.options.ownerGroupId} is not a valid GUID`;
|
|
243
253
|
}
|
|
244
|
-
if (!args.options.ownerGroupId && !args.options.ownerGroupName) {
|
|
245
|
-
return 'Specify either ownerGroupId or ownerGroupName when using title';
|
|
246
|
-
}
|
|
247
|
-
if (args.options.ownerGroupId && args.options.ownerGroupName) {
|
|
248
|
-
return 'Specify either ownerGroupId or ownerGroupName when using title but not both';
|
|
249
|
-
}
|
|
250
254
|
}
|
|
251
255
|
if (args.options.shareWithUserIds && args.options.shareWithUserNames) {
|
|
252
256
|
return 'Specify either shareWithUserIds or shareWithUserNames but not both';
|
|
@@ -293,7 +297,14 @@ _PlannerPlanSetCommand_instances = new WeakSet(), _PlannerPlanSetCommand_initTel
|
|
|
293
297
|
return true;
|
|
294
298
|
}));
|
|
295
299
|
}, _PlannerPlanSetCommand_initOptionSets = function _PlannerPlanSetCommand_initOptionSets() {
|
|
296
|
-
this.optionSets.push({
|
|
300
|
+
this.optionSets.push({
|
|
301
|
+
options: ['id', 'title', 'rosterId']
|
|
302
|
+
}, {
|
|
303
|
+
options: ['ownerGroupId', 'ownerGroupName'],
|
|
304
|
+
runsWhen: (args) => {
|
|
305
|
+
return args.options.title !== undefined;
|
|
306
|
+
}
|
|
307
|
+
});
|
|
297
308
|
};
|
|
298
309
|
module.exports = new PlannerPlanSetCommand();
|
|
299
310
|
//# sourceMappingURL=plan-set.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _PlannerRosterGetCommand_instances, _PlannerRosterGetCommand_initOptions;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const request_1 = require("../../../../request");
|
|
19
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
20
|
+
const commands_1 = require("../../commands");
|
|
21
|
+
class PlannerRosterGetCommand extends GraphCommand_1.default {
|
|
22
|
+
get name() {
|
|
23
|
+
return commands_1.default.ROSTER_GET;
|
|
24
|
+
}
|
|
25
|
+
get description() {
|
|
26
|
+
return 'Retrieve information about a specific Microsoft Planner Roster';
|
|
27
|
+
}
|
|
28
|
+
constructor() {
|
|
29
|
+
super();
|
|
30
|
+
_PlannerRosterGetCommand_instances.add(this);
|
|
31
|
+
__classPrivateFieldGet(this, _PlannerRosterGetCommand_instances, "m", _PlannerRosterGetCommand_initOptions).call(this);
|
|
32
|
+
}
|
|
33
|
+
commandAction(logger, args) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
if (this.verbose) {
|
|
36
|
+
logger.logToStderr(`Retrieving information about Microsoft Planner Roster with id ${args.options.id}`);
|
|
37
|
+
}
|
|
38
|
+
const requestOptions = {
|
|
39
|
+
url: `${this.resource}/beta/planner/rosters/${args.options.id}`,
|
|
40
|
+
headers: {
|
|
41
|
+
'accept': 'application/json;odata.metadata=none'
|
|
42
|
+
},
|
|
43
|
+
responseType: 'json'
|
|
44
|
+
};
|
|
45
|
+
try {
|
|
46
|
+
const response = yield request_1.default.get(requestOptions);
|
|
47
|
+
logger.log(response);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
this.handleRejectedODataJsonPromise(err);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
_PlannerRosterGetCommand_instances = new WeakSet(), _PlannerRosterGetCommand_initOptions = function _PlannerRosterGetCommand_initOptions() {
|
|
56
|
+
this.options.unshift({
|
|
57
|
+
option: '--id <id>'
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
module.exports = new PlannerRosterGetCommand();
|
|
61
|
+
//# sourceMappingURL=roster-get.js.map
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _PlannerRosterMemberRemoveCommand_instances, _PlannerRosterMemberRemoveCommand_initTelemetry, _PlannerRosterMemberRemoveCommand_initOptions, _PlannerRosterMemberRemoveCommand_initOptionSets, _PlannerRosterMemberRemoveCommand_initValidators;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
19
|
+
const request_1 = require("../../../../request");
|
|
20
|
+
const validation_1 = require("../../../../utils/validation");
|
|
21
|
+
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
22
|
+
const commands_1 = require("../../commands");
|
|
23
|
+
const odata_1 = require("../../../../utils/odata");
|
|
24
|
+
const aadUser_1 = require("../../../../utils/aadUser");
|
|
25
|
+
class PlannerRosterMemberRemoveCommand extends GraphCommand_1.default {
|
|
26
|
+
get name() {
|
|
27
|
+
return commands_1.default.ROSTER_MEMBER_REMOVE;
|
|
28
|
+
}
|
|
29
|
+
get description() {
|
|
30
|
+
return 'Removes a member from a Microsoft Planner Roster';
|
|
31
|
+
}
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
_PlannerRosterMemberRemoveCommand_instances.add(this);
|
|
35
|
+
__classPrivateFieldGet(this, _PlannerRosterMemberRemoveCommand_instances, "m", _PlannerRosterMemberRemoveCommand_initTelemetry).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _PlannerRosterMemberRemoveCommand_instances, "m", _PlannerRosterMemberRemoveCommand_initOptions).call(this);
|
|
37
|
+
__classPrivateFieldGet(this, _PlannerRosterMemberRemoveCommand_instances, "m", _PlannerRosterMemberRemoveCommand_initValidators).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _PlannerRosterMemberRemoveCommand_instances, "m", _PlannerRosterMemberRemoveCommand_initOptionSets).call(this);
|
|
39
|
+
}
|
|
40
|
+
commandAction(logger, args) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (this.verbose) {
|
|
43
|
+
logger.logToStderr(`Removing member ${args.options.userName || args.options.userId} from the Microsoft Planner Roster`);
|
|
44
|
+
}
|
|
45
|
+
if (args.options.confirm) {
|
|
46
|
+
yield this.removeRosterMember(args);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const result = yield Cli_1.Cli.prompt({
|
|
50
|
+
type: 'confirm',
|
|
51
|
+
name: 'continue',
|
|
52
|
+
default: false,
|
|
53
|
+
message: `Are you sure you want to remove member '${args.options.userId || args.options.userName}'?`
|
|
54
|
+
});
|
|
55
|
+
if (result.continue) {
|
|
56
|
+
yield this.removeRosterMember(args);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getUserId(args) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
if (args.options.userId) {
|
|
64
|
+
return args.options.userId;
|
|
65
|
+
}
|
|
66
|
+
return aadUser_1.aadUser.getUserIdByUpn(args.options.userName);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
removeRosterMember(args) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
try {
|
|
72
|
+
const rosterMembersContinue = yield this.removeLastMemberConfirmation(args);
|
|
73
|
+
if (rosterMembersContinue) {
|
|
74
|
+
const userId = yield this.getUserId(args);
|
|
75
|
+
const requestOptions = {
|
|
76
|
+
url: `${this.resource}/beta/planner/rosters/${args.options.rosterId}/members/${userId}`,
|
|
77
|
+
headers: {
|
|
78
|
+
accept: 'application/json;odata.metadata=none'
|
|
79
|
+
},
|
|
80
|
+
responseType: 'json'
|
|
81
|
+
};
|
|
82
|
+
yield request_1.default.delete(requestOptions);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
this.handleRejectedODataJsonPromise(err);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
removeLastMemberConfirmation(args) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
if (!args.options.confirm) {
|
|
93
|
+
const rosterMembers = yield odata_1.odata.getAllItems(`${this.resource}/beta/planner/rosters/${args.options.rosterId}/members?$select=Id`);
|
|
94
|
+
if (rosterMembers.length === 1) {
|
|
95
|
+
const result = yield Cli_1.Cli.prompt({
|
|
96
|
+
type: 'confirm',
|
|
97
|
+
name: 'continue',
|
|
98
|
+
default: false,
|
|
99
|
+
message: `You are about to remove the last member of this Roster. When this happens, the Roster and all its contents will be deleted within 30 days. Are you sure you want to proceed?`
|
|
100
|
+
});
|
|
101
|
+
return result.continue;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
_PlannerRosterMemberRemoveCommand_instances = new WeakSet(), _PlannerRosterMemberRemoveCommand_initTelemetry = function _PlannerRosterMemberRemoveCommand_initTelemetry() {
|
|
109
|
+
this.telemetry.push((args) => {
|
|
110
|
+
Object.assign(this.telemetryProperties, {
|
|
111
|
+
userId: typeof args.options.userId !== 'undefined',
|
|
112
|
+
userName: typeof args.options.userName !== 'undefined',
|
|
113
|
+
confirm: !!args.options.confirm
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}, _PlannerRosterMemberRemoveCommand_initOptions = function _PlannerRosterMemberRemoveCommand_initOptions() {
|
|
117
|
+
this.options.unshift({
|
|
118
|
+
option: '--rosterId <rosterId>'
|
|
119
|
+
}, {
|
|
120
|
+
option: '--userId [userId]'
|
|
121
|
+
}, {
|
|
122
|
+
option: '--userName [userName]'
|
|
123
|
+
}, {
|
|
124
|
+
option: '--confirm'
|
|
125
|
+
});
|
|
126
|
+
}, _PlannerRosterMemberRemoveCommand_initOptionSets = function _PlannerRosterMemberRemoveCommand_initOptionSets() {
|
|
127
|
+
this.optionSets.push({ options: ['userId', 'userName'] });
|
|
128
|
+
}, _PlannerRosterMemberRemoveCommand_initValidators = function _PlannerRosterMemberRemoveCommand_initValidators() {
|
|
129
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
if (args.options.userId && !validation_1.validation.isValidGuid(args.options.userId)) {
|
|
131
|
+
return `${args.options.userId} is not a valid GUID`;
|
|
132
|
+
}
|
|
133
|
+
if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
|
|
134
|
+
return `${args.options.userName} is not a valid userName`;
|
|
135
|
+
}
|
|
136
|
+
return true;
|
|
137
|
+
}));
|
|
138
|
+
};
|
|
139
|
+
module.exports = new PlannerRosterMemberRemoveCommand();
|
|
140
|
+
//# sourceMappingURL=roster-member-remove.js.map
|