@pnp/cli-microsoft365 6.3.0-beta.3f7129c → 6.3.0-beta.64eb7da

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.
Files changed (50) hide show
  1. package/.eslintrc.js +4 -0
  2. package/dist/Command.js +12 -1
  3. package/dist/cli/Cli.js +4 -1
  4. package/dist/m365/aad/commands/group/group-list.js +2 -1
  5. package/dist/m365/base/O365MgmtCommand.js +10 -0
  6. package/dist/m365/graph/commands/changelog/changelog-list.js +3 -2
  7. package/dist/m365/onenote/commands/notebook/notebook-list.js +51 -40
  8. package/dist/m365/planner/commands/plan/plan-add.js +20 -6
  9. package/dist/m365/planner/commands/plan/plan-get.js +34 -27
  10. package/dist/m365/planner/commands/plan/plan-list.js +24 -14
  11. package/dist/m365/planner/commands/plan/plan-remove.js +1 -1
  12. package/dist/m365/planner/commands/task/task-checklistitem-add.js +2 -1
  13. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  14. package/dist/m365/pp/commands/solution/solution-get.js +2 -1
  15. package/dist/m365/pp/commands/solution/solution-list.js +2 -1
  16. package/dist/m365/purview/commands/auditlog/auditlog-list.js +205 -0
  17. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +70 -0
  18. package/dist/m365/purview/commands.js +2 -0
  19. package/dist/m365/spfx/commands/project/WebApiPermissionRequests.js +3 -0
  20. package/dist/m365/spfx/commands/project/project-permissions-grant.js +81 -0
  21. package/dist/m365/spfx/commands.js +3 -2
  22. package/dist/m365/spo/commands/app/app-add.js +2 -1
  23. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +2 -1
  24. package/dist/m365/spo/commands/file/file-sharinglink-list.js +2 -1
  25. package/dist/m365/spo/commands/group/group-list.js +2 -1
  26. package/dist/m365/spo/commands/hubsite/hubsite-get.js +1 -1
  27. package/dist/m365/spo/commands/listitem/listitem-list.js +2 -1
  28. package/dist/m365/spo/commands/page/page-column-get.js +2 -1
  29. package/dist/m365/spo/commands/page/page-column-list.js +2 -1
  30. package/dist/m365/spo/commands/page/page-section-get.js +2 -1
  31. package/dist/m365/spo/commands/page/page-section-list.js +2 -1
  32. package/dist/m365/spo/commands/spo-search.js +2 -1
  33. package/dist/m365/spo/commands/term/term-list.js +2 -1
  34. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -2
  35. package/dist/m365/teams/commands/meeting/meeting-list.js +1 -1
  36. package/dist/m365/teams/commands/team/team-app-list.js +1 -1
  37. package/dist/m365/teams/commands/user/user-app-list.js +2 -1
  38. package/dist/m365/todo/commands/task/task-get.js +2 -1
  39. package/dist/m365/todo/commands/task/task-list.js +2 -1
  40. package/dist/m365/yammer/commands/yammer-search.js +2 -1
  41. package/dist/utils/planner.js +19 -5
  42. package/docs/docs/cmd/planner/plan/plan-add.md +17 -6
  43. package/docs/docs/cmd/planner/plan/plan-get.md +16 -2
  44. package/docs/docs/cmd/planner/plan/plan-list.md +16 -2
  45. package/docs/docs/cmd/purview/auditlog/auditlog-list.md +123 -0
  46. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.md +100 -0
  47. package/docs/docs/cmd/spfx/project/project-permissions-grant.md +65 -0
  48. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +1 -1
  49. package/docs/docs/cmd/spo/navigation/navigation-node-set.md +1 -1
  50. package/package.json +1 -1
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _TeamsUserAppListCommand_instances, _TeamsUserAppListCommand_initTelemetry, _TeamsUserAppListCommand_initOptions, _TeamsUserAppListCommand_initValidators, _TeamsUserAppListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const formatting_1 = require("../../../../utils/formatting");
20
21
  const odata_1 = require("../../../../utils/odata");
@@ -47,7 +48,7 @@ class TeamsUserAppListCommand extends GraphCommand_1.default {
47
48
  const appId = userAppId.substr(userAppId.indexOf("##") + 2, userAppId.length - userId.length - 2);
48
49
  i.appId = appId;
49
50
  });
50
- if (args.options.output === 'json') {
51
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
51
52
  logger.log(items);
52
53
  }
53
54
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _TodoTaskGetCommand_instances, _TodoTaskGetCommand_initTelemetry, _TodoTaskGetCommand_initOptions, _TodoTaskGetCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const GraphCommand_1 = require("../../../base/GraphCommand");
20
21
  const commands_1 = require("../../commands");
@@ -67,7 +68,7 @@ class TodoTaskGetCommand extends GraphCommand_1.default {
67
68
  responseType: 'json'
68
69
  };
69
70
  const item = yield request_1.default.get(requestOptions);
70
- if (args.options.output === 'json') {
71
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
71
72
  logger.log(item);
72
73
  }
73
74
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _TodoTaskListCommand_instances, _TodoTaskListCommand_initTelemetry, _TodoTaskListCommand_initOptions, _TodoTaskListCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
18
19
  const request_1 = require("../../../../request");
19
20
  const odata_1 = require("../../../../utils/odata");
20
21
  const GraphCommand_1 = require("../../../base/GraphCommand");
@@ -62,7 +63,7 @@ class TodoTaskListCommand extends GraphCommand_1.default {
62
63
  const listId = yield this.getTodoListId(args);
63
64
  const endpoint = `${this.resource}/v1.0/me/todo/lists/${listId}/tasks`;
64
65
  const items = yield odata_1.odata.getAllItems(endpoint);
65
- if (args.options.output === 'json') {
66
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
66
67
  logger.log(items);
67
68
  }
68
69
  else {
@@ -15,6 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _YammerSearchCommand_instances, _YammerSearchCommand_initTelemetry, _YammerSearchCommand_initOptions, _YammerSearchCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../cli/Cli");
18
19
  const request_1 = require("../../../request");
19
20
  const formatting_1 = require("../../../utils/formatting");
20
21
  const YammerCommand_1 = require("../../base/YammerCommand");
@@ -129,7 +130,7 @@ class YammerSearchCommand extends YammerCommand_1.default {
129
130
  this.users = [];
130
131
  try {
131
132
  yield this.getAllItems(logger, args, 1);
132
- if (args.options.output === 'json') {
133
+ if (!Cli_1.Cli.shouldTrimOutput(args.options.output)) {
133
134
  logger.log({
134
135
  summary: this.summary,
135
136
  messages: this.messages,
@@ -41,17 +41,31 @@ exports.planner = {
41
41
  * Get all Planner plans for a specific group.
42
42
  * @param groupId Group ID.
43
43
  */
44
- getPlansByGroupId(groupId) {
45
- return odata_1.odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, 'none');
44
+ getPlansByGroupId(groupId, metadata = 'none') {
45
+ return odata_1.odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, metadata);
46
+ },
47
+ /**
48
+ * Get all Planner plans for a specific roster.
49
+ * @param rosterId Roster ID.
50
+ */
51
+ getPlansByRosterId(rosterId, metadata = 'none') {
52
+ return odata_1.odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans`, metadata);
46
53
  },
47
54
  /**
48
55
  * Get Planner plan by title in a specific group.
49
56
  * @param title Title of the Planner plan. Case insensitive.
50
- * @param groupId Owner group ID .
57
+ * @param groupId Owner group ID.
58
+ * @param rosterId Roster ID.
51
59
  */
52
- getPlanByTitle(title, groupId) {
60
+ getPlanByTitle(title, groupId, rosterId, metadata = 'none') {
53
61
  return __awaiter(this, void 0, void 0, function* () {
54
- const plans = yield this.getPlansByGroupId(groupId);
62
+ let plans = [];
63
+ if (groupId) {
64
+ plans = yield this.getPlansByGroupId(groupId, metadata);
65
+ }
66
+ else if (rosterId) {
67
+ plans = yield this.getPlansByRosterId(rosterId, metadata);
68
+ }
55
69
  const filteredPlans = plans.filter(p => p.title && p.title.toLowerCase() === title.toLowerCase());
56
70
  if (!filteredPlans.length) {
57
71
  throw Error(`The specified plan '${title}' does not exist.`);
@@ -14,10 +14,13 @@ m365 planner plan add [options]
14
14
  : Title of the plan to add.
15
15
 
16
16
  `--ownerGroupId [ownerGroupId]`
17
- : ID of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId` or `ownerGroupName` but not both.
17
+ : ID of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
18
18
 
19
19
  `--ownerGroupName [ownerGroupName]`
20
- : Name of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId` or `ownerGroupName` but not both.
20
+ : Name of the Group that owns the plan. A valid group must exist before this option can be set. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
21
+
22
+ `--rosterId [rosterId]`
23
+ : ID of the Planner Roster. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
21
24
 
22
25
  `--shareWithUserIds [shareWithUserIds]`
23
26
  : The comma-separated IDs of the users with whom you want to share the plan. Specify either `shareWithUserIds` or `shareWithUserNames` but not both.
@@ -29,23 +32,31 @@ m365 planner plan add [options]
29
32
 
30
33
  ## Remarks
31
34
 
32
- Related to the options `--shareWithUserIds` and `--shareWithUserNames`. If you are leveraging Microsoft 365 groups, use the `aad o365group user` commands to manage group membership to share the [group's](https://pnp.github.io/cli-microsoft365/cmd/aad/o365group/o365group-user-add/) plan. You can also add existing members of the group to this collection though it is not required for them to access the plan owned by the group.
35
+ - Related to the options `--shareWithUserIds` and `--shareWithUserNames`. If you are leveraging Microsoft 365 groups, use the `aad o365group user` commands to manage group membership to share the [group's](https://pnp.github.io/cli-microsoft365/cmd/aad/o365group/o365group-user-add/) plan. You can also add existing members of the group to this collection though it is not required for them to access the plan owned by the group.
36
+
37
+ - Hint: Unlike for groups, a Planner Roster can contain only 1 plan.
33
38
 
34
39
  ## Examples
35
40
 
36
- Adds a Microsoft Planner plan with the name _My Planner Plan_ for Group _233e43d0-dc6a-482e-9b4e-0de7a7bce9b4_
41
+ Adds a Microsoft Planner plan with a Group by id
37
42
 
38
43
  ```sh
39
44
  m365 planner plan add --title 'My Planner Plan' --ownerGroupId '233e43d0-dc6a-482e-9b4e-0de7a7bce9b4'
40
45
  ```
41
46
 
42
- Adds a Microsoft Planner plan with the name _My Planner Plan_ for Group _My Planner Group_
47
+ Adds a Microsoft Planner plan with with a Group by name
43
48
 
44
49
  ```sh
45
50
  m365 planner plan add --title 'My Planner Plan' --ownerGroupName 'My Planner Group'
46
51
  ```
47
52
 
48
- Adds a Microsoft Planner plan with the name _My Planner Plan_ for Group _My Planner Group_ and share it with the users _Allan.Carroll@contoso.com_ and _Ida.Stevens@contoso.com_
53
+ Adds a Microsoft Planner plan with a Roster by id
54
+
55
+ ```sh
56
+ m365 planner plan add --title 'My Planner Plan' --rosterId 'tYqYlNd6eECmsNhN_fcq85cAGAnd'
57
+ ```
58
+
59
+ Adds a Microsoft Planner plan with with a Group by name and share it with the given users
49
60
 
50
61
  ```sh
51
62
  m365 planner plan add --title 'My Planner Plan' --ownerGroupName 'My Planner Group' --shareWithUserNames 'Allan.Carroll@contoso.com,Ida.Stevens@contoso.com'
@@ -17,13 +17,21 @@ m365 planner plan get [options]
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` when using `title`.
20
+ : ID of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId` when using `title`.
21
21
 
22
22
  `--ownerGroupName [ownerGroupName]`
23
- : Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` when using `title`.
23
+ : Name of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId` when using `title`.
24
+
25
+ `--rosterId [rosterId]`
26
+ : ID of the Planner Roster. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId` when using `title`.
24
27
 
25
28
  --8<-- "docs/cmd/_global.md"
26
29
 
30
+ ## Remarks
31
+
32
+ !!! attention
33
+ When using `rosterId`, the command is based on an API that is currently in preview and is subject to change once the API reached general availability.
34
+
27
35
  ## Examples
28
36
 
29
37
  Returns the Microsoft Planner plan with id _gndWOTSK60GfPQfiDDj43JgACDCb_
@@ -44,6 +52,12 @@ Returns the Microsoft Planner plan with title _MyPlan_ for Group _My Planner Gro
44
52
  m365 planner plan get --title "MyPlan" --ownerGroupName "My Planner Group"
45
53
  ```
46
54
 
55
+ Returns the Microsoft Planner plan with title _MyPlan_ for Roster _FeMZFDoK8k2oWmuGE-XFHZcAEwtn_
56
+
57
+ ```sh
58
+ m365 planner plan get --title "MyPlan" --rosterId "FeMZFDoK8k2oWmuGE-XFHZcAEwtn"
59
+ ```
60
+
47
61
  ## Response
48
62
 
49
63
  === "JSON"
@@ -11,13 +11,21 @@ m365 planner plan list [options]
11
11
  ## Options
12
12
 
13
13
  `--ownerGroupId [ownerGroupId]`
14
- : ID of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` but not both.
14
+ : ID of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
15
15
 
16
16
  `--ownerGroupName [ownerGroupName]`
17
- : Name of the Group that owns the plan. Specify either `ownerGroupId` or `ownerGroupName` but not both.
17
+ : Name of the Group that owns the plan. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
18
+
19
+ `--rosterId [rosterId]`
20
+ : ID of the Planner Roster. Specify either `ownerGroupId`, `ownerGroupName` or `rosterId`.
18
21
 
19
22
  --8<-- "docs/cmd/_global.md"
20
23
 
24
+ ## Remarks
25
+
26
+ !!! attention
27
+ When using rosterId, the command is based on an API that is currently in preview and is subject to change once the API reached general availability.
28
+
21
29
  ## Examples
22
30
 
23
31
  Returns a list of Microsoft Planner plans for Group _233e43d0-dc6a-482e-9b4e-0de7a7bce9b4_
@@ -32,6 +40,12 @@ Returns a list of Microsoft Planner plans for Group _My Planner Group_
32
40
  m365 planner plan list --ownerGroupName "My Planner Group"
33
41
  ```
34
42
 
43
+ Returns a list of Microsoft Planner plans for Roster _FeMZFDoK8k2oWmuGE-XFHZcAEwtn_
44
+
45
+ ```sh
46
+ m365 planner plan list --rosterId "FeMZFDoK8k2oWmuGE-XFHZcAEwtn"
47
+ ```
48
+
35
49
  ## Response
36
50
 
37
51
  === "JSON"
@@ -0,0 +1,123 @@
1
+ # purview auditlog list
2
+
3
+ List audit logs within your tenant
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 purview auditlog list [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `--contentType <contentType>`
14
+ : Content type of logs to retrieve. Possible values: `AzureActiveDirectory`, `Exchange`, `SharePoint`, `General`, `DLP`.
15
+
16
+ `--startTime [startTime]`
17
+ : Time indicating the **inclusive** start of a time range of content to return. This should be defined as a valid ISO 8601 string (2021-12-16T18:28:48.6964197Z). Start time cannot be more than 7 days in the past. Default value is 24h ago.
18
+
19
+ `--endTime [endTime]`
20
+ : Time indicating the **exclusive** end of a time range of content to return. This should be defined as a valid ISO 8601 string (2021-12-16T18:28:48.6964197Z). Default value is now.
21
+
22
+ --8<-- "docs/cmd/_global.md"
23
+
24
+ ## Remarks
25
+
26
+ !!! important
27
+ Before you can access audit log data, you must enable unified audit logging for your Microsoft 365 tenant. For instructions, check out the page [Turn auditing on or off](https://learn.microsoft.com/en-us/microsoft-365/compliance/audit-log-enable-disable).
28
+
29
+ !!! important
30
+ When running this command for the first time for a certain content type, a subscription for this content type is created. It can take up to 12 hours for the first content blobs to become available for that subscription.
31
+
32
+ !!! tip
33
+ Retrieving audit logs is an intensive process, especially for large or active tenants. In this case it may take some time to retrieve all audit logs. It can be useful to add the `--verbose` option to your command to view the command progress.
34
+
35
+ When you specify a value for `contentType`, consider the following:
36
+
37
+ - `AzureActiveDirectory` includes all Azure AD audit logs.
38
+ - `Exchange` includes all Exchange audit logs.
39
+ - `SharePoint` includes all SharePoint audit logs.
40
+ - `General` includes all other workloads not included in the previous content types.
41
+ - `DLP` DLP events only for all workloads.
42
+
43
+ ## Examples
44
+
45
+ List all SharePoint audit logs for the past 24 hours
46
+
47
+ ```sh
48
+ m365 purview auditlog list --contentType SharePoint
49
+ ```
50
+
51
+ List all SharePoint audit logs within a specific time frame
52
+
53
+ ```sh
54
+ m365 purview auditlog list --contentType SharePoint --startTime "2023-01-01T00:00:00Z" --endTime "2023-01-03T09:00:00Z"
55
+ ```
56
+
57
+ Get all SharePoint audit logs within a specific time frame and save the logs to a file
58
+
59
+ ```sh
60
+ m365 purview auditlog list --contentType SharePoint --startTime "2023-01-01T00:00:00Z" --endTime "2023-01-01T12:00:00Z" > auditLogs.json
61
+ ```
62
+
63
+ ## Response
64
+
65
+ === "JSON"
66
+
67
+ ```json
68
+ [
69
+ {
70
+ "AppAccessContext": {
71
+ "ClientAppId": "94bfad6e-a0b3-4eb9-8e2b-83eeb335de28",
72
+ "CorrelationId": "040d86a0-f096-5000-d4b4-baac627b75f3",
73
+ "UniqueTokenId": "5CVDGmrynkGYBkY-MPynAA"
74
+ },
75
+ "CreationTime": "2023-01-10T00:00:00",
76
+ "Id": "4d671836-c772-4169-55f9-08dae745c839",
77
+ "Operation": "ListItemViewed",
78
+ "OrganizationId": "6e40c2aa-0565-4013-b38c-d5e6f0c42993",
79
+ "RecordType": 36,
80
+ "UserKey": "i:0i.t|00000003-0000-0ff1-ce00-000000000000|app@sharepoint",
81
+ "UserType": 0,
82
+ "Version": 1,
83
+ "Workload": "SharePoint",
84
+ "ClientIP": "168.63.104.32",
85
+ "ObjectId": "https://contoso.sharepoint.com/sites/Project-x/Lists/cae414a1-ac65-4a90-844e-651d7a1e463d/305_.000",
86
+ "UserId": "john.doe@contoso.com",
87
+ "ApplicationId": "94bfad6e-a0b3-4eb9-8e2b-83eeb335de28",
88
+ "CorrelationId": "040d86a0-f096-5000-d4b4-baac627b75f3",
89
+ "EventSource": "SharePoint",
90
+ "ItemType": "ListItem",
91
+ "ListId": "cae414a1-ac65-4a90-844e-651d7a1e463d",
92
+ "ListItemUniqueId": "2d364471-4d27-4186-b139-072c8225ee4a",
93
+ "Site": "51f5a236-b2e5-4a6d-a81d-13d188610155",
94
+ "UserAgent": "NONISV|Contoso|ContosoApp/1.0",
95
+ "WebId": "38ab94aa-a904-4c2b-8467-4be0e457f97b",
96
+ "CustomizedDoclib": false,
97
+ "FromApp": false,
98
+ "ItemCount": 192,
99
+ "ListBaseTemplateType": "100",
100
+ "ListBaseType": "GenericList",
101
+ "ListColor": "",
102
+ "ListIcon": "",
103
+ "Source": "Unknown",
104
+ "TemplateTypeId": "",
105
+ "ListTitle": "cae414a1-ac65-4a90-844e-651d7a1e463d"
106
+ }
107
+ ]
108
+ ```
109
+
110
+ === "Text"
111
+
112
+ ```txt
113
+ CreationTime UserId Operation ObjectId
114
+ ------------------- -------------------- -------------- --------------------------------------------------------------------------------------------------
115
+ 2023-01-10T00:00:00 john.doe@contoso.com ListItemViewed https://contoso.sharepoint.com/sites/Project-x/Lists/cae414a1-ac65-4a90-844e-651d7a1e463d/305_.000
116
+ ```
117
+
118
+ === "CSV"
119
+
120
+ ```csv
121
+ CreationTime,UserId,Operation,ObjectId
122
+ 2023-01-10T00:00:00,john.doe@contoso.com,ListItemViewed,https://contoso.sharepoint.com/sites/Project-x/Lists/cae414a1-ac65-4a90-844e-651d7a1e463d/305_.000
123
+ ```
@@ -0,0 +1,100 @@
1
+ # purview retentioneventtype get
2
+
3
+ Get a retention event type
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 purview retentioneventtype get [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ `-i, --id <id>`
14
+ : The Id of the retention event type.
15
+
16
+ --8<-- "docs/cmd/_global.md"
17
+
18
+ ## Examples
19
+
20
+ Get a retention event type by id
21
+
22
+ ```sh
23
+ m365 purview retentioneventtype get --id c37d695e-d581-4ae9-82a0-9364eba4291e
24
+ ```
25
+
26
+ ## Remarks
27
+
28
+ !!! attention
29
+ This command is based on an API that is currently in preview and is subject to change once the API reached general availability.
30
+
31
+ ## More information
32
+
33
+ This command is part of a series of commands that have to do with event-based retention. Event-based retention is about starting a retention period when a specific event occurs, instead of the moment a document was labeled or created.
34
+
35
+ [Read more on event-based retention here](https://learn.microsoft.com/en-us/microsoft-365/compliance/event-driven-retention?view=o365-worldwide)
36
+
37
+ ## Response
38
+
39
+ === "JSON"
40
+
41
+ ```json
42
+ {
43
+ "displayName": "Test retention event type",
44
+ "description": "Description for the retention event type",
45
+ "createdDateTime": "2023-01-29T09:30:42Z",
46
+ "lastModifiedDateTime": "2023-01-29T09:30:42Z",
47
+ "id": "c37d695e-d581-4ae9-82a0-9364eba4291e",
48
+ "createdBy": {
49
+ "user": {
50
+ "id": null,
51
+ "displayName": "John Doe"
52
+ }
53
+ },
54
+ "lastModifiedBy": {
55
+ "user": {
56
+ "id": null,
57
+ "displayName": "John Doe"
58
+ }
59
+ }
60
+ }
61
+ ```
62
+
63
+ === "Text"
64
+
65
+ ```text
66
+ createdBy : {"user":{"id":null,"displayName":"John Doe"}}
67
+ createdDateTime : 2023-01-29T09:30:42Z
68
+ description : Description for the retention event type
69
+ displayName : Test retention event type
70
+ id : c37d695e-d581-4ae9-82a0-9364eba4291e
71
+ lastModifiedBy : {"user":{"id":null,"displayName":"John Doe"}}
72
+ lastModifiedDateTime: 2023-01-29T09:30:42Z
73
+ ```
74
+
75
+ === "CSV"
76
+
77
+ ```csv
78
+ displayName,description,createdDateTime,lastModifiedDateTime,id,createdBy,lastModifiedBy
79
+ Test retention event type,Description for the retention event type,2023-01-29T09:30:42Z,2023-01-29T09:30:42Z,c37d695e-d581-4ae9-82a0-9364eba4291e,"{""user"":{""id"":null,""displayName"":""John Doe""}}","{""user"":{""id"":null,""displayName"":""John Doe""}}"
80
+ ```
81
+
82
+ === "Markdown"
83
+
84
+ ```md
85
+ # purview retentioneventtype get --id "c37d695e-d581-4ae9-82a0-9364eba4291e"
86
+
87
+ Date: 1/29/2023
88
+
89
+ ## Test retention event type (c37d695e-d581-4ae9-82a0-9364eba4291e)
90
+
91
+ Property | Value
92
+ ---------|-------
93
+ displayName | Test retention event type
94
+ description | Description for the retention event type
95
+ createdDateTime | 2023-01-29T09:30:42Z
96
+ lastModifiedDateTime | 2023-01-29T09:30:42Z
97
+ id | c37d695e-d581-4ae9-82a0-9364eba4291e
98
+ createdBy | {"user":{"id":null,"displayName":"John Doe"}}
99
+ lastModifiedBy | {"user":{"id":null,"displayName":"John Doe"}}
100
+ ```
@@ -0,0 +1,65 @@
1
+ # spfx project permissions grant
2
+
3
+ Grant API permissions defined in the current SPFx project
4
+
5
+ ## Usage
6
+
7
+ ```sh
8
+ m365 spfx project permissions grant [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ --8<-- "docs/cmd/_global.md"
14
+
15
+ ## Remarks
16
+
17
+ !!! important
18
+ Run this command in the folder where the project is located from where you want to grant the permissions.
19
+
20
+ This command grant the permissions defined in: _package-solution.json_.
21
+
22
+ ## Examples
23
+
24
+ Grant API permissions requested in the current SPFx project
25
+
26
+ ```sh
27
+ m365 spfx project permissions grant
28
+ ```
29
+
30
+ ## Response
31
+
32
+ === "JSON"
33
+
34
+ ```json
35
+ {
36
+ "ClientId": "6004a642-185c-479a-992a-15d1c23e2229",
37
+ "ConsentType": "AllPrincipals",
38
+ "IsDomainIsolated": false,
39
+ "ObjectId": "QqYEYFwYmkeZKhXRwj4iKRcAa6TiIbFNvGnKY1dqONY",
40
+ "PackageName": null,
41
+ "Resource": "Microsoft Graph",
42
+ "ResourceId": "a46b0017-21e2-4db1-bc69-ca63576a38d6",
43
+ "Scope": "Mail.Read"
44
+ }
45
+ ```
46
+
47
+ === "Text"
48
+
49
+ ```text
50
+ ClientId : 6004a642-185c-479a-992a-15d1c23e2229
51
+ ConsentType : AllPrincipals
52
+ IsDomainIsolated: false
53
+ ObjectId : QqYEYFwYmkeZKhXRwj4iKRcAa6TiIbFNvGnKY1dqONY
54
+ PackageName : null
55
+ Resource : Microsoft Graph
56
+ ResourceId : a46b0017-21e2-4db1-bc69-ca63576a38d6
57
+ Scope : Mail.Read
58
+ ```
59
+
60
+ === "CSV"
61
+
62
+ ```csv
63
+ ClientId,ConsentType,IsDomainIsolated,ObjectId,PackageName,Resource,ResourceId,Scope
64
+ 6004a642-185c-479a-992a-15d1c23e2229,AllPrincipals,,QqYEYFwYmkeZKhXRwj4iKRcAa6TiIbFNvGnKY1dqONY,,Microsoft Graph,a46b0017-21e2-4db1-bc69-ca63576a38d6,Mail.Read
65
+ ```
@@ -35,7 +35,7 @@ m365 spo navigation node add [options]
35
35
 
36
36
  ## Remarks
37
37
 
38
- In order to use option `audienceIds`, make sure that audience targeted navigation is enabled using command [spo web set](../web/web-set.md).
38
+ To enable/disable audience targeting for the navigation bar, use the [`spo web set`](../web/web-set.md) command.
39
39
 
40
40
  ## Examples
41
41
 
@@ -32,7 +32,7 @@ m365 spo navigation node set [options]
32
32
 
33
33
  ## Remarks
34
34
 
35
- To enable/disable audience targeting for the nsavigation bar, use command [`spo web set`](../web/web-set.md).
35
+ To enable/disable audience targeting for the navigation bar, use the [`spo web set`](../web/web-set.md) command.
36
36
 
37
37
  ## Examples
38
38
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnp/cli-microsoft365",
3
- "version": "6.3.0-beta.3f7129c",
3
+ "version": "6.3.0-beta.64eb7da",
4
4
  "description": "Manage Microsoft 365 and SharePoint Framework projects on any platform",
5
5
  "license": "MIT",
6
6
  "main": "./dist/api.js",