@pnp/cli-microsoft365 7.7.0 → 7.8.0-beta.4a6e6f7
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/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/cli/cli.js +21 -9
- package/dist/index.js +13 -12
- package/dist/m365/cli/commands/config/config-set.js +4 -0
- package/dist/m365/commands/setup.js +3 -3
- package/dist/m365/entra/commands/app/app-permission-add.js +25 -6
- package/dist/m365/entra/commands/app/app-permission-list.js +17 -5
- package/dist/m365/entra/commands/group/group-add.js +12 -14
- package/dist/m365/entra/commands/group/group-user-add.js +6 -7
- package/dist/m365/entra/commands/m365group/m365group-add.js +4 -2
- package/dist/m365/entra/commands/user/user-registrationdetails-list.js +6 -7
- package/dist/m365/flow/commands/run/run-list.js +25 -0
- package/dist/m365/outlook/commands/message/message-list.js +87 -17
- package/dist/m365/planner/commands/bucket/bucket-add.js +4 -7
- package/dist/m365/planner/commands/bucket/bucket-get.js +7 -30
- package/dist/m365/planner/commands/bucket/bucket-list.js +3 -6
- package/dist/m365/planner/commands/bucket/bucket-remove.js +8 -25
- package/dist/m365/planner/commands/bucket/bucket-set.js +12 -34
- package/dist/m365/planner/commands/plan/plan-add.js +17 -7
- package/dist/m365/planner/commands/plan/plan-get.js +12 -22
- package/dist/m365/planner/commands/plan/plan-list.js +1 -2
- package/dist/m365/planner/commands/plan/plan-remove.js +5 -3
- package/dist/m365/planner/commands/plan/plan-set.js +18 -10
- package/dist/m365/planner/commands/roster/roster-add.js +1 -2
- package/dist/m365/planner/commands/task/task-add.js +15 -21
- package/dist/m365/planner/commands/task/task-checklistitem-add.js +1 -1
- package/dist/m365/planner/commands/task/task-checklistitem-remove.js +1 -1
- package/dist/m365/planner/commands/task/task-get.js +5 -26
- package/dist/m365/planner/commands/task/task-list.js +11 -37
- package/dist/m365/planner/commands/task/task-reference-remove.js +1 -1
- package/dist/m365/planner/commands/task/task-remove.js +12 -29
- package/dist/m365/planner/commands/task/task-set.js +15 -21
- package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.19.0-beta.0.js → doctor-1.19.0.js} +1 -1
- package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.19.0-beta.0.js → upgrade-1.19.0.js} +22 -22
- package/dist/m365/spfx/commands/project/project-upgrade.js +13 -15
- package/dist/m365/spfx/commands/spfx-doctor.js +1 -1
- package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +222 -0
- package/dist/m365/spo/commands/navigation/navigation-node-add.js +3 -2
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +3 -2
- package/dist/m365/spo/commands/site/site-add.js +17 -26
- package/dist/m365/spo/commands/site/site-recyclebinitem-move.js +5 -2
- package/dist/m365/spo/commands/site/site-recyclebinitem-remove.js +3 -2
- package/dist/m365/spo/commands/site/site-remove.js +129 -159
- package/dist/m365/spo/commands/site/site-set.js +9 -13
- package/dist/m365/spo/commands/spo-set.js +6 -2
- package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +9 -13
- package/dist/m365/spo/commands.js +1 -0
- package/dist/m365/teams/commands/meeting/meeting-add.js +3 -3
- package/dist/m365/teams/commands/team/team-add.js +22 -16
- package/dist/settingsNames.js +1 -0
- package/dist/utils/planner.js +87 -8
- package/dist/utils/spo.js +209 -278
- package/dist/utils/urlUtil.js +8 -0
- package/dist/utils/validation.js +8 -5
- package/docs/docs/_clisettings.mdx +1 -0
- package/docs/docs/cmd/entra/app/app-permission-add.mdx +7 -4
- package/docs/docs/cmd/entra/app/app-permission-list.mdx +14 -5
- package/docs/docs/cmd/entra/m365group/m365group-add.mdx +24 -24
- package/docs/docs/cmd/flow/run/run-list.mdx +74 -1
- package/docs/docs/cmd/outlook/message/message-list.mdx +18 -6
- package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-batch-remove.mdx +70 -0
- package/docs/docs/cmd/spo/site/site-remove.mdx +9 -19
- package/npm-shrinkwrap.json +170 -230
- package/package.json +17 -17
package/dist/utils/planner.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { cli } from "../cli/cli.js";
|
|
1
2
|
import request from "../request.js";
|
|
3
|
+
import { formatting } from "./formatting.js";
|
|
2
4
|
import { odata } from "./odata.js";
|
|
3
5
|
const graphResource = 'https://graph.microsoft.com';
|
|
4
6
|
const getRequestOptions = (url, metadata) => ({
|
|
@@ -12,7 +14,8 @@ export const planner = {
|
|
|
12
14
|
/**
|
|
13
15
|
* Get Planner plan by ID.
|
|
14
16
|
* @param id Planner ID.
|
|
15
|
-
* @param metadata OData metadata level. Default is none
|
|
17
|
+
* @param metadata OData metadata level. Default is none.
|
|
18
|
+
* @throws Error when the plan is not found.
|
|
16
19
|
*/
|
|
17
20
|
async getPlanById(id, metadata = 'none') {
|
|
18
21
|
const requestOptions = getRequestOptions(`${graphResource}/v1.0/planner/plans/${id}`, metadata);
|
|
@@ -26,6 +29,7 @@ export const planner = {
|
|
|
26
29
|
/**
|
|
27
30
|
* Get all Planner plans for a specific group.
|
|
28
31
|
* @param groupId Group ID.
|
|
32
|
+
* @param metadata OData metadata level. Default is none.
|
|
29
33
|
*/
|
|
30
34
|
getPlansByGroupId(groupId, metadata = 'none') {
|
|
31
35
|
return odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, metadata);
|
|
@@ -33,30 +37,105 @@ export const planner = {
|
|
|
33
37
|
/**
|
|
34
38
|
* Get the Planner plan for a specific Roster.
|
|
35
39
|
* @param rosterId Roster ID.
|
|
40
|
+
* @param metadata OData metadata level. Default is none.
|
|
41
|
+
* @throws Error when the roster has no plan.
|
|
36
42
|
*/
|
|
37
43
|
async getPlanByRosterId(rosterId, metadata = 'none') {
|
|
38
44
|
const plans = await odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans`, metadata);
|
|
45
|
+
if (plans.length === 0) {
|
|
46
|
+
throw Error(`The specified roster '${rosterId}' does not have a plan.`);
|
|
47
|
+
}
|
|
39
48
|
return plans[0];
|
|
40
49
|
},
|
|
50
|
+
/**
|
|
51
|
+
* Get the Planner plan ID for a specific Roster.
|
|
52
|
+
* @param rosterId Roster ID.
|
|
53
|
+
* @throws Error when the roster has no plan.
|
|
54
|
+
*/
|
|
55
|
+
async getPlanIdByRosterId(rosterId) {
|
|
56
|
+
const plans = await odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans?$select=id`);
|
|
57
|
+
if (plans.length === 0) {
|
|
58
|
+
throw Error(`The specified roster '${rosterId}' does not have a plan.`);
|
|
59
|
+
}
|
|
60
|
+
return plans[0].id;
|
|
61
|
+
},
|
|
41
62
|
/**
|
|
42
63
|
* Get Planner plan by title in a specific group.
|
|
43
64
|
* @param title Title of the Planner plan. Case insensitive.
|
|
44
65
|
* @param groupId Owner group ID.
|
|
45
|
-
* @param
|
|
66
|
+
* @param metadata OData metadata level. Default is none.
|
|
67
|
+
* @throws Error when the plan is not found.
|
|
46
68
|
*/
|
|
47
69
|
async getPlanByTitle(title, groupId, metadata = 'none') {
|
|
48
|
-
|
|
49
|
-
if (groupId) {
|
|
50
|
-
plans = await this.getPlansByGroupId(groupId, metadata);
|
|
51
|
-
}
|
|
70
|
+
const plans = await this.getPlansByGroupId(groupId, metadata);
|
|
52
71
|
const filteredPlans = plans.filter(p => p.title && p.title.toLowerCase() === title.toLowerCase());
|
|
53
|
-
if (
|
|
72
|
+
if (filteredPlans.length === 0) {
|
|
54
73
|
throw Error(`The specified plan '${title}' does not exist.`);
|
|
55
74
|
}
|
|
56
75
|
if (filteredPlans.length > 1) {
|
|
57
|
-
|
|
76
|
+
const plansKeyValuePair = formatting.convertArrayToHashTable('id', filteredPlans);
|
|
77
|
+
const plan = await cli.handleMultipleResultsFound(`Multiple plans with title '${title}' found.`, plansKeyValuePair);
|
|
78
|
+
return plan;
|
|
58
79
|
}
|
|
59
80
|
return filteredPlans[0];
|
|
81
|
+
},
|
|
82
|
+
/**
|
|
83
|
+
* Get Planner plan ID by title in a specific group.
|
|
84
|
+
* @param title Title of the Planner plan. Case insensitive.
|
|
85
|
+
* @param groupId Owner group ID.
|
|
86
|
+
* @throws Error when the plan is not found.
|
|
87
|
+
*/
|
|
88
|
+
async getPlanIdByTitle(title, groupId) {
|
|
89
|
+
const plans = await odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans?$select=id,title`);
|
|
90
|
+
const filteredPlans = plans.filter(p => p.title && p.title.toLowerCase() === title.toLowerCase());
|
|
91
|
+
if (filteredPlans.length === 0) {
|
|
92
|
+
throw Error(`The specified plan '${title}' does not exist.`);
|
|
93
|
+
}
|
|
94
|
+
if (filteredPlans.length > 1) {
|
|
95
|
+
const plansKeyValuePair = formatting.convertArrayToHashTable('id', filteredPlans);
|
|
96
|
+
const plan = await cli.handleMultipleResultsFound(`Multiple plans with title '${title}' found.`, plansKeyValuePair);
|
|
97
|
+
return plan.id;
|
|
98
|
+
}
|
|
99
|
+
return filteredPlans[0].id;
|
|
100
|
+
},
|
|
101
|
+
/**
|
|
102
|
+
* Get Planner bucket by title in a specific plan.
|
|
103
|
+
* @param title Title of the Planner bucket. Case insensitive.
|
|
104
|
+
* @param planId ID of the plan that contains the bucket.
|
|
105
|
+
* @param metadata OData metadata level. Default is none.
|
|
106
|
+
* @throws Error when the bucket is not found.
|
|
107
|
+
*/
|
|
108
|
+
async getBucketByTitle(title, planId, metadata = 'none') {
|
|
109
|
+
const buckets = await odata.getAllItems(`${graphResource}/v1.0/planner/plans/${planId}/buckets`, metadata);
|
|
110
|
+
const filteredBuckets = buckets.filter(b => b.name && b.name.toLowerCase() === title.toLowerCase());
|
|
111
|
+
if (filteredBuckets.length === 0) {
|
|
112
|
+
throw Error(`The specified bucket '${title}' does not exist.`);
|
|
113
|
+
}
|
|
114
|
+
if (filteredBuckets.length > 1) {
|
|
115
|
+
const bucketsKeyValuePair = formatting.convertArrayToHashTable('id', filteredBuckets);
|
|
116
|
+
const bucket = await cli.handleMultipleResultsFound(`Multiple buckets with name '${title}' found.`, bucketsKeyValuePair);
|
|
117
|
+
return bucket;
|
|
118
|
+
}
|
|
119
|
+
return filteredBuckets[0];
|
|
120
|
+
},
|
|
121
|
+
/**
|
|
122
|
+
* Get Planner bucket ID by title in a specific plan.
|
|
123
|
+
* @param title Title of the Planner bucket. Case insensitive.
|
|
124
|
+
* @param planId ID of the plan that contains the bucket.
|
|
125
|
+
* @throws Error when the bucket is not found.
|
|
126
|
+
*/
|
|
127
|
+
async getBucketIdByTitle(title, planId) {
|
|
128
|
+
const buckets = await odata.getAllItems(`${graphResource}/v1.0/planner/plans/${planId}/buckets?$select=id,name`);
|
|
129
|
+
const filteredBuckets = buckets.filter(b => b.name && b.name.toLowerCase() === title.toLowerCase());
|
|
130
|
+
if (filteredBuckets.length === 0) {
|
|
131
|
+
throw Error(`The specified bucket '${title}' does not exist.`);
|
|
132
|
+
}
|
|
133
|
+
if (filteredBuckets.length > 1) {
|
|
134
|
+
const bucketsKeyValuePair = formatting.convertArrayToHashTable('id', filteredBuckets);
|
|
135
|
+
const bucket = await cli.handleMultipleResultsFound(`Multiple buckets with name '${title}' found.`, bucketsKeyValuePair);
|
|
136
|
+
return bucket.id;
|
|
137
|
+
}
|
|
138
|
+
return filteredBuckets[0].id;
|
|
60
139
|
}
|
|
61
140
|
};
|
|
62
141
|
//# sourceMappingURL=planner.js.map
|