@pnp/cli-microsoft365 5.4.0-beta.d01ee78 → 5.4.0-beta.fb9344d
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/.devcontainer/Dockerfile +1 -1
- package/.eslintrc.js +1 -0
- package/dist/m365/aad/commands/app/app-set.js +4 -1
- package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +4 -19
- package/dist/m365/aad/commands/o365group/o365group-get.js +3 -9
- package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +129 -0
- package/dist/m365/aad/commands.js +1 -0
- package/dist/m365/base/PlannerCommand.js +10 -0
- package/dist/m365/flow/commands/flow-export.js +3 -3
- package/dist/m365/planner/commands/bucket/bucket-add.js +4 -16
- package/dist/m365/planner/commands/bucket/bucket-get.js +4 -18
- package/dist/m365/planner/commands/bucket/bucket-list.js +4 -17
- package/dist/m365/planner/commands/bucket/bucket-remove.js +4 -18
- package/dist/m365/planner/commands/bucket/bucket-set.js +4 -18
- package/dist/m365/planner/commands/plan/plan-add.js +4 -16
- package/dist/m365/planner/commands/plan/plan-details-get.js +4 -19
- package/dist/m365/planner/commands/plan/plan-get.js +4 -17
- package/dist/m365/planner/commands/plan/plan-list.js +4 -17
- package/dist/m365/planner/commands/task/task-add.js +60 -23
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +89 -0
- package/dist/m365/planner/commands/task/{task-details-get.js → task-checklistitem-list.js} +21 -13
- package/dist/m365/planner/commands/task/task-checklistitem-remove.js +85 -0
- package/dist/m365/planner/commands/task/task-get.js +40 -29
- package/dist/m365/planner/commands/task/task-list.js +4 -16
- package/dist/m365/planner/commands/task/task-reference-remove.js +125 -0
- package/dist/m365/planner/commands/task/task-remove.js +201 -0
- package/dist/m365/planner/commands/task/task-set.js +21 -17
- package/dist/m365/planner/commands/tenant/tenant-settings-list.js +33 -0
- package/dist/m365/planner/commands.js +8 -2
- package/dist/m365/planner/taskPriority.js +27 -0
- package/dist/m365/spo/commands/contenttype/contenttype-add.js +1 -1
- package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +1 -1
- package/dist/m365/spo/commands/contenttype/contenttype-get.js +1 -1
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +3 -3
- package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +102 -0
- package/dist/m365/spo/commands/field/field-add.js +1 -1
- package/dist/m365/spo/commands/field/field-get.js +5 -5
- package/dist/m365/spo/commands/field/field-list.js +3 -3
- package/dist/m365/spo/commands/field/field-remove.js +5 -5
- package/dist/m365/spo/commands/file/file-sharinginfo-get.js +1 -1
- package/dist/m365/spo/commands/hubsite/hubsite-list.js +1 -1
- package/dist/m365/spo/commands/list/ListPrincipalType.js +13 -0
- package/dist/m365/spo/commands/list/list-contenttype-add.js +3 -3
- package/dist/m365/spo/commands/list/list-contenttype-default-set.js +2 -2
- package/dist/m365/spo/commands/list/list-contenttype-list.js +3 -3
- package/dist/m365/spo/commands/list/list-contenttype-remove.js +3 -3
- package/dist/m365/spo/commands/list/list-get.js +8 -2
- package/dist/m365/spo/commands/list/list-label-get.js +3 -3
- package/dist/m365/spo/commands/list/list-label-set.js +2 -2
- package/dist/m365/spo/commands/list/list-list.js +10 -1
- package/dist/m365/spo/commands/list/list-remove.js +2 -2
- package/dist/m365/spo/commands/list/list-roleinheritance-break.js +2 -2
- package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +2 -2
- package/dist/m365/spo/commands/list/list-sitescript-get.js +3 -3
- package/dist/m365/spo/commands/list/list-view-add.js +3 -3
- package/dist/m365/spo/commands/list/list-view-field-add.js +2 -2
- package/dist/m365/spo/commands/list/list-view-field-remove.js +2 -2
- package/dist/m365/spo/commands/list/list-view-field-set.js +2 -2
- package/dist/m365/spo/commands/list/list-view-get.js +4 -4
- package/dist/m365/spo/commands/list/list-view-list.js +3 -3
- package/dist/m365/spo/commands/list/list-view-remove.js +3 -3
- package/dist/m365/spo/commands/list/list-view-set.js +3 -3
- package/dist/m365/spo/commands/list/list-webhook-add.js +3 -3
- package/dist/m365/spo/commands/list/list-webhook-get.js +3 -3
- package/dist/m365/spo/commands/list/list-webhook-list.js +5 -5
- package/dist/m365/spo/commands/list/list-webhook-remove.js +4 -4
- package/dist/m365/spo/commands/list/list-webhook-set.js +3 -3
- package/dist/m365/spo/commands/listitem/listitem-add.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-get.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-isrecord.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-list.js +31 -11
- package/dist/m365/spo/commands/listitem/listitem-record-declare.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-remove.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +2 -2
- package/dist/m365/spo/commands/listitem/listitem-set.js +2 -2
- package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +82 -0
- package/dist/m365/spo/commands/site/site-remove.js +23 -37
- package/dist/m365/spo/commands.js +2 -0
- package/dist/m365/teams/commands/app/app-list.js +6 -20
- package/dist/m365/teams/commands/channel/channel-get.js +6 -19
- package/dist/m365/teams/commands/channel/channel-list.js +6 -18
- package/dist/m365/teams/commands/channel/channel-member-add.js +7 -18
- package/dist/m365/teams/commands/channel/channel-member-list.js +6 -19
- package/dist/m365/teams/commands/channel/channel-member-remove.js +6 -19
- package/dist/m365/teams/commands/channel/channel-member-set.js +6 -19
- package/dist/m365/teams/commands/tab/tab-get.js +6 -19
- package/dist/m365/teams/commands/team/team-add.js +2 -7
- package/dist/m365/teams/commands/team/team-get.js +6 -19
- package/dist/utils/aadGroup.js +57 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/validation.js +12 -2
- package/docs/docs/cmd/aad/app/app-set.md +1 -1
- package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-remove.md +45 -0
- package/docs/docs/cmd/file/file-list.md +4 -4
- package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -4
- package/docs/docs/cmd/planner/plan/plan-details-get.md +2 -2
- package/docs/docs/cmd/planner/plan/plan-get.md +4 -4
- package/docs/docs/cmd/planner/task/task-add.md +40 -4
- package/docs/docs/cmd/planner/task/task-checklistitem-add.md +36 -0
- package/docs/docs/cmd/planner/task/task-checklistitem-list.md +24 -0
- package/docs/docs/cmd/planner/task/task-checklistitem-remove.md +36 -0
- package/docs/docs/cmd/planner/task/task-get.md +3 -0
- package/docs/docs/cmd/planner/task/task-reference-remove.md +39 -0
- package/docs/docs/cmd/planner/task/task-remove.md +78 -0
- package/docs/docs/cmd/planner/task/task-set.md +13 -3
- package/docs/docs/cmd/planner/tenant/tenant-settings-list.md +28 -0
- package/docs/docs/cmd/spo/eventreceiver/eventreceiver-list.md +64 -0
- package/docs/docs/cmd/spo/file/file-checkout.md +1 -1
- package/docs/docs/cmd/spo/hubsite/hubsite-list.md +1 -4
- package/docs/docs/cmd/spo/list/list-list.md +3 -0
- package/docs/docs/cmd/spo/listitem/listitem-list.md +16 -10
- package/docs/docs/cmd/spo/roledefinition/roledefinition-remove.md +36 -0
- package/package.json +12 -7
- package/docs/docs/cmd/planner/task/task-details-get.md +0 -24
|
@@ -4,6 +4,7 @@ const utils_1 = require("../../../../utils");
|
|
|
4
4
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
5
5
|
const commands_1 = require("../../commands");
|
|
6
6
|
const request_1 = require("../../../../request");
|
|
7
|
+
const aadGroup_1 = require("../../../../utils/aadGroup");
|
|
7
8
|
class TeamsChannelMemberSetCommand extends GraphCommand_1.default {
|
|
8
9
|
constructor() {
|
|
9
10
|
super(...arguments);
|
|
@@ -62,27 +63,13 @@ class TeamsChannelMemberSetCommand extends GraphCommand_1.default {
|
|
|
62
63
|
if (args.options.teamId) {
|
|
63
64
|
return Promise.resolve(args.options.teamId);
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
responseType: 'json'
|
|
71
|
-
};
|
|
72
|
-
return request_1.default
|
|
73
|
-
.get(requestOptions)
|
|
74
|
-
.then(response => {
|
|
75
|
-
const groupItem = response.value[0];
|
|
76
|
-
if (!groupItem) {
|
|
66
|
+
return aadGroup_1.aadGroup
|
|
67
|
+
.getGroupByDisplayName(args.options.teamName)
|
|
68
|
+
.then(group => {
|
|
69
|
+
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
77
70
|
return Promise.reject(`The specified team does not exist in the Microsoft Teams`);
|
|
78
71
|
}
|
|
79
|
-
|
|
80
|
-
return Promise.reject(`The specified team does not exist in the Microsoft Teams`);
|
|
81
|
-
}
|
|
82
|
-
if (response.value.length > 1) {
|
|
83
|
-
return Promise.reject(`Multiple Microsoft Teams teams with name ${args.options.teamName} found: ${response.value.map(x => x.id)}`);
|
|
84
|
-
}
|
|
85
|
-
return Promise.resolve(groupItem.id);
|
|
72
|
+
return group.id;
|
|
86
73
|
});
|
|
87
74
|
}
|
|
88
75
|
getChannelId(args) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const request_1 = require("../../../../request");
|
|
4
4
|
const utils_1 = require("../../../../utils");
|
|
5
|
+
const aadGroup_1 = require("../../../../utils/aadGroup");
|
|
5
6
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
6
7
|
const commands_1 = require("../../commands");
|
|
7
8
|
class TeamsTabGetCommand extends GraphCommand_1.default {
|
|
@@ -30,27 +31,13 @@ class TeamsTabGetCommand extends GraphCommand_1.default {
|
|
|
30
31
|
if (args.options.teamId) {
|
|
31
32
|
return Promise.resolve(args.options.teamId);
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
responseType: 'json'
|
|
39
|
-
};
|
|
40
|
-
return request_1.default
|
|
41
|
-
.get(requestOptions)
|
|
42
|
-
.then(response => {
|
|
43
|
-
const groupItem = response.value[0];
|
|
44
|
-
if (!groupItem) {
|
|
34
|
+
return aadGroup_1.aadGroup
|
|
35
|
+
.getGroupByDisplayName(args.options.teamName)
|
|
36
|
+
.then(group => {
|
|
37
|
+
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
45
38
|
return Promise.reject(`The specified team does not exist in the Microsoft Teams`);
|
|
46
39
|
}
|
|
47
|
-
|
|
48
|
-
return Promise.reject(`The specified team does not exist in the Microsoft Teams`);
|
|
49
|
-
}
|
|
50
|
-
if (response.value.length > 1) {
|
|
51
|
-
return Promise.reject(`Multiple Microsoft Teams teams with name ${args.options.teamName} found: ${response.value.map(x => x.id)}`);
|
|
52
|
-
}
|
|
53
|
-
return Promise.resolve(groupItem.id);
|
|
40
|
+
return group.id;
|
|
54
41
|
});
|
|
55
42
|
}
|
|
56
43
|
getChannelId(args) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const request_1 = require("../../../../request");
|
|
4
|
+
const aadGroup_1 = require("../../../../utils/aadGroup");
|
|
4
5
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
5
6
|
const commands_1 = require("../../commands");
|
|
6
7
|
var TeamsAsyncOperationStatus;
|
|
@@ -94,13 +95,7 @@ class TeamsTeamAddCommand extends GraphCommand_1.default {
|
|
|
94
95
|
if (teamsAsyncOperation.status !== TeamsAsyncOperationStatus.Succeeded) {
|
|
95
96
|
return Promise.resolve(teamsAsyncOperation);
|
|
96
97
|
}
|
|
97
|
-
return
|
|
98
|
-
url: `${this.resource}/v1.0/groups/${teamsAsyncOperation.targetResourceId}`,
|
|
99
|
-
headers: {
|
|
100
|
-
accept: 'application/json;odata.metadata=minimal'
|
|
101
|
-
},
|
|
102
|
-
responseType: 'json'
|
|
103
|
-
});
|
|
98
|
+
return aadGroup_1.aadGroup.getGroupById(teamsAsyncOperation.targetResourceId);
|
|
104
99
|
})
|
|
105
100
|
.then((output) => {
|
|
106
101
|
logger.log(output);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const request_1 = require("../../../../request");
|
|
4
4
|
const utils_1 = require("../../../../utils");
|
|
5
|
+
const aadGroup_1 = require("../../../../utils/aadGroup");
|
|
5
6
|
const GraphCommand_1 = require("../../../base/GraphCommand");
|
|
6
7
|
const commands_1 = require("../../commands");
|
|
7
8
|
class TeamsTeamGetCommand extends GraphCommand_1.default {
|
|
@@ -21,27 +22,13 @@ class TeamsTeamGetCommand extends GraphCommand_1.default {
|
|
|
21
22
|
if (args.options.id) {
|
|
22
23
|
return Promise.resolve(args.options.id);
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
responseType: 'json'
|
|
30
|
-
};
|
|
31
|
-
return request_1.default
|
|
32
|
-
.get(requestOptions)
|
|
33
|
-
.then(response => {
|
|
34
|
-
const groupItem = response.value[0];
|
|
35
|
-
if (!groupItem) {
|
|
36
|
-
return Promise.reject(`The specified team does not exist in the Microsoft Teams`);
|
|
37
|
-
}
|
|
38
|
-
if (groupItem.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
25
|
+
return aadGroup_1.aadGroup
|
|
26
|
+
.getGroupByDisplayName(args.options.name)
|
|
27
|
+
.then(group => {
|
|
28
|
+
if (group.resourceProvisioningOptions.indexOf('Team') === -1) {
|
|
39
29
|
return Promise.reject(`The specified team does not exist in the Microsoft Teams`);
|
|
40
30
|
}
|
|
41
|
-
|
|
42
|
-
return Promise.reject(`Multiple Microsoft Teams teams with name ${args.options.name} found: ${response.value.map(x => x.id)}`);
|
|
43
|
-
}
|
|
44
|
-
return Promise.resolve(groupItem.id);
|
|
31
|
+
return group.id;
|
|
45
32
|
});
|
|
46
33
|
}
|
|
47
34
|
commandAction(logger, args, cb) {
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
exports.aadGroup = void 0;
|
|
13
|
+
const request_1 = require("../request");
|
|
14
|
+
const odata_1 = require("./odata");
|
|
15
|
+
const graphResource = 'https://graph.microsoft.com';
|
|
16
|
+
exports.aadGroup = {
|
|
17
|
+
/**
|
|
18
|
+
* Retrieve a single group.
|
|
19
|
+
* @param id Group ID.
|
|
20
|
+
*/
|
|
21
|
+
getGroupById(id) {
|
|
22
|
+
const requestOptions = {
|
|
23
|
+
url: `${graphResource}/v1.0/groups/${id}`,
|
|
24
|
+
headers: {
|
|
25
|
+
accept: 'application/json;odata.metadata=none'
|
|
26
|
+
},
|
|
27
|
+
responseType: 'json'
|
|
28
|
+
};
|
|
29
|
+
return request_1.default.get(requestOptions);
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* Get a list of groups by display name.
|
|
33
|
+
* @param displayName Group display name.
|
|
34
|
+
*/
|
|
35
|
+
getGroupsByDisplayName(displayName) {
|
|
36
|
+
return odata_1.odata.getAllItems(`${graphResource}/v1.0/groups?$filter=displayName eq '${encodeURIComponent(displayName)}'`);
|
|
37
|
+
},
|
|
38
|
+
/**
|
|
39
|
+
* Get a single group by its display name.
|
|
40
|
+
* @param displayName Group display name.
|
|
41
|
+
* @throws Error when group was not found.
|
|
42
|
+
* @throws Error when multiple groups with the same name were found.
|
|
43
|
+
*/
|
|
44
|
+
getGroupByDisplayName(displayName) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const groups = yield this.getGroupsByDisplayName(displayName);
|
|
47
|
+
if (!groups.length) {
|
|
48
|
+
throw Error(`The specified group '${displayName}' does not exist.`);
|
|
49
|
+
}
|
|
50
|
+
if (groups.length > 1) {
|
|
51
|
+
throw Error(`Multiple groups with name '${displayName}' found: ${groups.map(x => x.id).join(',')}.`);
|
|
52
|
+
}
|
|
53
|
+
return groups[0];
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=aadGroup.js.map
|
package/dist/utils/index.js
CHANGED
|
@@ -14,12 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./aadGroup"), exports);
|
|
17
18
|
__exportStar(require("./accessToken"), exports);
|
|
18
19
|
__exportStar(require("./formatting"), exports);
|
|
19
20
|
__exportStar(require("./fsUtil"), exports);
|
|
20
21
|
__exportStar(require("./md"), exports);
|
|
21
22
|
__exportStar(require("./odata"), exports);
|
|
22
23
|
__exportStar(require("./packageManager"), exports);
|
|
24
|
+
__exportStar(require("./planner"), exports);
|
|
23
25
|
__exportStar(require("./sinonUtil"), exports);
|
|
24
26
|
__exportStar(require("./spfx"), exports);
|
|
25
27
|
__exportStar(require("./spo"), exports);
|
package/dist/utils/validation.js
CHANGED
|
@@ -37,22 +37,32 @@ exports.validation = {
|
|
|
37
37
|
return dateTimeRegEx.test(date) ? true : dateOnlyRegEx.test(date);
|
|
38
38
|
},
|
|
39
39
|
isValidISODateTime(dateTime) {
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
// Format: 2000-01-01T00:00:00.0000000Z
|
|
41
|
+
const withMilliSecsLongPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])\.[0-9]{7}Z$/);
|
|
42
|
+
if (withMilliSecsLongPattern.test(dateTime)) {
|
|
42
43
|
return true;
|
|
43
44
|
}
|
|
45
|
+
// Format: 2000-01-01T00:00:00.000Z
|
|
46
|
+
const withMilliSecsShortPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])\.[0-9]{3}Z$/);
|
|
47
|
+
if (withMilliSecsShortPattern.test(dateTime)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
// Format: 2000-01-01T00:00:00Z
|
|
44
51
|
const withSecsPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])Z$/);
|
|
45
52
|
if (withSecsPattern.test(dateTime)) {
|
|
46
53
|
return true;
|
|
47
54
|
}
|
|
55
|
+
// Format: 2000-01-01T00:00Z
|
|
48
56
|
const withMinutesPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9])Z$/);
|
|
49
57
|
if (withMinutesPattern.test(dateTime)) {
|
|
50
58
|
return true;
|
|
51
59
|
}
|
|
60
|
+
// Format: 2000-01-01T00Z
|
|
52
61
|
const withHoursPattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))T(0[0-9]|1[0-9]|2[0-3])Z$/);
|
|
53
62
|
if (withHoursPattern.test(dateTime)) {
|
|
54
63
|
return true;
|
|
55
64
|
}
|
|
65
|
+
// Format: 2000-01-01
|
|
56
66
|
const withoutTimePattern = new RegExp(/^[0-9]{4}-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))$/);
|
|
57
67
|
if (withoutTimePattern.test(dateTime)) {
|
|
58
68
|
return true;
|
|
@@ -20,7 +20,7 @@ m365 aad app set [options]
|
|
|
20
20
|
: Name of the Azure AD application registration to update. Specify either `appId`, `objectId` or `name`
|
|
21
21
|
|
|
22
22
|
`-u, --uri [uri]`
|
|
23
|
-
: Application ID
|
|
23
|
+
: Comma-separated list of Application ID URIs to update
|
|
24
24
|
|
|
25
25
|
`-r, --redirectUris [redirectUris]`
|
|
26
26
|
: Comma-separated list of redirect URIs to add to the app registration. Requires `platform` to be specified
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# aad o365group recyclebinitem remove
|
|
2
|
+
|
|
3
|
+
Permanently deletes a Microsoft 365 Group from the recycle bin in the current tenant
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 aad o365group recyclebinitem remove [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-i, --id [id]`
|
|
14
|
+
: The ID of the Microsoft 365 Group to remove. Specify either `id`, `displayName` or `mailNickname` but not multiple.
|
|
15
|
+
|
|
16
|
+
`-d, --displayName [displayName]`
|
|
17
|
+
: Display name for the Microsoft 365 Group to remove. Specify either `id`, `displayName` or `mailNickname` but not multiple.
|
|
18
|
+
|
|
19
|
+
`-m, --mailNickname [mailNickname]`
|
|
20
|
+
: Name of the group e-mail (part before the @). Specify either `id`, `displayName` or `mailNickname` but not multiple.
|
|
21
|
+
|
|
22
|
+
`--confirm`
|
|
23
|
+
: Don't prompt for confirmation.
|
|
24
|
+
|
|
25
|
+
--8<-- "docs/cmd/_global.md"
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
Removes the Microsoft 365 Group with specific ID
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 aad o365group recyclebinitem remove --id "00000000-0000-0000-0000-000000000000"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Removes the Microsoft 365 Group with specific name
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
m365 aad o365group recyclebinitem remove --displayName "My Group"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Remove the Microsoft 365 Group with specific mail nickname without confirmation
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
m365 aad o365group recyclebinitem remove --mailNickname "Mygroup" --confirm
|
|
45
|
+
```
|
|
@@ -27,20 +27,20 @@ This command is an improved version of the `spo file list` command. The main dif
|
|
|
27
27
|
|
|
28
28
|
## Examples
|
|
29
29
|
|
|
30
|
-
Return all files from folder _Shared Documents_ located in site _https://contoso.sharepoint.com/sites/project-x_
|
|
30
|
+
Return all files from the folder _Shared Documents_ located in site _https://contoso.sharepoint.com/sites/project-x_
|
|
31
31
|
|
|
32
32
|
```sh
|
|
33
|
-
m365 file list --webUrl https://contoso.sharepoint.com/sites/project-x --
|
|
33
|
+
m365 file list --webUrl https://contoso.sharepoint.com/sites/project-x --folderUrl 'Shared Documents'
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
Return all files from the folder _Shared Documents_ and all the sub-folders of _Shared Documents_ located in site _https://contoso.sharepoint.com/sites/project-x_
|
|
37
37
|
|
|
38
38
|
```sh
|
|
39
|
-
m365 file list --webUrl https://contoso.sharepoint.com/sites/project-x --
|
|
39
|
+
m365 file list --webUrl https://contoso.sharepoint.com/sites/project-x --folderUrl 'Shared Documents' --recursive
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Return all files from the _Important_ folder in the _Shared Documents_ document library located in site _https://contoso.sharepoint.com/sites/project-x_
|
|
43
43
|
|
|
44
44
|
```sh
|
|
45
|
-
m365 file list --webUrl https://contoso.sharepoint.com/sites/project-x --
|
|
45
|
+
m365 file list --webUrl https://contoso.sharepoint.com/sites/project-x --folderUrl 'Shared Documents/Important'
|
|
46
46
|
```
|
|
@@ -17,16 +17,16 @@ m365 planner bucket set [options]
|
|
|
17
17
|
: Name of the bucket. Specify either `id` or `name` but not both.
|
|
18
18
|
|
|
19
19
|
`--planId [planId]`
|
|
20
|
-
: ID of the plan to update the bucket of.
|
|
20
|
+
: ID of the plan to update the bucket of. Specify either `planId` or `planName` when using `name`.
|
|
21
21
|
|
|
22
22
|
`--planName [planName]`
|
|
23
|
-
: Name of the plan to update the bucket of.
|
|
23
|
+
: Name of the plan to update the bucket of. Specify either `planId` or `planName` when using `name`. Always use in combination with either `ownerGroupId` or `ownerGroupName`.
|
|
24
24
|
|
|
25
25
|
`--ownerGroupId [ownerGroupId]`
|
|
26
|
-
: ID of the group to which the plan belongs.
|
|
26
|
+
: ID of the group to which the plan belongs. Specify `ownerGroupId` or `ownerGroupName` when using `planName`.
|
|
27
27
|
|
|
28
28
|
`--ownerGroupName [ownerGroupName]`
|
|
29
|
-
: Name of the group to which the plan belongs.
|
|
29
|
+
: Name of the group to which the plan belongs. Specify `ownerGroupId` or `ownerGroupName` when using `planName`.
|
|
30
30
|
|
|
31
31
|
`--newName [newName]`
|
|
32
32
|
: New name of the bucket.
|
|
@@ -17,10 +17,10 @@ m365 planner plan details get [options]
|
|
|
17
17
|
: Title of the plan. Specify either `planId` or `planTitle` but not both.
|
|
18
18
|
|
|
19
19
|
`--ownerGroupId [ownerGroupId]`
|
|
20
|
-
: ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName`
|
|
20
|
+
: ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `planTitle`.
|
|
21
21
|
|
|
22
22
|
`--ownerGroupName [ownerGroupName]`
|
|
23
|
-
: Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName`
|
|
23
|
+
: Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `planTitle`.
|
|
24
24
|
|
|
25
25
|
--8<-- "docs/cmd/_global.md"
|
|
26
26
|
|
|
@@ -10,17 +10,17 @@ m365 planner plan get [options]
|
|
|
10
10
|
|
|
11
11
|
## Options
|
|
12
12
|
|
|
13
|
-
`-i
|
|
13
|
+
`-i, --id [id]`
|
|
14
14
|
: ID of the plan. Specify either `id` or `title` but not both.
|
|
15
15
|
|
|
16
|
-
`-t
|
|
16
|
+
`-t, --title [title]`
|
|
17
17
|
: Title of the plan. Specify either `id` or `title` but not both.
|
|
18
18
|
|
|
19
19
|
`--ownerGroupId [ownerGroupId]`
|
|
20
|
-
: ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName`
|
|
20
|
+
: ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `title`.
|
|
21
21
|
|
|
22
22
|
`--ownerGroupName [ownerGroupName]`
|
|
23
|
-
: Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName`
|
|
23
|
+
: Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `title`.
|
|
24
24
|
|
|
25
25
|
--8<-- "docs/cmd/_global.md"
|
|
26
26
|
|
|
@@ -39,9 +39,6 @@ m365 planner task add [options]
|
|
|
39
39
|
|
|
40
40
|
`--percentComplete [percentComplete]`
|
|
41
41
|
: Percentage of task completion. Number between 0 and 100.
|
|
42
|
-
- When set to 0, the task is considered _Not started_.
|
|
43
|
-
- When set between 1 and 99, the task is considered _In progress_.
|
|
44
|
-
- When set to 100, the task is considered _Completed_.
|
|
45
42
|
|
|
46
43
|
`--assignedToUserIds [assignedToUserIds]`
|
|
47
44
|
: The comma-separated IDs of the assignees the task is assigned to. Specify either `assignedToUserIds` or `assignedToUserNames` but not both.
|
|
@@ -49,14 +46,41 @@ m365 planner task add [options]
|
|
|
49
46
|
`--assignedToUserNames [assignedToUserNames]`
|
|
50
47
|
: The comma-separated UPNs of the assignees the task is assigned to. Specify either `assignedToUserIds` or `assignedToUserNames` but not both.
|
|
51
48
|
|
|
49
|
+
`--assigneePriority [assigneePriority]`
|
|
50
|
+
: Hint used to order items of this type in a list view. The format is defined as outlined [here](https://docs.microsoft.com/graph/api/resources/planner-order-hint-format?view=graph-rest-1.0).
|
|
51
|
+
|
|
52
52
|
`--description [description]`
|
|
53
53
|
: Description of the task
|
|
54
54
|
|
|
55
|
+
`--appliedCategories [appliedCategories]`
|
|
56
|
+
: Comma-separated categories that should be added to the task. The possible options are: `category1`, `category2`, `category3`, `category4`, `category5` and/or `category6`. Additional info defined [here](https://docs.microsoft.com/graph/api/resources/plannerappliedcategories?view=graph-rest-1.0).
|
|
57
|
+
|
|
58
|
+
`--previewType [previewType]`
|
|
59
|
+
: This sets the type of preview that shows up on the task. The possible values are: `automatic`, `noPreview`, `checklist`, `description`, `reference`. When set to automatic the displayed preview is chosen by the app viewing the task. Default `automatic`.
|
|
60
|
+
|
|
55
61
|
`--orderHint [orderHint]`
|
|
56
|
-
: Hint used to order items of this type in a list view. The format is defined as outlined [here](https://docs.microsoft.com/
|
|
62
|
+
: Hint used to order items of this type in a list view. The format is defined as outlined [here](https://docs.microsoft.com/graph/api/resources/planner-order-hint-format?view=graph-rest-1.0).
|
|
63
|
+
|
|
64
|
+
`--priority [priority]`
|
|
65
|
+
: Priority of the task: Urgent, Important, Medium, Low. Or an integer between 0 and 10 (check remarks section for more info). Default value is Medium.
|
|
57
66
|
|
|
58
67
|
--8<-- "docs/cmd/_global.md"
|
|
59
68
|
|
|
69
|
+
## Remarks
|
|
70
|
+
|
|
71
|
+
When you specify the value for `percentComplete`, consider the following:
|
|
72
|
+
|
|
73
|
+
- when set to 0, the task is considered _Not started_
|
|
74
|
+
- when set between 1 and 99, the task is considered _In progress_
|
|
75
|
+
- when set to 100, the task is considered _Completed_
|
|
76
|
+
|
|
77
|
+
When you specify an integer value for `priority`, consider the following:
|
|
78
|
+
|
|
79
|
+
- values 0 and 1 are interpreted as _Urgent_
|
|
80
|
+
- values 2, 3 and 4 are interpreted as _Important_
|
|
81
|
+
- values 5, 6 and 7 are interpreted as _Medium_
|
|
82
|
+
- values 8, 9 and 10 are interpreted as _Low_
|
|
83
|
+
|
|
60
84
|
## Examples
|
|
61
85
|
|
|
62
86
|
Adds a Microsoft Planner task with the name _My Planner Task_ for plan with the ID _8QZEH7b3wkSbGQobscsM5gADCBa_ and for the bucket with the ID _IK8tuFTwQEa5vTonM7ZMRZgAKdna_
|
|
@@ -76,3 +100,15 @@ Adds a Microsoft Planner task with the name _My Planner Task_ for plan with the
|
|
|
76
100
|
```sh
|
|
77
101
|
m365 planner task add --title "My Planner Task" --planId "8QZEH7b3wkSbGQobscsM5gADCBa" --bucketId "IK8tuFTwQEa5vTonM7ZMRZgAKdna" --assignedToUserNames "Allan.Carroll@contoso.com,Ida.Stevens@contoso.com" --dueDateTime "2021-12-16"
|
|
78
102
|
```
|
|
103
|
+
|
|
104
|
+
Adds a Microsoft Planner task with the name _My Planner Task_ for plan with the ID _8QZEH7b3wkbGQobscsM5gADCBa_ and for the bucket with the ID _IK8tuFTwQEa5vTonM7ZMRZgAKdna_. The new task will be assigned to the users _Allan.Carroll@contoso.com_ and _Ida.Stevens@contoso.com_ who will appear first with the asssignee priority _' !'_
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
m365 planner task add --title "My Planner Task" --planId "8QZEH7b3wkSbGQobscsM5gADCBa" --bucketId "IK8tuFTwQEa5vTonM7ZMRZgAKdna" --assignedToUserNames "Allan.Carroll@contoso.com,Ida.Stevens@contoso.com" --asssigneePriority ' !'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Adds a Microsoft Planner task with the name _My Planner Task_ for plan with the ID _8QZEH7b3wkbGQobscsM5gADCBa_ and for the bucket with the ID _IK8tuFTwQEa5vTonM7ZMRZgAKdna_. The new task will receive the categories _category1,category3_ and get a preview with the type _noPreview_
|
|
111
|
+
|
|
112
|
+
```sh
|
|
113
|
+
m365 planner task add --title "My Planner Task" --planId "8QZEH7b3wkSbGQobscsM5gADCBa" --bucketId "IK8tuFTwQEa5vTonM7ZMRZgAKdna" --appliedCategories "category1,category3" --previewType "noPreview"
|
|
114
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# planner task checklistitem add
|
|
2
|
+
|
|
3
|
+
Adds a new checklist item to a Planner task
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 planner task checklistitem add [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-i, --taskId <taskId>`
|
|
14
|
+
: ID of the task.
|
|
15
|
+
|
|
16
|
+
`-t, --title <title>`
|
|
17
|
+
: Title of the checklist item.
|
|
18
|
+
|
|
19
|
+
`--isChecked`
|
|
20
|
+
: Mark the checklist item as checked.
|
|
21
|
+
|
|
22
|
+
--8<-- "docs/cmd/_global.md"
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
Adds an unchecked checklist item with title _My checklist item_ to a Microsoft Planner task with ID _2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2_
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
m365 planner task checklistitem add --taskId 2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2 --title "My checklist item"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Adds a checked checklist item with title _My checklist item_ to a Microsoft Planner task with ID _2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2_
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
m365 planner task checklistitem add --taskId 2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2 --title "My checklist item" --isChecked
|
|
36
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# planner task checklistitem list
|
|
2
|
+
|
|
3
|
+
Lists the checklist items of a Planner task.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 planner task checklistitem list [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-i, --taskId <taskId>`
|
|
14
|
+
: ID of the task
|
|
15
|
+
|
|
16
|
+
--8<-- "docs/cmd/_global.md"
|
|
17
|
+
|
|
18
|
+
## Examples
|
|
19
|
+
|
|
20
|
+
Lists the checklist items of a Planner task.
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
m365 planner task checklistitem list --taskId 'vzCcZoOv-U27PwydxHB8opcADJo-'
|
|
24
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# planner task checklistitem remove
|
|
2
|
+
|
|
3
|
+
Removes the checklist item from the Planner task.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 planner task checklistitem remove [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-i, --id <id>`
|
|
14
|
+
: ID of the checklist item.
|
|
15
|
+
|
|
16
|
+
`--taskId <taskId>`
|
|
17
|
+
: ID of the task.
|
|
18
|
+
|
|
19
|
+
`--confirm`
|
|
20
|
+
: Don't prompt for confirmation
|
|
21
|
+
|
|
22
|
+
--8<-- "docs/cmd/_global.md"
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
Removes a checklist item with the id _40012_ from the Planner task with the id _2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2_
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
m365 planner task checklistitem remove --id "40012" --taskId "2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Removes a checklist item with the id _40012_ from the Planner task with the id _2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2_ without prompt
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
m365 planner task checklistitem remove --id "40012" --taskId "2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2" --confirm
|
|
36
|
+
```
|
|
@@ -16,6 +16,9 @@ m365 planner task get [options]
|
|
|
16
16
|
`-t, --title [title]`
|
|
17
17
|
: Title of the task. Specify either `id` or `title` but not both.
|
|
18
18
|
|
|
19
|
+
`--taskId [taskId]`
|
|
20
|
+
: (deprecated. Use `id` instead) ID of the task.
|
|
21
|
+
|
|
19
22
|
`--bucketId [bucketId]`
|
|
20
23
|
: Bucket ID to which the task belongs. Specify `bucketId` or `bucketName` when using `title`.
|
|
21
24
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# planner task reference remove
|
|
2
|
+
|
|
3
|
+
Removes the reference from the Planner task.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
m365 planner task reference remove [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Options
|
|
12
|
+
|
|
13
|
+
`-u, --url [url]`
|
|
14
|
+
: URL location of the reference. Specify either `alias` or `url` but not both.
|
|
15
|
+
|
|
16
|
+
`--alias [alias]`
|
|
17
|
+
: The alias of the reference. Specify either `alias` or `url` but not both.
|
|
18
|
+
|
|
19
|
+
`-i, --taskId <taskId>`
|
|
20
|
+
: ID of the task.
|
|
21
|
+
|
|
22
|
+
`--confirm`
|
|
23
|
+
: Don't prompt for confirmation
|
|
24
|
+
|
|
25
|
+
--8<-- "docs/cmd/_global.md"
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
Removes a reference with the url _https://www.microsoft.com_ from the Planner task with the id _2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2_
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
m365 planner task reference remove --url "https://www.microsoft.com" --taskId "2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Removes a reference with the alias _Parker_ from the Planner task with the id _2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2_
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
m365 planner task reference remove --alias "Parker" --taskId "2Vf8JHgsBUiIf-nuvBtv-ZgAAYw2"
|
|
39
|
+
```
|