@pnp/cli-microsoft365 10.11.0-beta.5e075e5 → 10.11.0-beta.b1eeb91

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 (87) hide show
  1. package/.eslintrc.cjs +2 -0
  2. package/Dockerfile +2 -2
  3. package/allCommands.json +1 -1
  4. package/allCommandsFull.json +1 -1
  5. package/dist/m365/base/GraphApplicationCommand.js +17 -0
  6. package/dist/m365/base/{DelegatedGraphCommand.js → GraphDelegatedCommand.js} +4 -4
  7. package/dist/m365/base/PowerAppsCommand.js +1 -1
  8. package/dist/m365/base/PowerAutomateCommand.js +1 -1
  9. package/dist/m365/base/PowerBICommand.js +1 -1
  10. package/dist/m365/base/PowerPlatformCommand.js +1 -1
  11. package/dist/m365/base/VivaEngageCommand.js +1 -1
  12. package/dist/m365/entra/commands/app/app-get.js +11 -52
  13. package/dist/m365/entra/commands/app/app-permission-add.js +19 -30
  14. package/dist/m365/entra/commands/app/app-permission-list.js +2 -19
  15. package/dist/m365/entra/commands/app/app-permission-remove.js +22 -31
  16. package/dist/m365/entra/commands/app/app-remove.js +2 -18
  17. package/dist/m365/entra/commands/app/app-role-add.js +10 -43
  18. package/dist/m365/entra/commands/app/app-role-list.js +2 -20
  19. package/dist/m365/entra/commands/app/app-role-remove.js +9 -40
  20. package/dist/m365/entra/commands/app/app-set.js +2 -19
  21. package/dist/m365/outlook/commands/message/message-move.js +1 -1
  22. package/dist/m365/pp/commands/managementapp/managementapp-add.js +7 -21
  23. package/dist/m365/spe/commands/container/container-recyclebinitem-restore.js +96 -0
  24. package/dist/m365/spe/commands.js +1 -0
  25. package/dist/m365/spfx/commands/project/base-project-command.js +1 -0
  26. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.22.0-beta.1.js +19 -0
  27. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  28. package/dist/m365/spfx/commands/project/project-model/SassJson.js +2 -0
  29. package/dist/m365/spfx/commands/project/project-model/index.js +1 -0
  30. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002001_DEVDEP_microsoft_sp_build_web.js +2 -2
  31. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002004_DEVDEP_gulp.js +2 -2
  32. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002007_DEVDEP_ajv.js +2 -2
  33. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002029_DEVDEP_microsoft_rush_stack_compiler_5_3.js +2 -2
  34. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002030_DEVDEP_microsoft_spfx_web_build_rig.js +10 -0
  35. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002031_DEVDEP_rushstack_heft.js +10 -0
  36. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002032_DEVDEP_typescript_eslint_parser.js +10 -0
  37. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002033_DEVDEP_jest_junit.js +10 -0
  38. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010011_YORC_useGulp.js +40 -0
  39. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015010_FILE_gulpfile_js.js +10 -0
  40. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015011_FILE_tsconfig_json.js +10 -0
  41. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015012_FILE_config_heft_json.js +10 -0
  42. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015013_FILE_config_jest_config_json.js +10 -0
  43. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015014_FILE_config_rig_json.js +10 -0
  44. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015015_FILE_config_typescript_json.js +10 -0
  45. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021004_PKG_scripts_build.js +45 -0
  46. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021005_PKG_scripts_test.js +45 -0
  47. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021006_PKG_scripts_clean.js +45 -0
  48. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021007_PKG_scripts_deploy.js +45 -0
  49. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021008_PKG_scripts_start.js +45 -0
  50. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021009_PKG_scripts_build_watch.js +45 -0
  51. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021010_PKG_scripts_package_solution.js +45 -0
  52. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021011_PKG_scripts_deploy_azure_storage.js +45 -0
  53. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021012_PKG_scripts_eject_webpack.js +45 -0
  54. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021013_PKG_overrides_rushstack_heft.js +45 -0
  55. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023003_GITIGNORE_libdts.js +36 -0
  56. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023004_GITIGNORE_libcommonjs.js +36 -0
  57. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023005_GITIGNORE_libesm.js +36 -0
  58. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN023006_GITIGNORE_jestoutput.js +36 -0
  59. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN026001_CFG_SASS_schema.js +40 -0
  60. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN026002_CFG_SASS_extends.js +40 -0
  61. package/dist/m365/spfx/commands/project/project-upgrade/rules/FileAddRemoveRule.js +7 -0
  62. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.22.0-beta.1.js +241 -0
  63. package/dist/m365/spfx/commands/project/project-upgrade.js +16 -13
  64. package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
  65. package/dist/m365/spo/commands/tenant/tenant-site-unarchive.js +1 -1
  66. package/dist/m365/teams/commands/callrecord/callrecord-list.js +100 -0
  67. package/dist/m365/teams/commands/chat/chat-message-send.js +2 -2
  68. package/dist/m365/teams/commands/message/message-remove.js +2 -2
  69. package/dist/m365/teams/commands/message/message-restore.js +2 -2
  70. package/dist/m365/teams/commands.js +1 -0
  71. package/dist/m365/todo/commands/list/list-add.js +2 -2
  72. package/dist/m365/todo/commands/list/list-get.js +2 -2
  73. package/dist/m365/todo/commands/list/list-list.js +2 -2
  74. package/dist/m365/todo/commands/list/list-remove.js +2 -2
  75. package/dist/m365/todo/commands/list/list-set.js +2 -2
  76. package/dist/m365/todo/commands/task/task-add.js +2 -2
  77. package/dist/m365/todo/commands/task/task-get.js +2 -2
  78. package/dist/m365/todo/commands/task/task-list.js +2 -2
  79. package/dist/m365/todo/commands/task/task-remove.js +2 -2
  80. package/dist/m365/todo/commands/task/task-set.js +2 -2
  81. package/dist/utils/accessToken.js +9 -5
  82. package/dist/utils/entraApp.js +15 -0
  83. package/docs/docs/cmd/spe/container/container-recyclebinitem-restore.mdx +53 -0
  84. package/docs/docs/cmd/spo/tenant/tenant-site-unarchive.mdx +1 -1
  85. package/docs/docs/cmd/teams/callrecord/callrecord-list.mdx +173 -0
  86. package/npm-shrinkwrap.json +291 -763
  87. package/package.json +17 -17
@@ -84,17 +84,21 @@ export const accessToken = {
84
84
  return { header, payload };
85
85
  },
86
86
  /**
87
- * Asserts the presence of a delegated access token.
87
+ * Asserts the presence of a delegated or application-only access token.
88
88
  * @throws {CommandError} Will throw an error if the access token is not available.
89
- * @throws {CommandError} Will throw an error if the access token is an application-only access token.
89
+ * @throws {CommandError} Will throw an error if the access token type is not correct.
90
90
  */
91
- assertDelegatedAccessToken() {
91
+ assertAccessTokenType(type) {
92
92
  const accessToken = auth?.connection?.accessTokens?.[auth.defaultResource]?.accessToken;
93
93
  if (!accessToken) {
94
94
  throw new CommandError('No access token found.');
95
95
  }
96
- if (this.isAppOnlyAccessToken(accessToken)) {
97
- throw new CommandError('This command does not support application-only permissions.');
96
+ const isAppAccessToken = this.isAppOnlyAccessToken(accessToken);
97
+ if (type === 'delegated' && isAppAccessToken) {
98
+ throw new CommandError('This command requires delegated permissions.');
99
+ }
100
+ if (type === 'application' && !isAppAccessToken) {
101
+ throw new CommandError('This command requires application-only permissions.');
98
102
  }
99
103
  }
100
104
  };
@@ -308,6 +308,21 @@ export const entraApp = {
308
308
  return await cli.handleMultipleResultsFound(`Multiple apps with name '${appName}' found in Microsoft Entra ID.`, resultAsKeyValuePair);
309
309
  }
310
310
  return apps[0];
311
+ },
312
+ async getAppRegistrationByObjectId(objectId, properties) {
313
+ let url = `https://graph.microsoft.com/v1.0/applications/${objectId}`;
314
+ if (properties) {
315
+ url += `?$select=${properties.join(',')}`;
316
+ }
317
+ const requestOptions = {
318
+ url: url,
319
+ headers: {
320
+ accept: 'application/json;odata.metadata=none'
321
+ },
322
+ responseType: 'json'
323
+ };
324
+ const app = await request.get(requestOptions);
325
+ return app;
311
326
  }
312
327
  };
313
328
  //# sourceMappingURL=entraApp.js.map
@@ -0,0 +1,53 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+
3
+ # spe container recyclebinitem restore
4
+
5
+ Restores a deleted container
6
+
7
+ ## Usage
8
+
9
+ ```sh
10
+ m365 spe container recyclebinitem restore [options]
11
+ ```
12
+
13
+ ## Options
14
+
15
+ ```md definition-list
16
+ `--id [id]`
17
+ : The container id. Specify either `id` or `name` but not both.
18
+
19
+ `--name [name]`
20
+ : The display name of the Container. Specify either `id` or `name` but not both.
21
+
22
+ `--containerTypeId [containerTypeId]`
23
+ : The container type ID of the container instance. Use either `containerTypeId` or `containerTypeName` but not both.
24
+
25
+ `--containerTypeName [containerTypeName]`
26
+ : The container type name of the container instance. Use either `containerTypeId` or `containerTypeName` but not both.
27
+ ```
28
+
29
+ <Global />
30
+
31
+ ## Examples
32
+
33
+ Restore a deleted container by ID.
34
+
35
+ ```sh
36
+ m365 spe container recyclebinitem restore --id "b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z"
37
+ ```
38
+
39
+ Restore a deleted container by using its name and container type ID.
40
+
41
+ ```sh
42
+ m365 spe container recyclebinitem restore --containerTypeId "91710488-5756-407f-9046-fbe5f0b4de73" --name "Invoices"
43
+ ```
44
+
45
+ Restore a deleted container by using its name and container type name.
46
+
47
+ ```sh
48
+ m365 spe container recyclebinitem restore --containerTypeName "My container type name" --name "Invoices"
49
+ ```
50
+
51
+ ## Response
52
+
53
+ The command won't return a response on success.
@@ -34,7 +34,7 @@ To use this command, you must be a Global or SharePoint administrator.
34
34
 
35
35
  :::warning
36
36
 
37
- If a site remains archived for more than **seven days**, the reactivation fee will be calculated based on the entire storage capacity of the site.
37
+ If a site has been archived for more than **seven days**, reactivating it triggers a 120-day cooldown period during which you can't archive the site again.
38
38
 
39
39
  :::
40
40
 
@@ -0,0 +1,173 @@
1
+ import Global from '/docs/cmd/_global.mdx';
2
+ import Tabs from '@theme/Tabs';
3
+ import TabItem from '@theme/TabItem';
4
+
5
+ # teams callrecord list
6
+
7
+ Lists all Teams calls within the tenant
8
+
9
+ ## Usage
10
+
11
+ ```sh
12
+ m365 teams callrecord list [options]
13
+ ```
14
+
15
+ ## Options
16
+
17
+ ```md definition-list
18
+ `--userId [userId]`
19
+ : Filters call records to only include those where the user participated. Use the Entra user ID of the user. Specify either `userId` or `userName` but not both.
20
+
21
+ `--userName [userName]`
22
+ : Filters call records to only include those where the user participated. Use the UPN of the user. Specify either `userId` or `userName` but not both.
23
+
24
+ `--startDateTime [startDateTime]`
25
+ : Only show calls that started after this time. Defaults to 30 days ago.
26
+
27
+ `--endDateTime [endDateTime]`
28
+ : Only show calls that started before this time (exclusive). Defaults to now.
29
+ ```
30
+
31
+ <Global />
32
+
33
+ ## Remarks
34
+
35
+ :::info
36
+
37
+ This command only supports application permissions. Use scope `CallRecords.Read.All`.
38
+
39
+ :::
40
+
41
+ :::note
42
+
43
+ It is only possible to retrieve call records from the past 30 days.
44
+
45
+ :::
46
+
47
+ ## Examples
48
+
49
+ Get all call records from the past 30 days.
50
+
51
+ ```sh
52
+ m365 teams callrecord list
53
+ ```
54
+
55
+ Get all call records where a specific user participated in.
56
+
57
+ ```sh
58
+ m365 teams callrecord list --userName "john.doe@contoso.com"
59
+ ```
60
+
61
+ Get all call records that started within a specific timeframe.
62
+
63
+ ```sh
64
+ m365 teams callrecord list --startDateTime "2025-05-1T00:00:00Z" --endDateTime "2025-05-14T00:00:00Z"
65
+ ```
66
+
67
+ ## Response
68
+
69
+ <Tabs>
70
+ <TabItem value="JSON">
71
+
72
+ ```json
73
+ [
74
+ {
75
+ "id": "145ae53b-7781-47c4-a5f7-b0e043012624",
76
+ "version": 1,
77
+ "type": "peerToPeer",
78
+ "modalities": [
79
+ "audio"
80
+ ],
81
+ "lastModifiedDateTime": "2025-05-29T17:41:33.5066667Z",
82
+ "startDateTime": "2025-05-29T17:27:20.428943Z",
83
+ "endDateTime": "2025-05-29T17:37:20.428943Z",
84
+ "joinWebUrl": "",
85
+ "organizer": {
86
+ "acsUser": null,
87
+ "spoolUser": null,
88
+ "phone": null,
89
+ "guest": null,
90
+ "encrypted": null,
91
+ "onPremises": null,
92
+ "acsApplicationInstance": null,
93
+ "spoolApplicationInstance": null,
94
+ "applicationInstance": null,
95
+ "application": null,
96
+ "device": null,
97
+ "user": {
98
+ "id": "b51efc8b-0adf-486c-ba54-b239ffa7c1f9",
99
+ "displayName": "John Doe",
100
+ "tenantId": "de5e90f2-9a07-4ed1-b903-f801afa7b1fd"
101
+ }
102
+ },
103
+ "participants": [],
104
+ "organizer_v2": {
105
+ "id": "b51efc8b-0adf-486c-ba54-b239ffa7c1f9",
106
+ "identity": {
107
+ "endpointType": null,
108
+ "acsUser": null,
109
+ "spoolUser": null,
110
+ "phone": null,
111
+ "guest": null,
112
+ "encrypted": null,
113
+ "onPremises": null,
114
+ "acsApplicationInstance": null,
115
+ "spoolApplicationInstance": null,
116
+ "applicationInstance": null,
117
+ "application": null,
118
+ "device": null,
119
+ "azureCommunicationServicesUser": null,
120
+ "assertedIdentity": null,
121
+ "user": {
122
+ "id": "b51efc8b-0adf-486c-ba54-b239ffa7c1f9",
123
+ "displayName": "John Doe",
124
+ "tenantId": "de5e90f2-9a07-4ed1-b903-f801afa7b1fd",
125
+ "userPrincipalName": "john.doe@contoso.com"
126
+ }
127
+ },
128
+ "administrativeUnitInfos": []
129
+ }
130
+ }
131
+ ]
132
+ ```
133
+
134
+ </TabItem>
135
+ <TabItem value="Text">
136
+
137
+ ```text
138
+ id type startDateTime endDateTime
139
+ ------------------------------------ ---------- ---------------------------- ----------------------------
140
+ 145ae53b-7781-47c4-a5f7-b0e043012624 peerToPeer 2025-05-29T17:27:20.428943Z 2025-05-29T17:37:20.428943Z
141
+ ```
142
+
143
+ </TabItem>
144
+ <TabItem value="CSV">
145
+
146
+ ```csv
147
+ id,version,type,lastModifiedDateTime,startDateTime,endDateTime,joinWebUrl
148
+ 145ae53b-7781-47c4-a5f7-b0e043012624,1,peerToPeer,2025-05-29T17:41:33.5066667Z,2025-05-29T17:27:20.428943Z,2025-05-29T17:37:20.428943Z,
149
+ ```
150
+
151
+ </TabItem>
152
+ <TabItem value="Markdown">
153
+
154
+ ```md
155
+ # teams callrecord list
156
+
157
+ Date: 03/06/2025
158
+
159
+ ## 145ae53b-7781-47c4-a5f7-b0e043012624
160
+
161
+ Property | Value
162
+ ---------|-------
163
+ id | 145ae53b-7781-47c4-a5f7-b0e043012624
164
+ version | 1
165
+ type | peerToPeer
166
+ lastModifiedDateTime | 2025-05-29T17:41:33.5066667Z
167
+ startDateTime | 2025-05-29T17:27:20.428943Z
168
+ endDateTime | 2025-05-29T17:37:20.428943Z
169
+ joinWebUrl |
170
+ ```
171
+
172
+ </TabItem>
173
+ </Tabs>