@pnp/cli-microsoft365 11.5.0-beta.960ec81 → 11.5.0-beta.d906a19

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 (32) hide show
  1. package/.devproxy/api-specs/sharepoint.yaml +16 -0
  2. package/allCommands.json +1 -1
  3. package/allCommandsFull.json +1 -1
  4. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.22.2.js +21 -0
  5. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  6. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.22.2.js +55 -0
  7. package/dist/m365/spfx/commands/project/project-upgrade.js +3 -2
  8. package/dist/m365/spfx/commands/spfx-doctor.js +23 -8
  9. package/dist/m365/spo/commands/brandcenter/brandcenter-settings-list.js +39 -0
  10. package/dist/m365/spo/commands/site/site-hubsite-connect.js +26 -30
  11. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +26 -28
  12. package/dist/m365/spo/commands.js +1 -0
  13. package/dist/m365/teams/commands/callrecord/callrecord-get.js +52 -0
  14. package/dist/m365/teams/commands.js +1 -0
  15. package/docs/docs/cmd/graph/openextension/openextension-add.mdx +18 -0
  16. package/docs/docs/cmd/graph/openextension/openextension-get.mdx +18 -0
  17. package/docs/docs/cmd/graph/openextension/openextension-list.mdx +18 -0
  18. package/docs/docs/cmd/graph/openextension/openextension-remove.mdx +18 -0
  19. package/docs/docs/cmd/graph/openextension/openextension-set.mdx +18 -0
  20. package/docs/docs/cmd/outlook/message/message-get.mdx +19 -0
  21. package/docs/docs/cmd/outlook/message/message-list.mdx +19 -0
  22. package/docs/docs/cmd/outlook/message/message-move.mdx +21 -0
  23. package/docs/docs/cmd/outlook/message/message-remove.mdx +21 -0
  24. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  25. package/docs/docs/cmd/spo/brandcenter/brandcenter-settings-list.mdx +151 -0
  26. package/docs/docs/cmd/spo/site/site-hubsite-connect.mdx +32 -2
  27. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.mdx +32 -2
  28. package/docs/docs/cmd/teams/callrecord/callrecord-get.mdx +493 -0
  29. package/docs/docs/cmd/teams/callrecord/callrecord-list.mdx +16 -5
  30. package/eslint.config.mjs +2 -0
  31. package/npm-shrinkwrap.json +1215 -380
  32. package/package.json +15 -15
@@ -0,0 +1,21 @@
1
+ import { FN002021_DEVDEP_rushstack_eslint_config } from '../project-upgrade/rules/FN002021_DEVDEP_rushstack_eslint_config.js';
2
+ import { FN001008_DEP_react } from './rules/FN001008_DEP_react.js';
3
+ import { FN001009_DEP_react_dom } from './rules/FN001009_DEP_react_dom.js';
4
+ import { FN001035_DEP_fluentui_react } from './rules/FN001035_DEP_fluentui_react.js';
5
+ import { FN002013_DEVDEP_types_webpack_env } from './rules/FN002013_DEVDEP_types_webpack_env.js';
6
+ import { FN002015_DEVDEP_types_react } from './rules/FN002015_DEVDEP_types_react.js';
7
+ import { FN002016_DEVDEP_types_react_dom } from './rules/FN002016_DEVDEP_types_react_dom.js';
8
+ import { FN002022_DEVDEP_typescript } from './rules/FN002022_DEVDEP_typescript.js';
9
+ import { FN021001_PKG_spfx_deps_versions_match_project_version } from './rules/FN021001_PKG_spfx_deps_versions_match_project_version.js';
10
+ export default [
11
+ new FN001008_DEP_react('17'),
12
+ new FN001009_DEP_react_dom('17'),
13
+ new FN001035_DEP_fluentui_react('^8.106.4'),
14
+ new FN002013_DEVDEP_types_webpack_env('~1.15.2'),
15
+ new FN002015_DEVDEP_types_react('17'),
16
+ new FN002016_DEVDEP_types_react_dom('17'),
17
+ new FN002021_DEVDEP_rushstack_eslint_config('4.5.2'),
18
+ new FN002022_DEVDEP_typescript('~5.8.0'),
19
+ new FN021001_PKG_spfx_deps_versions_match_project_version(true)
20
+ ];
21
+ //# sourceMappingURL=doctor-1.22.2.js.map
@@ -75,7 +75,8 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
75
75
  '1.21.0',
76
76
  '1.21.1',
77
77
  '1.22.0',
78
- '1.22.1'
78
+ '1.22.1',
79
+ '1.22.2'
79
80
  ];
80
81
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initTelemetry).call(this);
81
82
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initOptions).call(this);
@@ -0,0 +1,55 @@
1
+ import { FN001001_DEP_microsoft_sp_core_library } from './rules/FN001001_DEP_microsoft_sp_core_library.js';
2
+ import { FN001002_DEP_microsoft_sp_lodash_subset } from './rules/FN001002_DEP_microsoft_sp_lodash_subset.js';
3
+ import { FN001003_DEP_microsoft_sp_office_ui_fabric_core } from './rules/FN001003_DEP_microsoft_sp_office_ui_fabric_core.js';
4
+ import { FN001004_DEP_microsoft_sp_webpart_base } from './rules/FN001004_DEP_microsoft_sp_webpart_base.js';
5
+ import { FN001011_DEP_microsoft_sp_dialog } from './rules/FN001011_DEP_microsoft_sp_dialog.js';
6
+ import { FN001012_DEP_microsoft_sp_application_base } from './rules/FN001012_DEP_microsoft_sp_application_base.js';
7
+ import { FN001013_DEP_microsoft_decorators } from './rules/FN001013_DEP_microsoft_decorators.js';
8
+ import { FN001014_DEP_microsoft_sp_listview_extensibility } from './rules/FN001014_DEP_microsoft_sp_listview_extensibility.js';
9
+ import { FN001021_DEP_microsoft_sp_property_pane } from './rules/FN001021_DEP_microsoft_sp_property_pane.js';
10
+ import { FN001023_DEP_microsoft_sp_component_base } from './rules/FN001023_DEP_microsoft_sp_component_base.js';
11
+ import { FN001024_DEP_microsoft_sp_diagnostics } from './rules/FN001024_DEP_microsoft_sp_diagnostics.js';
12
+ import { FN001025_DEP_microsoft_sp_dynamic_data } from './rules/FN001025_DEP_microsoft_sp_dynamic_data.js';
13
+ import { FN001026_DEP_microsoft_sp_extension_base } from './rules/FN001026_DEP_microsoft_sp_extension_base.js';
14
+ import { FN001027_DEP_microsoft_sp_http } from './rules/FN001027_DEP_microsoft_sp_http.js';
15
+ import { FN001028_DEP_microsoft_sp_list_subscription } from './rules/FN001028_DEP_microsoft_sp_list_subscription.js';
16
+ import { FN001029_DEP_microsoft_sp_loader } from './rules/FN001029_DEP_microsoft_sp_loader.js';
17
+ import { FN001030_DEP_microsoft_sp_module_interfaces } from './rules/FN001030_DEP_microsoft_sp_module_interfaces.js';
18
+ import { FN001031_DEP_microsoft_sp_odata_types } from './rules/FN001031_DEP_microsoft_sp_odata_types.js';
19
+ import { FN001032_DEP_microsoft_sp_page_context } from './rules/FN001032_DEP_microsoft_sp_page_context.js';
20
+ import { FN001034_DEP_microsoft_sp_adaptive_card_extension_base } from './rules/FN001034_DEP_microsoft_sp_adaptive_card_extension_base.js';
21
+ import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
22
+ import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
23
+ import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
24
+ import { FN002030_DEVDEP_microsoft_spfx_web_build_rig } from './rules/FN002030_DEVDEP_microsoft_spfx_web_build_rig.js';
25
+ import { FN002034_DEVDEP_microsoft_spfx_heft_plugins } from './rules/FN002034_DEVDEP_microsoft_spfx_heft_plugins.js';
26
+ import { FN010001_YORC_version } from './rules/FN010001_YORC_version.js';
27
+ export default [
28
+ new FN001001_DEP_microsoft_sp_core_library('1.22.2'),
29
+ new FN001002_DEP_microsoft_sp_lodash_subset('1.22.2'),
30
+ new FN001003_DEP_microsoft_sp_office_ui_fabric_core('1.22.2'),
31
+ new FN001004_DEP_microsoft_sp_webpart_base('1.22.2'),
32
+ new FN001011_DEP_microsoft_sp_dialog('1.22.2'),
33
+ new FN001012_DEP_microsoft_sp_application_base('1.22.2'),
34
+ new FN001014_DEP_microsoft_sp_listview_extensibility('1.22.2'),
35
+ new FN001021_DEP_microsoft_sp_property_pane('1.22.2'),
36
+ new FN001023_DEP_microsoft_sp_component_base('1.22.2'),
37
+ new FN001024_DEP_microsoft_sp_diagnostics('1.22.2'),
38
+ new FN001025_DEP_microsoft_sp_dynamic_data('1.22.2'),
39
+ new FN001026_DEP_microsoft_sp_extension_base('1.22.2'),
40
+ new FN001027_DEP_microsoft_sp_http('1.22.2'),
41
+ new FN001028_DEP_microsoft_sp_list_subscription('1.22.2'),
42
+ new FN001029_DEP_microsoft_sp_loader('1.22.2'),
43
+ new FN001030_DEP_microsoft_sp_module_interfaces('1.22.2'),
44
+ new FN001031_DEP_microsoft_sp_odata_types('1.22.2'),
45
+ new FN001032_DEP_microsoft_sp_page_context('1.22.2'),
46
+ new FN001013_DEP_microsoft_decorators('1.22.2'),
47
+ new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.22.2'),
48
+ new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.22.2'),
49
+ new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.22.2'),
50
+ new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.22.2'),
51
+ new FN002030_DEVDEP_microsoft_spfx_web_build_rig('1.22.2'),
52
+ new FN002034_DEVDEP_microsoft_spfx_heft_plugins('1.22.2'),
53
+ new FN010001_YORC_version('1.22.2')
54
+ ];
55
+ //# sourceMappingURL=upgrade-1.22.2.js.map
@@ -16,7 +16,7 @@ export const options = z.strictObject({
16
16
  preview: z.boolean().optional(),
17
17
  toVersion: z.string().optional().alias('v'),
18
18
  shell: z.enum(['bash', 'powershell', 'cmd']).default('powershell'),
19
- output: z.enum(['json', 'text', 'md', 'tour', 'csv', 'none']).optional()
19
+ output: z.enum(['json', 'text', 'md', 'tour', 'csv', 'none']).alias('o').optional()
20
20
  });
21
21
  class SpfxProjectUpgradeCommand extends BaseProjectCommand {
22
22
  get name() {
@@ -84,7 +84,8 @@ class SpfxProjectUpgradeCommand extends BaseProjectCommand {
84
84
  '1.21.0',
85
85
  '1.21.1',
86
86
  '1.22.0',
87
- '1.22.1'
87
+ '1.22.1',
88
+ '1.22.2'
88
89
  ];
89
90
  }
90
91
  async commandAction(logger, args) {
@@ -597,8 +597,8 @@ class SpfxDoctorCommand extends BaseProjectCommand {
597
597
  fix: 'npm i -g gulp-cli@3'
598
598
  },
599
599
  node: {
600
- range: '>=22.14.0 < 23.0.0',
601
- fix: 'Install Node.js >=22.14.0 < 23.0.0'
600
+ range: '>=22.14.0 <23.0.0',
601
+ fix: 'Install Node.js >=22.14.0 <23.0.0'
602
602
  },
603
603
  sp: SharePointVersion.SPO,
604
604
  yo: {
@@ -612,8 +612,8 @@ class SpfxDoctorCommand extends BaseProjectCommand {
612
612
  fix: 'npm i -g gulp-cli@3'
613
613
  },
614
614
  node: {
615
- range: '>=22.14.0 < 23.0.0',
616
- fix: 'Install Node.js >=22.14.0 < 23.0.0'
615
+ range: '>=22.14.0 <23.0.0',
616
+ fix: 'Install Node.js >=22.14.0 <23.0.0'
617
617
  },
618
618
  sp: SharePointVersion.SPO,
619
619
  yo: {
@@ -627,8 +627,8 @@ class SpfxDoctorCommand extends BaseProjectCommand {
627
627
  fix: 'npm i -g @rushstack/heft@1'
628
628
  },
629
629
  node: {
630
- range: '>=22.14.0 < 23.0.0',
631
- fix: 'Install Node.js >=22.14.0 < 23.0.0'
630
+ range: '>=22.14.0 <23.0.0',
631
+ fix: 'Install Node.js >=22.14.0 <23.0.0'
632
632
  },
633
633
  sp: SharePointVersion.SPO,
634
634
  yo: {
@@ -642,8 +642,23 @@ class SpfxDoctorCommand extends BaseProjectCommand {
642
642
  fix: 'npm i -g @rushstack/heft@1'
643
643
  },
644
644
  node: {
645
- range: '>=22.14.0 < 23.0.0',
646
- fix: 'Install Node.js >=22.14.0 < 23.0.0'
645
+ range: '>=22.14.0 <23.0.0',
646
+ fix: 'Install Node.js >=22.14.0 <23.0.0'
647
+ },
648
+ sp: SharePointVersion.SPO,
649
+ yo: {
650
+ range: '^4 || ^5 || ^6',
651
+ fix: 'npm i -g yo@6'
652
+ }
653
+ },
654
+ '1.22.2': {
655
+ heft: {
656
+ range: '^1',
657
+ fix: 'npm i -g @rushstack/heft@1'
658
+ },
659
+ node: {
660
+ range: '>=22.14.0 <23.0.0',
661
+ fix: 'Install Node.js >=22.14.0 <23.0.0'
647
662
  },
648
663
  sp: SharePointVersion.SPO,
649
664
  yo: {
@@ -0,0 +1,39 @@
1
+ import commands from '../../commands.js';
2
+ import { globalOptionsZod } from '../../../../Command.js';
3
+ import request from '../../../../request.js';
4
+ import { spo } from '../../../../utils/spo.js';
5
+ import SpoCommand from '../../../base/SpoCommand.js';
6
+ const options = globalOptionsZod.strict();
7
+ class SpoBrandCenterSettingsListCommand extends SpoCommand {
8
+ get name() {
9
+ return commands.BRANDCENTER_SETTINGS_LIST;
10
+ }
11
+ get description() {
12
+ return 'Lists the brand center configuration';
13
+ }
14
+ get schema() {
15
+ return options;
16
+ }
17
+ async commandAction(logger) {
18
+ if (this.verbose) {
19
+ await logger.logToStderr(`Retrieving brand center configuration...`);
20
+ }
21
+ try {
22
+ const spoUrl = await spo.getSpoUrl(logger, this.verbose);
23
+ const requestOptions = {
24
+ url: `${spoUrl}/_api/Brandcenter/Configuration`,
25
+ headers: {
26
+ accept: 'application/json;odata=nometadata'
27
+ },
28
+ responseType: 'json'
29
+ };
30
+ const res = await request.get(requestOptions);
31
+ await logger.log(res);
32
+ }
33
+ catch (err) {
34
+ this.handleRejectedODataJsonPromise(err);
35
+ }
36
+ }
37
+ }
38
+ export default new SpoBrandCenterSettingsListCommand();
39
+ //# sourceMappingURL=brandcenter-settings-list.js.map
@@ -1,14 +1,21 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- 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");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _SpoSiteHubSiteConnectCommand_instances, _SpoSiteHubSiteConnectCommand_initOptions, _SpoSiteHubSiteConnectCommand_initValidators;
7
1
  import request from '../../../../request.js';
8
2
  import { formatting } from '../../../../utils/formatting.js';
9
3
  import { validation } from '../../../../utils/validation.js';
10
4
  import SpoCommand from '../../../base/SpoCommand.js';
11
5
  import commands from '../../commands.js';
6
+ import { globalOptionsZod } from '../../../../Command.js';
7
+ import { z } from 'zod';
8
+ import { spo } from '../../../../utils/spo.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ siteUrl: z.string()
12
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
14
+ })
15
+ .alias('u'),
16
+ id: z.uuid().alias('i'),
17
+ asAdmin: z.boolean().optional()
18
+ });
12
19
  class SpoSiteHubSiteConnectCommand extends SpoCommand {
13
20
  get name() {
14
21
  return commands.SITE_HUBSITE_CONNECT;
@@ -16,11 +23,8 @@ class SpoSiteHubSiteConnectCommand extends SpoCommand {
16
23
  get description() {
17
24
  return 'Connects the specified site collection to the given hub site';
18
25
  }
19
- constructor() {
20
- super();
21
- _SpoSiteHubSiteConnectCommand_instances.add(this);
22
- __classPrivateFieldGet(this, _SpoSiteHubSiteConnectCommand_instances, "m", _SpoSiteHubSiteConnectCommand_initOptions).call(this);
23
- __classPrivateFieldGet(this, _SpoSiteHubSiteConnectCommand_instances, "m", _SpoSiteHubSiteConnectCommand_initValidators).call(this);
26
+ get schema() {
27
+ return options;
24
28
  }
25
29
  async commandAction(logger, args) {
26
30
  try {
@@ -28,12 +32,22 @@ class SpoSiteHubSiteConnectCommand extends SpoCommand {
28
32
  await logger.logToStderr(`Connecting site collection ${args.options.siteUrl} to hub site ${args.options.id}...`);
29
33
  }
30
34
  const requestOptions = {
31
- url: `${args.options.siteUrl}/_api/site/JoinHubSite('${formatting.encodeQueryParameter(args.options.id)}')`,
32
35
  headers: {
33
36
  accept: 'application/json;odata=nometadata'
34
37
  },
35
38
  responseType: 'json'
36
39
  };
40
+ if (!args.options.asAdmin) {
41
+ requestOptions.url = `${args.options.siteUrl}/_api/site/JoinHubSite('${formatting.encodeQueryParameter(args.options.id)}')`;
42
+ }
43
+ else {
44
+ const tenantAdminUrl = await spo.getSpoAdminUrl(logger, this.verbose);
45
+ requestOptions.url = `${tenantAdminUrl}/_api/SPO.Tenant/ConnectSiteToHubSiteById`;
46
+ requestOptions.data = {
47
+ siteUrl: args.options.siteUrl,
48
+ hubSiteId: args.options.id
49
+ };
50
+ }
37
51
  await request.post(requestOptions);
38
52
  }
39
53
  catch (err) {
@@ -41,23 +55,5 @@ class SpoSiteHubSiteConnectCommand extends SpoCommand {
41
55
  }
42
56
  }
43
57
  }
44
- _SpoSiteHubSiteConnectCommand_instances = new WeakSet(), _SpoSiteHubSiteConnectCommand_initOptions = function _SpoSiteHubSiteConnectCommand_initOptions() {
45
- this.options.unshift({
46
- option: '-u, --siteUrl <siteUrl>'
47
- }, {
48
- option: '-i, --id <id>'
49
- });
50
- }, _SpoSiteHubSiteConnectCommand_initValidators = function _SpoSiteHubSiteConnectCommand_initValidators() {
51
- this.validators.push(async (args) => {
52
- const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.siteUrl);
53
- if (isValidSharePointUrl !== true) {
54
- return isValidSharePointUrl;
55
- }
56
- if (!validation.isValidGuid(args.options.id)) {
57
- return `${args.options.id} is not a valid GUID`;
58
- }
59
- return true;
60
- });
61
- };
62
58
  export default new SpoSiteHubSiteConnectCommand();
63
59
  //# sourceMappingURL=site-hubsite-connect.js.map
@@ -1,14 +1,21 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- 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");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _SpoSiteHubSiteDisconnectCommand_instances, _SpoSiteHubSiteDisconnectCommand_initTelemetry, _SpoSiteHubSiteDisconnectCommand_initOptions, _SpoSiteHubSiteDisconnectCommand_initValidators;
7
1
  import { cli } from '../../../../cli/cli.js';
8
2
  import request from '../../../../request.js';
9
3
  import { validation } from '../../../../utils/validation.js';
10
4
  import SpoCommand from '../../../base/SpoCommand.js';
11
5
  import commands from '../../commands.js';
6
+ import { globalOptionsZod } from '../../../../Command.js';
7
+ import { z } from 'zod';
8
+ import { spo } from '../../../../utils/spo.js';
9
+ export const options = z.strictObject({
10
+ ...globalOptionsZod.shape,
11
+ siteUrl: z.string()
12
+ .refine(url => validation.isValidSharePointUrl(url) === true, {
13
+ error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
14
+ })
15
+ .alias('u'),
16
+ asAdmin: z.boolean().optional(),
17
+ force: z.boolean().alias('f').optional()
18
+ });
12
19
  class SpoSiteHubSiteDisconnectCommand extends SpoCommand {
13
20
  get name() {
14
21
  return commands.SITE_HUBSITE_DISCONNECT;
@@ -16,12 +23,8 @@ class SpoSiteHubSiteDisconnectCommand extends SpoCommand {
16
23
  get description() {
17
24
  return 'Disconnects the specified site collection from its hub site';
18
25
  }
19
- constructor() {
20
- super();
21
- _SpoSiteHubSiteDisconnectCommand_instances.add(this);
22
- __classPrivateFieldGet(this, _SpoSiteHubSiteDisconnectCommand_instances, "m", _SpoSiteHubSiteDisconnectCommand_initTelemetry).call(this);
23
- __classPrivateFieldGet(this, _SpoSiteHubSiteDisconnectCommand_instances, "m", _SpoSiteHubSiteDisconnectCommand_initOptions).call(this);
24
- __classPrivateFieldGet(this, _SpoSiteHubSiteDisconnectCommand_instances, "m", _SpoSiteHubSiteDisconnectCommand_initValidators).call(this);
26
+ get schema() {
27
+ return options;
25
28
  }
26
29
  async commandAction(logger, args) {
27
30
  if (args.options.force) {
@@ -40,12 +43,22 @@ class SpoSiteHubSiteDisconnectCommand extends SpoCommand {
40
43
  await logger.logToStderr(`Disconnecting site collection ${args.options.siteUrl} from its hub site...`);
41
44
  }
42
45
  const requestOptions = {
43
- url: `${args.options.siteUrl}/_api/site/JoinHubSite('00000000-0000-0000-0000-000000000000')`,
44
46
  headers: {
45
47
  accept: 'application/json;odata=nometadata'
46
48
  },
47
49
  responseType: 'json'
48
50
  };
51
+ if (!args.options.asAdmin) {
52
+ requestOptions.url = `${args.options.siteUrl}/_api/site/JoinHubSite('00000000-0000-0000-0000-000000000000')`;
53
+ }
54
+ else {
55
+ const tenantAdminUrl = await spo.getSpoAdminUrl(logger, this.verbose);
56
+ requestOptions.url = `${tenantAdminUrl}/_api/SPO.Tenant/ConnectSiteToHubSiteById`;
57
+ requestOptions.data = {
58
+ siteUrl: args.options.siteUrl,
59
+ hubSiteId: '00000000-0000-0000-0000-000000000000'
60
+ };
61
+ }
49
62
  await request.post(requestOptions);
50
63
  }
51
64
  catch (err) {
@@ -53,20 +66,5 @@ class SpoSiteHubSiteDisconnectCommand extends SpoCommand {
53
66
  }
54
67
  }
55
68
  }
56
- _SpoSiteHubSiteDisconnectCommand_instances = new WeakSet(), _SpoSiteHubSiteDisconnectCommand_initTelemetry = function _SpoSiteHubSiteDisconnectCommand_initTelemetry() {
57
- this.telemetry.push((args) => {
58
- Object.assign(this.telemetryProperties, {
59
- force: args.options.force || false
60
- });
61
- });
62
- }, _SpoSiteHubSiteDisconnectCommand_initOptions = function _SpoSiteHubSiteDisconnectCommand_initOptions() {
63
- this.options.unshift({
64
- option: '-u, --siteUrl <siteUrl>'
65
- }, {
66
- option: '-f, --force'
67
- });
68
- }, _SpoSiteHubSiteDisconnectCommand_initValidators = function _SpoSiteHubSiteDisconnectCommand_initValidators() {
69
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.siteUrl));
70
- };
71
69
  export default new SpoSiteHubSiteDisconnectCommand();
72
70
  //# sourceMappingURL=site-hubsite-disconnect.js.map
@@ -18,6 +18,7 @@ export default {
18
18
  APPLICATIONCUSTOMIZER_SET: `${prefix} applicationcustomizer set`,
19
19
  APPPAGE_ADD: `${prefix} apppage add`,
20
20
  APPPAGE_SET: `${prefix} apppage set`,
21
+ BRANDCENTER_SETTINGS_LIST: `${prefix} brandcenter settings list`,
21
22
  CDN_GET: `${prefix} cdn get`,
22
23
  CDN_ORIGIN_ADD: `${prefix} cdn origin add`,
23
24
  CDN_ORIGIN_LIST: `${prefix} cdn origin list`,
@@ -0,0 +1,52 @@
1
+ import { globalOptionsZod } from '../../../../Command.js';
2
+ import { z } from 'zod';
3
+ import commands from '../../commands.js';
4
+ import GraphApplicationCommand from '../../../base/GraphApplicationCommand.js';
5
+ import request from '../../../../request.js';
6
+ export const options = z.strictObject({
7
+ ...globalOptionsZod.shape,
8
+ id: z.uuid().alias('i')
9
+ });
10
+ class TeamsCallRecordGetCommand extends GraphApplicationCommand {
11
+ get name() {
12
+ return commands.CALLRECORD_GET;
13
+ }
14
+ get description() {
15
+ return 'Gets a specific Teams call';
16
+ }
17
+ get schema() {
18
+ return options;
19
+ }
20
+ async commandAction(logger, args) {
21
+ try {
22
+ const callRecordId = args.options.id;
23
+ if (this.verbose) {
24
+ await logger.logToStderr(`Retrieving call record ${callRecordId}...`);
25
+ }
26
+ // only one relationship can be expanded at a time
27
+ let requestOptions = {
28
+ url: `${this.resource}/v1.0/communications/callRecords/${callRecordId}?$expand=sessions($expand=segments)`,
29
+ headers: {
30
+ accept: 'application/json;odata.metadata=none'
31
+ },
32
+ responseType: 'json'
33
+ };
34
+ const callRecordPart1 = await request.get(requestOptions);
35
+ requestOptions = {
36
+ url: `${this.resource}/v1.0/communications/callRecords/${callRecordId}?$select=participants_v2&$expand=participants_v2`,
37
+ headers: {
38
+ accept: 'application/json;odata.metadata=none'
39
+ },
40
+ responseType: 'json'
41
+ };
42
+ const callRecordPart2 = await request.get(requestOptions);
43
+ const callRecord = { ...callRecordPart1, ...callRecordPart2 };
44
+ await logger.log(callRecord);
45
+ }
46
+ catch (err) {
47
+ this.handleRejectedODataJsonPromise(err);
48
+ }
49
+ }
50
+ }
51
+ export default new TeamsCallRecordGetCommand();
52
+ //# sourceMappingURL=callrecord-get.js.map
@@ -7,6 +7,7 @@ export default {
7
7
  APP_UNINSTALL: `${prefix} app uninstall`,
8
8
  APP_UPDATE: `${prefix} app update`,
9
9
  CACHE_REMOVE: `${prefix} cache remove`,
10
+ CALLRECORD_GET: `${prefix} callrecord get`,
10
11
  CALLRECORD_LIST: `${prefix} callrecord list`,
11
12
  CHANNEL_ADD: `${prefix} channel add`,
12
13
  CHANNEL_GET: `${prefix} channel get`,
@@ -39,6 +39,24 @@ When creating open extensions it's possible to enter a JSON string. In PowerShel
39
39
 
40
40
  :::
41
41
 
42
+ ## Permissions
43
+ <Tabs>
44
+ <TabItem value="Delegated">
45
+
46
+ | Resource | Permissions |
47
+ |-----------------|---------------------------------------------------------------------------------------------|
48
+ | Microsoft Graph | Directory.AccessAsUser.All, Group.ReadWrite.All, Organization.ReadWrite.All, User.ReadWrite |
49
+
50
+ </TabItem>
51
+ <TabItem value="Application">
52
+
53
+ | Resource | Permissions |
54
+ |-----------------|-------------------------------------------------------------------------------------------|
55
+ | Microsoft Graph | Device.ReadWrite.All, Group.ReadWrite.All, Organization.ReadWrite.All, User.ReadWrite.All |
56
+
57
+ </TabItem>
58
+ </Tabs>
59
+
42
60
  ## Examples
43
61
 
44
62
  Create a new open extension for a user specified by id. Extension properties are specified by unknown options.
@@ -27,6 +27,24 @@ m365 graph openextension get [options]
27
27
 
28
28
  <Global />
29
29
 
30
+ ## Permissions
31
+ <Tabs>
32
+ <TabItem value="Delegated">
33
+
34
+ | Resource | Permissions |
35
+ |-----------------|-----------------------------------------------|
36
+ | Microsoft Graph | Directory.Read.All, Group.Read.All, User.Read |
37
+
38
+ </TabItem>
39
+ <TabItem value="Application">
40
+
41
+ | Resource | Permissions |
42
+ |-----------------|-----------------------------------------------------------------------|
43
+ | Microsoft Graph | Device.Read.All, Group.Read.All, Organization.Read.All, User.Read.All |
44
+
45
+ </TabItem>
46
+ </Tabs>
47
+
30
48
  ## Examples
31
49
 
32
50
  Retrieve a specified open extension for a user specified by id.
@@ -24,6 +24,24 @@ m365 graph openextension list [options]
24
24
 
25
25
  <Global />
26
26
 
27
+ ## Permissions
28
+ <Tabs>
29
+ <TabItem value="Delegated">
30
+
31
+ | Resource | Permissions |
32
+ |-----------------|-----------------------------------------------|
33
+ | Microsoft Graph | Directory.Read.All, Group.Read.All, User.Read |
34
+
35
+ </TabItem>
36
+ <TabItem value="Application">
37
+
38
+ | Resource | Permissions |
39
+ |-----------------|-----------------------------------------------------------------------|
40
+ | Microsoft Graph | Device.Read.All, Group.Read.All, Organization.Read.All, User.Read.All |
41
+
42
+ </TabItem>
43
+ </Tabs>
44
+
27
45
  ## Examples
28
46
 
29
47
  Retrieve open extensions for a user specified by id
@@ -30,6 +30,24 @@ m365 graph openextension remove [options]
30
30
 
31
31
  <Global />
32
32
 
33
+ ## Permissions
34
+ <Tabs>
35
+ <TabItem value="Delegated">
36
+
37
+ | Resource | Permissions |
38
+ |-----------------|---------------------------------------------------------------------------------------------|
39
+ | Microsoft Graph | Directory.AccessAsUser.All, Group.ReadWrite.All, Organization.ReadWrite.All, User.ReadWrite |
40
+
41
+ </TabItem>
42
+ <TabItem value="Application">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|-------------------------------------------------------------------------------------------|
46
+ | Microsoft Graph | Device.ReadWrite.All, Group.ReadWrite.All, Organization.ReadWrite.All, User.ReadWrite.All |
47
+
48
+ </TabItem>
49
+ </Tabs>
50
+
33
51
  ## Examples
34
52
 
35
53
  Remove a specified open extension for a user specified by id.
@@ -50,6 +50,24 @@ If a property of the open extension is not specified and `keepUnchangedPropertie
50
50
 
51
51
  :::
52
52
 
53
+ ## Permissions
54
+ <Tabs>
55
+ <TabItem value="Delegated">
56
+
57
+ | Resource | Permissions |
58
+ |-----------------|---------------------------------------------------------------------------------------------|
59
+ | Microsoft Graph | Directory.AccessAsUser.All, Group.ReadWrite.All, Organization.ReadWrite.All, User.ReadWrite |
60
+
61
+ </TabItem>
62
+ <TabItem value="Application">
63
+
64
+ | Resource | Permissions |
65
+ |-----------------|-------------------------------------------------------------------------------------------|
66
+ | Microsoft Graph | Device.ReadWrite.All, Group.ReadWrite.All, Organization.ReadWrite.All, User.ReadWrite.All |
67
+
68
+ </TabItem>
69
+ </Tabs>
70
+
53
71
  ## Examples
54
72
 
55
73
  Updates an open extension for a user specified by id
@@ -27,6 +27,25 @@ m365 outlook message get [options]
27
27
 
28
28
  <Global />
29
29
 
30
+ ## Permissions
31
+
32
+ <Tabs>
33
+ <TabItem value="Delegated">
34
+
35
+ | Resource | Permissions |
36
+ |-----------------|----------------|
37
+ | Microsoft Graph | Mail.ReadBasic |
38
+
39
+ </TabItem>
40
+ <TabItem value="Application">
41
+
42
+ | Resource | Permissions |
43
+ |-----------------|---------------------|
44
+ | Microsoft Graph | Mail.ReadBasic.All |
45
+
46
+ </TabItem>
47
+ </Tabs>
48
+
30
49
  ## Examples
31
50
 
32
51
  Get a specific message using delegated permissions.
@@ -36,6 +36,25 @@ m365 outlook message list [options]
36
36
 
37
37
  <Global />
38
38
 
39
+ ## Permissions
40
+
41
+ <Tabs>
42
+ <TabItem value="Delegated">
43
+
44
+ | Resource | Permissions |
45
+ |-----------------|---------------------------|
46
+ | Microsoft Graph | Mail.ReadBasic |
47
+
48
+ </TabItem>
49
+ <TabItem value="Application">
50
+
51
+ | Resource | Permissions |
52
+ |-----------------|--------------------------------|
53
+ | Microsoft Graph | Mail.ReadBasic.All |
54
+
55
+ </TabItem>
56
+ </Tabs>
57
+
39
58
  ## Examples
40
59
 
41
60
  List all messages from a folder with the specified name received within a specific time frame.