@pnp/cli-microsoft365 7.2.0-beta.ba91bbd → 7.2.0-beta.c7e1c03

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 (188) hide show
  1. package/.devcontainer/Dockerfile +0 -1
  2. package/.eslintrc.cjs +2 -0
  3. package/Dockerfile +0 -1
  4. package/dist/Command.js +7 -24
  5. package/dist/chili/chili.js +40 -51
  6. package/dist/cli/Cli.js +24 -12
  7. package/dist/m365/aad/commands/administrativeunit/administrativeunit-add.js +3 -3
  8. package/dist/m365/aad/commands/administrativeunit/administrativeunit-get.js +2 -15
  9. package/dist/m365/aad/commands/administrativeunit/administrativeunit-remove.js +5 -22
  10. package/dist/m365/aad/commands/app/app-remove.js +2 -7
  11. package/dist/m365/aad/commands/app/app-role-remove.js +2 -7
  12. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +2 -7
  13. package/dist/m365/aad/commands/group/group-remove.js +2 -7
  14. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +2 -7
  15. package/dist/m365/aad/commands/m365group/m365group-recyclebinitem-clear.js +2 -7
  16. package/dist/m365/aad/commands/m365group/m365group-recyclebinitem-remove.js +2 -7
  17. package/dist/m365/aad/commands/m365group/m365group-remove.js +2 -7
  18. package/dist/m365/aad/commands/m365group/m365group-user-remove.js +2 -7
  19. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +2 -7
  20. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +2 -7
  21. package/dist/m365/aad/commands/user/user-license-remove.js +2 -7
  22. package/dist/m365/aad/commands/user/user-recyclebinitem-clear.js +2 -7
  23. package/dist/m365/aad/commands/user/user-recyclebinitem-remove.js +2 -7
  24. package/dist/m365/aad/commands/user/user-remove.js +2 -7
  25. package/dist/m365/commands/setup.js +31 -37
  26. package/dist/m365/context/commands/context-remove.js +2 -7
  27. package/dist/m365/context/commands/option/option-remove.js +2 -7
  28. package/dist/m365/{search/commands/externalconnection/externalconnection-add.js → external/commands/connection/connection-add.js} +16 -13
  29. package/dist/m365/{search/commands/externalconnection/externalconnection-get.js → external/commands/connection/connection-get.js} +16 -13
  30. package/dist/m365/{search/commands/externalconnection/externalconnection-list.js → external/commands/connection/connection-list.js} +7 -4
  31. package/dist/m365/{search/commands/externalconnection/externalconnection-remove.js → external/commands/connection/connection-remove.js} +19 -21
  32. package/dist/m365/{search/commands/externalconnection/externalconnection-schema-add.js → external/commands/connection/connection-schema-add.js} +14 -11
  33. package/dist/m365/external/commands.js +15 -0
  34. package/dist/m365/flow/commands/flow-remove.js +2 -7
  35. package/dist/m365/flow/commands/owner/owner-remove.js +2 -7
  36. package/dist/m365/flow/commands/run/run-cancel.js +2 -7
  37. package/dist/m365/flow/commands/run/run-resubmit.js +2 -7
  38. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +2 -7
  39. package/dist/m365/pa/commands/app/app-consent-set.js +2 -7
  40. package/dist/m365/pa/commands/app/app-permission-remove.js +2 -7
  41. package/dist/m365/pa/commands/app/app-remove.js +2 -7
  42. package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -7
  43. package/dist/m365/planner/commands/plan/plan-remove.js +2 -7
  44. package/dist/m365/planner/commands/roster/roster-member-remove.js +4 -14
  45. package/dist/m365/planner/commands/roster/roster-remove.js +2 -7
  46. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +2 -7
  47. package/dist/m365/planner/commands/task/task-reference-remove.js +2 -7
  48. package/dist/m365/planner/commands/task/task-remove.js +2 -7
  49. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-remove.js +2 -7
  50. package/dist/m365/pp/commands/card/card-remove.js +2 -7
  51. package/dist/m365/pp/commands/chatbot/chatbot-remove.js +2 -7
  52. package/dist/m365/pp/commands/dataverse/dataverse-table-remove.js +2 -7
  53. package/dist/m365/pp/commands/dataverse/dataverse-table-row-remove.js +2 -7
  54. package/dist/m365/pp/commands/solution/solution-publisher-remove.js +2 -7
  55. package/dist/m365/pp/commands/solution/solution-remove.js +2 -7
  56. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +2 -7
  57. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +2 -7
  58. package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +2 -7
  59. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.18.1-rc.0.js +21 -0
  60. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  61. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN014010_CODE_settings_filesexclude_jest.js +44 -0
  62. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.18.1-rc.0.js +57 -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/app/app-remove.js +2 -7
  66. package/dist/m365/spo/commands/app/app-retract.js +2 -7
  67. package/dist/m365/spo/commands/app/app-uninstall.js +2 -7
  68. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +2 -7
  69. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +2 -7
  70. package/dist/m365/spo/commands/commandset/commandset-remove.js +2 -7
  71. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +2 -7
  72. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +2 -2
  73. package/dist/m365/spo/commands/customaction/customaction-clear.js +2 -7
  74. package/dist/m365/spo/commands/customaction/customaction-remove.js +2 -7
  75. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +2 -7
  76. package/dist/m365/spo/commands/field/field-remove.js +2 -7
  77. package/dist/m365/spo/commands/file/file-checkout-undo.js +2 -7
  78. package/dist/m365/spo/commands/file/file-remove.js +2 -7
  79. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +2 -7
  80. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +2 -7
  81. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +2 -7
  82. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +2 -7
  83. package/dist/m365/spo/commands/file/file-sharinglink-clear.js +2 -7
  84. package/dist/m365/spo/commands/file/file-sharinglink-remove.js +2 -7
  85. package/dist/m365/spo/commands/file/file-version-clear.js +2 -7
  86. package/dist/m365/spo/commands/file/file-version-remove.js +2 -7
  87. package/dist/m365/spo/commands/file/file-version-restore.js +2 -7
  88. package/dist/m365/spo/commands/folder/folder-remove.js +2 -7
  89. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +2 -7
  90. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +2 -7
  91. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +2 -7
  92. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +2 -7
  93. package/dist/m365/spo/commands/group/group-member-remove.js +2 -7
  94. package/dist/m365/spo/commands/group/group-remove.js +2 -7
  95. package/dist/m365/spo/commands/homesite/homesite-remove.js +2 -7
  96. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +2 -7
  97. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +2 -7
  98. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +2 -7
  99. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +2 -7
  100. package/dist/m365/spo/commands/list/list-contenttype-remove.js +2 -7
  101. package/dist/m365/spo/commands/list/list-remove.js +2 -7
  102. package/dist/m365/spo/commands/list/list-retentionlabel-remove.js +2 -7
  103. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +2 -7
  104. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +2 -7
  105. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +2 -7
  106. package/dist/m365/spo/commands/list/list-view-field-remove.js +2 -7
  107. package/dist/m365/spo/commands/list/list-view-remove.js +2 -7
  108. package/dist/m365/spo/commands/list/list-webhook-remove.js +2 -7
  109. package/dist/m365/spo/commands/listitem/listitem-attachment-remove.js +2 -7
  110. package/dist/m365/spo/commands/listitem/listitem-remove.js +2 -7
  111. package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +2 -7
  112. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +2 -7
  113. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +2 -7
  114. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +2 -7
  115. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +2 -7
  116. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +2 -7
  117. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +2 -7
  118. package/dist/m365/spo/commands/page/page-remove.js +2 -7
  119. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +2 -7
  120. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +2 -7
  121. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +2 -7
  122. package/dist/m365/spo/commands/site/site-apppermission-remove.js +2 -7
  123. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +2 -7
  124. package/dist/m365/spo/commands/site/site-recyclebinitem-clear.js +2 -7
  125. package/dist/m365/spo/commands/site/site-recyclebinitem-move.js +2 -7
  126. package/dist/m365/spo/commands/site/site-recyclebinitem-remove.js +2 -7
  127. package/dist/m365/spo/commands/site/site-remove.js +2 -7
  128. package/dist/m365/spo/commands/site/site-set.js +33 -1
  129. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +2 -7
  130. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +2 -7
  131. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +2 -7
  132. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +2 -7
  133. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +2 -7
  134. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +2 -7
  135. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +2 -7
  136. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +2 -7
  137. package/dist/m365/spo/commands/theme/theme-remove.js +2 -7
  138. package/dist/m365/spo/commands/user/user-remove.js +2 -7
  139. package/dist/m365/spo/commands/web/web-remove.js +2 -7
  140. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +2 -7
  141. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +2 -7
  142. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +2 -7
  143. package/dist/m365/teams/commands/app/app-remove.js +2 -7
  144. package/dist/m365/teams/commands/app/app-uninstall.js +2 -7
  145. package/dist/m365/teams/commands/cache/cache-remove.js +2 -7
  146. package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -7
  147. package/dist/m365/teams/commands/channel/channel-remove.js +2 -7
  148. package/dist/m365/teams/commands/chat/chat-member-remove.js +2 -7
  149. package/dist/m365/teams/commands/tab/tab-remove.js +2 -7
  150. package/dist/m365/teams/commands/team/team-remove.js +2 -7
  151. package/dist/m365/teams/commands/user/user-app-remove.js +19 -11
  152. package/dist/m365/tenant/commands/people/people-profilecardproperty-add.js +131 -0
  153. package/dist/m365/tenant/commands/people/people-profilecardproperty-get.js +75 -0
  154. package/dist/m365/tenant/commands/people/people-profilecardproperty-list.js +53 -0
  155. package/dist/m365/tenant/commands/people/people-profilecardproperty-remove.js +79 -0
  156. package/dist/m365/tenant/commands/people/people-profilecardproperty-set.js +118 -0
  157. package/dist/m365/tenant/commands/people/profileCardProperties.js +24 -0
  158. package/dist/m365/tenant/commands.js +5 -0
  159. package/dist/m365/todo/commands/list/list-remove.js +2 -7
  160. package/dist/m365/todo/commands/task/task-remove.js +2 -7
  161. package/dist/m365/yammer/commands/group/group-user-remove.js +2 -7
  162. package/dist/m365/yammer/commands/message/message-like-set.js +3 -8
  163. package/dist/m365/yammer/commands/message/message-remove.js +2 -7
  164. package/dist/utils/aadAdministrativeUnit.js +25 -0
  165. package/dist/utils/prompt.js +26 -7
  166. package/docs/docs/cmd/aad/administrativeunit/administrativeunit-add.mdx +6 -2
  167. package/docs/docs/cmd/aad/administrativeunit/administrativeunit-get.mdx +5 -1
  168. package/docs/docs/cmd/aad/administrativeunit/administrativeunit-list.mdx +5 -1
  169. package/docs/docs/cmd/aad/administrativeunit/administrativeunit-remove.mdx +6 -2
  170. package/docs/docs/cmd/{search/externalconnection/externalconnection-add.mdx → external/connection/connection-add.mdx} +16 -10
  171. package/docs/docs/cmd/{search/externalconnection/externalconnection-get.mdx → external/connection/connection-get.mdx} +16 -11
  172. package/docs/docs/cmd/{search/externalconnection/externalconnection-list.mdx → external/connection/connection-list.mdx} +12 -7
  173. package/docs/docs/cmd/external/connection/connection-remove.mdx +54 -0
  174. package/docs/docs/cmd/external/connection/connection-schema-add.mdx +41 -0
  175. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  176. package/docs/docs/cmd/spo/file/file-rename.mdx +2 -0
  177. package/docs/docs/cmd/spo/site/site-set.mdx +15 -0
  178. package/docs/docs/cmd/teams/user/user-app-remove.mdx +11 -2
  179. package/docs/docs/cmd/tenant/people/people-profilecardproperty-add.mdx +126 -0
  180. package/docs/docs/cmd/tenant/people/people-profilecardproperty-get.mdx +101 -0
  181. package/docs/docs/cmd/tenant/people/people-profilecardproperty-list.mdx +98 -0
  182. package/docs/docs/cmd/tenant/people/people-profilecardproperty-remove.mdx +61 -0
  183. package/docs/docs/cmd/tenant/people/people-profilecardproperty-set.mdx +120 -0
  184. package/npm-shrinkwrap.json +262 -186
  185. package/package.json +6 -8
  186. package/dist/m365/search/commands.js +0 -9
  187. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.mdx +0 -48
  188. package/docs/docs/cmd/search/externalconnection/externalconnection-schema-add.mdx +0 -35
@@ -63,13 +63,8 @@ class SpoListItemAttachmentRemoveCommand extends SpoCommand {
63
63
  await removeListItemAttachment();
64
64
  }
65
65
  else {
66
- const result = await Cli.prompt({
67
- type: 'confirm',
68
- name: 'continue',
69
- default: false,
70
- message: `Are you sure you want to remove the attachment ${args.options.fileName} of item with id ${args.options.listItemId} from the list ${args.options.listId ? args.options.listId : args.options.listTitle ? args.options.listTitle : args.options.listUrl} in site ${args.options.webUrl}?`
71
- });
72
- if (result.continue) {
66
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the attachment ${args.options.fileName} of item with id ${args.options.listItemId} from the list ${args.options.listId ? args.options.listId : args.options.listTitle ? args.options.listTitle : args.options.listUrl} in site ${args.options.webUrl}?` });
67
+ if (result) {
73
68
  await removeListItemAttachment();
74
69
  }
75
70
  }
@@ -68,13 +68,8 @@ class SpoListItemRemoveCommand extends SpoCommand {
68
68
  await removeListItem();
69
69
  }
70
70
  else {
71
- const result = await Cli.prompt({
72
- type: 'confirm',
73
- name: 'continue',
74
- default: false,
75
- message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the list item ${args.options.id} from list ${args.options.listId || args.options.listTitle || args.options.listUrl} located in site ${args.options.webUrl}?`
76
- });
77
- if (result.continue) {
71
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the list item ${args.options.id} from list ${args.options.listId || args.options.listTitle || args.options.listUrl} located in site ${args.options.webUrl}?` });
72
+ if (result) {
78
73
  await removeListItem();
79
74
  }
80
75
  }
@@ -31,13 +31,8 @@ class SpoListItemRetentionLabelRemoveCommand extends SpoCommand {
31
31
  await this.removeListItemRetentionLabel(logger, args);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to remove the retentionlabel from list item ${args.options.listItemId} from list '${args.options.listId || args.options.listTitle || args.options.listUrl}' located in site ${args.options.webUrl}?`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the retentionlabel from list item ${args.options.listItemId} from list '${args.options.listId || args.options.listTitle || args.options.listUrl}' located in site ${args.options.webUrl}?` });
35
+ if (result) {
41
36
  await this.removeListItemRetentionLabel(logger, args);
42
37
  }
43
38
  }
@@ -33,13 +33,8 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand {
33
33
  await this.removeRoleAssignment(logger, args.options);
34
34
  }
35
35
  else {
36
- const result = await Cli.prompt({
37
- type: 'confirm',
38
- name: 'continue',
39
- default: false,
40
- message: `Are you sure you want to remove role assignment from listitem ${args.options.listItemId} from list ${args.options.listId || args.options.listTitle} from site ${args.options.webUrl}?`
41
- });
42
- if (result.continue) {
36
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove role assignment from listitem ${args.options.listItemId} from list ${args.options.listId || args.options.listTitle} from site ${args.options.webUrl}?` });
37
+ if (result) {
43
38
  await this.removeRoleAssignment(logger, args.options);
44
39
  }
45
40
  }
@@ -34,13 +34,8 @@ class SpoListItemRoleInheritanceBreakCommand extends SpoCommand {
34
34
  await this.breakListItemRoleInheritance(args.options);
35
35
  }
36
36
  else {
37
- const result = await Cli.prompt({
38
- type: 'confirm',
39
- name: 'continue',
40
- default: false,
41
- message: `Are you sure you want to break the role inheritance of ${args.options.listItemId} in list ${args.options.listId ?? args.options.listTitle}?`
42
- });
43
- if (result.continue) {
37
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to break the role inheritance of ${args.options.listItemId} in list ${args.options.listId ?? args.options.listTitle}?` });
38
+ if (result) {
44
39
  await this.breakListItemRoleInheritance(args.options);
45
40
  }
46
41
  }
@@ -34,13 +34,8 @@ class SpoListItemRoleInheritanceResetCommand extends SpoCommand {
34
34
  await this.resetListItemRoleInheritance(args.options);
35
35
  }
36
36
  else {
37
- const result = await Cli.prompt({
38
- type: 'confirm',
39
- name: 'continue',
40
- default: false,
41
- message: `Are you sure you want to reset the role inheritance of ${args.options.listItemId} in list ${args.options.listId ?? args.options.listTitle}?`
42
- });
43
- if (result.continue) {
37
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to reset the role inheritance of ${args.options.listItemId} in list ${args.options.listId ?? args.options.listTitle}?` });
38
+ if (result) {
44
39
  await this.resetListItemRoleInheritance(args.options);
45
40
  }
46
41
  }
@@ -29,13 +29,8 @@ class SpoNavigationNodeRemoveCommand extends SpoCommand {
29
29
  await this.removeNode(logger, args.options);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: `Are you sure you want to remove the node ${args.options.id} from the navigation?`
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the node ${args.options.id} from the navigation?` });
33
+ if (result) {
39
34
  await this.removeNode(logger, args.options);
40
35
  }
41
36
  }
@@ -27,13 +27,8 @@ class SpoOrgAssetsLibraryRemoveCommand extends SpoCommand {
27
27
  await this.removeLibrary(logger, args.options.libraryUrl);
28
28
  }
29
29
  else {
30
- const result = await Cli.prompt({
31
- type: 'confirm',
32
- name: 'continue',
33
- default: false,
34
- message: `Are you sure you want to remove the library ${args.options.libraryUrl} as a central location for organization assets?`
35
- });
36
- if (result.continue) {
30
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the library ${args.options.libraryUrl} as a central location for organization assets?` });
31
+ if (result) {
37
32
  await this.removeLibrary(logger, args.options.libraryUrl);
38
33
  }
39
34
  }
@@ -31,13 +31,8 @@ class SpoOrgNewsSiteRemoveCommand extends SpoCommand {
31
31
  await this.removeOrgNewsSite(logger, args.options.url);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to remove ${args.options.url} from the list of organizational news sites?`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove ${args.options.url} from the list of organizational news sites?` });
35
+ if (result) {
41
36
  await this.removeOrgNewsSite(logger, args.options.url);
42
37
  }
43
38
  }
@@ -29,13 +29,8 @@ class SpoPageRemoveCommand extends SpoCommand {
29
29
  await this.removePage(logger, args);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: `Are you sure you want to remove the page '${args.options.name}'?`
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the page '${args.options.name}'?` });
33
+ if (result) {
39
34
  await this.removePage(logger, args);
40
35
  }
41
36
  }
@@ -31,13 +31,8 @@ class SpoPropertyBagRemoveCommand extends SpoPropertyBagBaseCommand {
31
31
  await this.removeProperty(args);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to remove the ${args.options.key} property?`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the ${args.options.key} property?` });
35
+ if (result) {
41
36
  await this.removeProperty(args);
42
37
  }
43
38
  }
@@ -28,13 +28,8 @@ class SpoRoleDefinitionRemoveCommand extends SpoCommand {
28
28
  await this.removeRoleDefinition(logger, args);
29
29
  }
30
30
  else {
31
- const result = await Cli.prompt({
32
- type: 'confirm',
33
- name: 'continue',
34
- default: false,
35
- message: `Are you sure you want to remove the role definition with id ${args.options.id} from site ${args.options.webUrl}?`
36
- });
37
- if (result.continue) {
31
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the role definition with id ${args.options.id} from site ${args.options.webUrl}?` });
32
+ if (result) {
38
33
  await this.removeRoleDefinition(logger, args);
39
34
  }
40
35
  }
@@ -32,13 +32,8 @@ class SpoServicePrincipalSetCommand extends SpoCommand {
32
32
  await this.toggleServicePrincipal(logger, args);
33
33
  }
34
34
  else {
35
- const result = await Cli.prompt({
36
- type: 'confirm',
37
- name: 'continue',
38
- default: false,
39
- message: `Are you sure you want to ${args.options.enabled ? 'enable' : 'disable'} the service principal?`
40
- });
41
- if (result.continue) {
35
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to ${args.options.enabled ? 'enable' : 'disable'} the service principal?` });
36
+ if (result) {
42
37
  await this.toggleServicePrincipal(logger, args);
43
38
  }
44
39
  }
@@ -72,13 +72,8 @@ class SpoSiteAppPermissionRemoveCommand extends GraphCommand {
72
72
  await this.removeSiteAppPermission(logger, args.options);
73
73
  }
74
74
  else {
75
- const result = await Cli.prompt({
76
- type: 'confirm',
77
- name: 'continue',
78
- default: false,
79
- message: `Are you sure you want to remove the specified application permission from site ${args.options.siteUrl}?`
80
- });
81
- if (result.continue) {
75
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the specified application permission from site ${args.options.siteUrl}?` });
76
+ if (result) {
82
77
  await this.removeSiteAppPermission(logger, args.options);
83
78
  }
84
79
  }
@@ -29,13 +29,8 @@ class SpoSiteHubSiteDisconnectCommand extends SpoCommand {
29
29
  await this.disconnectHubSite(logger, args);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: `Are you sure you want to disconnect the site collection ${args.options.siteUrl} from its hub site?`
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to disconnect the site collection ${args.options.siteUrl} from its hub site?` });
33
+ if (result) {
39
34
  await this.disconnectHubSite(logger, args);
40
35
  }
41
36
  }
@@ -28,13 +28,8 @@ class SpoSiteRecycleBinItemClearCommand extends SpoCommand {
28
28
  await this.clearRecycleBin(args, logger);
29
29
  }
30
30
  else {
31
- const result = await Cli.prompt({
32
- type: 'confirm',
33
- name: 'continue',
34
- default: false,
35
- message: `Are you sure you want to clear the recycle bin of site ${args.options.siteUrl}?`
36
- });
37
- if (result.continue) {
31
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to clear the recycle bin of site ${args.options.siteUrl}?` });
32
+ if (result) {
38
33
  await this.clearRecycleBin(args, logger);
39
34
  }
40
35
  }
@@ -29,13 +29,8 @@ class SpoSiteRecycleBinItemMoveCommand extends SpoCommand {
29
29
  await this.moveRecycleBinItem(args, logger);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: 'Are you sure you want to move these items to the second-stage recycle bin?'
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: 'Are you sure you want to move these items to the second-stage recycle bin?' });
33
+ if (result) {
39
34
  await this.moveRecycleBinItem(args, logger);
40
35
  }
41
36
  }
@@ -28,13 +28,8 @@ class SpoSiteRecycleBinItemRemoveCommand extends SpoCommand {
28
28
  await this.removeRecycleBinItem(args, logger);
29
29
  }
30
30
  else {
31
- const result = await Cli.prompt({
32
- type: 'confirm',
33
- name: 'continue',
34
- default: false,
35
- message: `Are you sure you want to permanently delete ${args.options.ids.split(',').length} item(s) from the site recycle bin?`
36
- });
37
- if (result.continue) {
31
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to permanently delete ${args.options.ids.split(',').length} item(s) from the site recycle bin?` });
32
+ if (result) {
38
33
  await this.removeRecycleBinItem(args, logger);
39
34
  }
40
35
  }
@@ -33,13 +33,8 @@ class SpoSiteRemoveCommand extends SpoCommand {
33
33
  await this.removeSite(logger, args);
34
34
  }
35
35
  else {
36
- const result = await Cli.prompt({
37
- type: 'confirm',
38
- name: 'continue',
39
- default: false,
40
- message: `Are you sure you want to remove the site ${args.options.url}?`
41
- });
42
- if (result.continue) {
36
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the site ${args.options.url}?` });
37
+ if (result) {
43
38
  await this.removeSite(logger, args);
44
39
  }
45
40
  }
@@ -49,6 +49,7 @@ class SpoSiteSetCommand extends SpoCommand {
49
49
  await this.waitForSiteUpdateCompletion(logger, args, siteProps);
50
50
  await this.applySiteDesign(logger, args);
51
51
  await this.setLogo(logger, args);
52
+ await this.setThumbnail(logger, args);
52
53
  const lockState = await this.updateSiteLockState(logger, args);
53
54
  await this.waitForSiteUpdateCompletion(logger, args, lockState);
54
55
  }
@@ -73,7 +74,31 @@ class SpoSiteSetCommand extends SpoCommand {
73
74
  accept: 'application/json;odata=nometadata'
74
75
  },
75
76
  data: {
76
- relativeLogoUrl: logoUrl
77
+ aspect: 1,
78
+ relativeLogoUrl: logoUrl,
79
+ type: 0
80
+ },
81
+ responseType: 'json'
82
+ };
83
+ return request.post(requestOptions);
84
+ }
85
+ async setThumbnail(logger, args) {
86
+ if (typeof args.options.siteThumbnailUrl === 'undefined') {
87
+ return;
88
+ }
89
+ if (this.debug) {
90
+ await logger.logToStderr(`Setting the site thumbnail...`);
91
+ }
92
+ const thumbnailUrl = args.options.siteThumbnailUrl ? urlUtil.getServerRelativePath(args.options.url, args.options.siteThumbnailUrl) : "";
93
+ const requestOptions = {
94
+ url: `${args.options.url}/_api/siteiconmanager/setsitelogo`,
95
+ headers: {
96
+ accept: 'application/json;odata=nometadata'
97
+ },
98
+ data: {
99
+ aspect: 0,
100
+ relativeLogoUrl: thumbnailUrl,
101
+ type: 0
77
102
  },
78
103
  responseType: 'json'
79
104
  };
@@ -420,6 +445,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
420
445
  siteDesignId: typeof args.options.siteDesignId !== undefined,
421
446
  sharingCapabilities: args.options.sharingCapability,
422
447
  siteLogoUrl: typeof args.options.siteLogoUrl !== 'undefined',
448
+ siteThumbnailUrl: typeof args.options.siteThumbnailUrl !== 'undefined',
423
449
  resourceQuota: args.options.resourceQuota,
424
450
  resourceQuotaWarningLevel: args.options.resourceQuotaWarningLevel,
425
451
  storageQuota: args.options.storageQuota,
@@ -459,6 +485,8 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
459
485
  option: '--description [description]'
460
486
  }, {
461
487
  option: '--siteLogoUrl [siteLogoUrl]'
488
+ }, {
489
+ option: '--siteThumbnailUrl [siteThumbnailUrl]'
462
490
  }, {
463
491
  option: '--sharingCapability [sharingCapability]',
464
492
  autocomplete: this.sharingCapabilities
@@ -499,6 +527,7 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
499
527
  typeof args.options.siteDesignId === 'undefined' &&
500
528
  typeof args.options.sharingCapability === 'undefined' &&
501
529
  typeof args.options.siteLogoUrl === 'undefined' &&
530
+ typeof args.options.siteThumbnailUrl === 'undefined' &&
502
531
  typeof args.options.resourceQuota === 'undefined' &&
503
532
  typeof args.options.resourceQuotaWarningLevel === 'undefined' &&
504
533
  typeof args.options.storageQuota === 'undefined' &&
@@ -511,6 +540,9 @@ _SpoSiteSetCommand_instances = new WeakSet(), _SpoSiteSetCommand_initTelemetry =
511
540
  if (typeof args.options.siteLogoUrl !== 'undefined' && typeof args.options.siteLogoUrl !== 'string') {
512
541
  return `${args.options.siteLogoUrl} is not a valid value for the siteLogoUrl option. Specify the logo URL or an empty string "" to unset the logo.`;
513
542
  }
543
+ if (typeof args.options.siteThumbnailUrl !== 'undefined' && typeof args.options.siteThumbnailUrl !== 'string') {
544
+ return `${args.options.siteThumbnailUrl} is not a valid value for the siteThumbnailUrl option. Specify the logo URL or an empty string "" to unset the logo.`;
545
+ }
514
546
  if (args.options.siteDesignId) {
515
547
  if (!validation.isValidGuid(args.options.siteDesignId)) {
516
548
  return `${args.options.siteDesignId} is not a valid GUID`;
@@ -29,13 +29,8 @@ class SpoSiteDesignRemoveCommand extends SpoCommand {
29
29
  await this.removeSiteDesign(logger, args.options.id);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: `Are you sure you want to remove the site design ${args.options.id}?`
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the site design ${args.options.id}?` });
33
+ if (result) {
39
34
  await this.removeSiteDesign(logger, args.options.id);
40
35
  }
41
36
  }
@@ -52,13 +52,8 @@ class SpoSiteDesignRightsRevokeCommand extends SpoCommand {
52
52
  await revokePermissions();
53
53
  }
54
54
  else {
55
- const result = await Cli.prompt({
56
- type: 'confirm',
57
- name: 'continue',
58
- default: false,
59
- message: `Are you sure you want to revoke access to site design ${args.options.siteDesignId} from the specified users?`
60
- });
61
- if (result.continue) {
55
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to revoke access to site design ${args.options.siteDesignId} from the specified users?` });
56
+ if (result) {
62
57
  await revokePermissions();
63
58
  }
64
59
  }
@@ -29,13 +29,8 @@ class SpoSiteDesignTaskRemoveCommand extends SpoCommand {
29
29
  await this.removeSiteDesignTask(logger, args.options.id);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: `Are you sure you want to remove the site design task ${args.options.id}?`
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the site design task ${args.options.id}?` });
33
+ if (result) {
39
34
  await this.removeSiteDesignTask(logger, args.options.id);
40
35
  }
41
36
  }
@@ -29,13 +29,8 @@ class SpoSiteScriptRemoveCommand extends SpoCommand {
29
29
  await this.removeSiteScript(logger, args.options.id);
30
30
  }
31
31
  else {
32
- const result = await Cli.prompt({
33
- type: 'confirm',
34
- name: 'continue',
35
- default: false,
36
- message: `Are you sure you want to remove the site script ${args.options.id}?`
37
- });
38
- if (result.continue) {
32
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the site script ${args.options.id}?` });
33
+ if (result) {
39
34
  await this.removeSiteScript(logger, args.options.id);
40
35
  }
41
36
  }
@@ -31,13 +31,8 @@ class SpoStorageEntityRemoveCommand extends SpoCommand {
31
31
  await this.removeTenantProperty(logger, args);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to delete the ${args.options.key} tenant property?`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to delete the ${args.options.key} tenant property?` });
35
+ if (result) {
41
36
  await this.removeTenantProperty(logger, args);
42
37
  }
43
38
  }
@@ -33,13 +33,8 @@ class SpoTenantApplicationCustomizerRemoveCommand extends SpoCommand {
33
33
  if (args.options.force) {
34
34
  return await this.removeTenantApplicationCustomizer(logger, args);
35
35
  }
36
- const result = await Cli.prompt({
37
- type: 'confirm',
38
- name: 'continue',
39
- default: false,
40
- message: `Are you sure you want to remove the tenant applicationcustomizer ${args.options.id || args.options.title || args.options.clientSideComponentId}?`
41
- });
42
- if (result.continue) {
36
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the tenant applicationcustomizer ${args.options.id || args.options.title || args.options.clientSideComponentId}?` });
37
+ if (result) {
43
38
  await this.removeTenantApplicationCustomizer(logger, args);
44
39
  }
45
40
  }
@@ -33,13 +33,8 @@ class SpoTenantCommandSetRemoveCommand extends SpoCommand {
33
33
  if (args.options.force) {
34
34
  return await this.removeTenantCommandSet(logger, args);
35
35
  }
36
- const result = await Cli.prompt({
37
- type: 'confirm',
38
- name: 'continue',
39
- default: false,
40
- message: `Are you sure you want to remove the tenant commandset ${args.options.id || args.options.title || args.options.clientSideComponentId}?`
41
- });
42
- if (result.continue) {
36
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the tenant commandset ${args.options.id || args.options.title || args.options.clientSideComponentId}?` });
37
+ if (result) {
43
38
  await this.removeTenantCommandSet(logger, args);
44
39
  }
45
40
  }
@@ -31,13 +31,8 @@ class SpoTenantRecycleBinItemRemoveCommand extends SpoCommand {
31
31
  await this.removeDeletedSite(logger, args);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to remove the deleted site collection ${args.options.siteUrl} from tenant recycle bin?`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the deleted site collection ${args.options.siteUrl} from tenant recycle bin?` });
35
+ if (result) {
41
36
  await this.removeDeletedSite(logger, args);
42
37
  }
43
38
  }
@@ -27,13 +27,8 @@ class SpoThemeRemoveCommand extends SpoCommand {
27
27
  await this.removeTheme(logger, args.options);
28
28
  }
29
29
  else {
30
- const result = await Cli.prompt({
31
- type: 'confirm',
32
- name: 'continue',
33
- default: false,
34
- message: `Are you sure you want to remove the theme`
35
- });
36
- if (result.continue) {
30
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the theme` });
31
+ if (result) {
37
32
  await this.removeTheme(logger, args.options);
38
33
  }
39
34
  }
@@ -30,13 +30,8 @@ class SpoUserRemoveCommand extends SpoCommand {
30
30
  await this.removeUser(logger, args.options);
31
31
  }
32
32
  else {
33
- const result = await Cli.prompt({
34
- type: 'confirm',
35
- name: 'continue',
36
- default: false,
37
- message: `Are you sure you want to remove specified user from the site ${args.options.webUrl}`
38
- });
39
- if (result.continue) {
33
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove specified user from the site ${args.options.webUrl}?` });
34
+ if (result) {
40
35
  await this.removeUser(logger, args.options);
41
36
  }
42
37
  }
@@ -28,13 +28,8 @@ class SpoWebRemoveCommand extends SpoCommand {
28
28
  await this.removeWeb(logger, args.options.url);
29
29
  }
30
30
  else {
31
- const result = await Cli.prompt({
32
- type: 'confirm',
33
- name: 'continue',
34
- default: false,
35
- message: `Are you sure you want to remove the subsite ${args.options.url}`
36
- });
37
- if (result.continue) {
31
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove the subsite ${args.options.url}?` });
32
+ if (result) {
38
33
  await this.removeWeb(logger, args.options.url);
39
34
  }
40
35
  }
@@ -31,13 +31,8 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
31
31
  await this.removeRoleAssignment(logger, args.options);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to remove role assignment from web ${args.options.webUrl}?`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to remove role assignment from web ${args.options.webUrl}?` });
35
+ if (result) {
41
36
  await this.removeRoleAssignment(logger, args.options);
42
37
  }
43
38
  }
@@ -31,13 +31,8 @@ class SpoWebRoleInheritanceBreakCommand extends SpoCommand {
31
31
  await this.breakRoleInheritance(args.options);
32
32
  }
33
33
  else {
34
- const result = await Cli.prompt({
35
- type: 'confirm',
36
- name: 'continue',
37
- default: false,
38
- message: `Are you sure you want to break the role inheritance of subsite ${args.options.webUrl}`
39
- });
40
- if (result.continue) {
34
+ const result = await Cli.promptForConfirmation({ message: `Are you sure you want to break the role inheritance of subsite ${args.options.webUrl}?` });
35
+ if (result) {
41
36
  await this.breakRoleInheritance(args.options);
42
37
  }
43
38
  }