@pnp/cli-microsoft365 6.9.0-beta.f6054b4 → 6.10.0-beta.6bf4ff9

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 (317) hide show
  1. package/.devcontainer/Dockerfile +12 -19
  2. package/.devcontainer/devcontainer.json +24 -17
  3. package/Dockerfile +3 -1
  4. package/README.md +7 -5
  5. package/dist/Auth.js +2 -8
  6. package/dist/AuthServer.js +2 -4
  7. package/dist/cli/Cli.js +2 -2
  8. package/dist/m365/aad/commands/app/app-add.js +258 -249
  9. package/dist/m365/aad/commands/app/app-get.js +65 -62
  10. package/dist/m365/aad/commands/app/app-remove.js +22 -23
  11. package/dist/m365/aad/commands/app/app-role-add.js +35 -34
  12. package/dist/m365/aad/commands/app/app-role-list.js +22 -23
  13. package/dist/m365/aad/commands/app/app-role-remove.js +76 -73
  14. package/dist/m365/aad/commands/app/app-set.js +103 -103
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +16 -14
  16. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +43 -52
  17. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +20 -16
  18. package/dist/m365/aad/commands/o365group/o365group-add.js +40 -37
  19. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +7 -6
  20. package/dist/m365/aad/commands/o365group/o365group-list.js +6 -11
  21. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +7 -8
  22. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +23 -24
  23. package/dist/m365/aad/commands/o365group/o365group-set.js +15 -20
  24. package/dist/m365/aad/commands/o365group/o365group-teamify.js +15 -16
  25. package/dist/m365/aad/commands/o365group/o365group-user-list.js +17 -10
  26. package/dist/m365/aad/commands/o365group/o365group-user-set.js +17 -10
  27. package/dist/m365/aad/commands/policy/policy-list.js +12 -13
  28. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +1 -3
  29. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +19 -20
  30. package/dist/m365/aad/commands/sp/sp-add.js +22 -23
  31. package/dist/m365/aad/commands/sp/sp-get.js +22 -23
  32. package/dist/m365/aad/commands/sp/sp-list.js +78 -0
  33. package/dist/m365/aad/commands.js +1 -0
  34. package/dist/m365/app/commands/app-open.js +4 -14
  35. package/dist/m365/base/AzmgmtItemsListCommand.js +31 -33
  36. package/dist/m365/cli/commands/cli-issue.js +4 -10
  37. package/dist/m365/cli/commands/cli-reconsent.js +2 -8
  38. package/dist/m365/cli/commands/config/config-set.js +0 -1
  39. package/dist/m365/commands/docs.js +2 -8
  40. package/dist/m365/commands/login.js +20 -0
  41. package/dist/m365/file/commands/convert/convert-pdf.js +147 -143
  42. package/dist/m365/file/commands/file-add.js +87 -93
  43. package/dist/m365/file/commands/file-list.js +49 -55
  44. package/dist/m365/flow/commands/flow-list.js +30 -12
  45. package/dist/m365/flow/commands/flow-remove.js +2 -3
  46. package/dist/m365/flow/commands/run/run-resubmit.js +11 -10
  47. package/dist/m365/onedrive/commands/onedrive-list.js +21 -32
  48. package/dist/m365/outlook/commands/message/message-list.js +18 -23
  49. package/dist/m365/outlook/commands/message/message-move.js +15 -20
  50. package/dist/m365/pa/commands/app/app-export.js +3 -4
  51. package/dist/m365/pa/commands/app/app-get.js +11 -9
  52. package/dist/m365/pa/commands/app/app-remove.js +1 -1
  53. package/dist/m365/pa/commands/pcf/pcf-init.js +1 -2
  54. package/dist/m365/pa/commands/solution/solution-init.js +1 -2
  55. package/dist/m365/pa/commands/solution/solution-reference-add.js +1 -2
  56. package/dist/m365/planner/commands/bucket/bucket-add.js +15 -13
  57. package/dist/m365/planner/commands/bucket/bucket-get.js +27 -28
  58. package/dist/m365/planner/commands/bucket/bucket-list.js +15 -13
  59. package/dist/m365/planner/commands/bucket/bucket-remove.js +33 -34
  60. package/dist/m365/planner/commands/bucket/bucket-set.js +33 -34
  61. package/dist/m365/planner/commands/plan/plan-add.js +49 -52
  62. package/dist/m365/planner/commands/plan/plan-set.js +19 -20
  63. package/dist/m365/planner/commands/task/task-add.js +75 -78
  64. package/dist/m365/planner/commands/task/task-checklistitem-add.js +11 -10
  65. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +10 -8
  66. package/dist/m365/planner/commands/task/task-get.js +53 -56
  67. package/dist/m365/planner/commands/task/task-list.js +23 -24
  68. package/dist/m365/planner/commands/task/task-reference-add.js +11 -10
  69. package/dist/m365/planner/commands/task/task-reference-remove.js +13 -14
  70. package/dist/m365/planner/commands/task/task-remove.js +44 -48
  71. package/dist/m365/planner/commands/task/task-set.js +83 -87
  72. package/dist/m365/pp/commands/managementapp/managementapp-add.js +19 -20
  73. package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +3 -8
  74. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +1 -6
  75. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +1 -6
  76. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +1 -6
  77. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +1 -6
  78. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +1 -6
  79. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +1 -6
  80. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +1 -6
  81. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +1 -6
  82. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +0 -5
  83. package/dist/m365/purview/commands/retentionlabel/retentionlabel-get.js +0 -5
  84. package/dist/m365/purview/commands/retentionlabel/retentionlabel-list.js +0 -5
  85. package/dist/m365/purview/commands/retentionlabel/retentionlabel-remove.js +19 -22
  86. package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +0 -5
  87. package/dist/m365/spfx/commands/project/JsonRule.js +1 -1
  88. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.3.js +25 -0
  89. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.4.js +25 -0
  90. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.18.0-beta.1.js +23 -0
  91. package/dist/m365/spfx/commands/project/project-doctor.js +4 -1
  92. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  93. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002027_DEVDEP_fluentui_react.js +14 -0
  94. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +1 -0
  95. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.3.js +59 -0
  96. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.4.js +55 -0
  97. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.18.0-beta.1.js +61 -0
  98. package/dist/m365/spfx/commands/project/project-upgrade.js +18 -13
  99. package/dist/m365/spfx/commands/spfx-doctor.js +45 -0
  100. package/dist/m365/spo/commands/app/app-teamspackage-download.js +17 -24
  101. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +154 -0
  102. package/dist/m365/spo/commands/apppage/apppage-set.js +1 -1
  103. package/dist/m365/spo/commands/commandset/commandset-set.js +11 -2
  104. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +65 -94
  105. package/dist/m365/spo/commands/customaction/customaction-clear.js +4 -12
  106. package/dist/m365/spo/commands/customaction/customaction-remove.js +12 -23
  107. package/dist/m365/spo/commands/customaction/customaction-set.js +21 -29
  108. package/dist/m365/spo/commands/file/file-add.js +133 -133
  109. package/dist/m365/spo/commands/file/file-checkout-undo.js +119 -0
  110. package/dist/m365/spo/commands/file/file-rename.js +11 -9
  111. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +2 -2
  112. package/dist/m365/spo/commands/file/file-roleassignment-add.js +41 -61
  113. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +3 -0
  114. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +3 -0
  115. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +3 -0
  116. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +23 -21
  117. package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
  118. package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
  119. package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
  120. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +3 -3
  121. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  122. package/dist/m365/spo/commands/group/group-member-add.js +17 -16
  123. package/dist/m365/spo/commands/group/group-set.js +20 -20
  124. package/dist/m365/spo/commands/homesite/homesite-remove.js +1 -1
  125. package/dist/m365/spo/commands/hubsite/hubsite-get.js +33 -31
  126. package/dist/m365/spo/commands/hubsite/hubsite-list.js +18 -29
  127. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +3 -0
  128. package/dist/m365/spo/commands/list/list-add.js +1 -1
  129. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +1 -1
  130. package/dist/m365/spo/commands/list/list-roleassignment-add.js +45 -52
  131. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +33 -38
  132. package/dist/m365/spo/commands/list/list-sensitivitylabel-ensure.js +137 -0
  133. package/dist/m365/spo/commands/list/list-view-field-add.js +12 -10
  134. package/dist/m365/spo/commands/list/list-view-field-remove.js +12 -10
  135. package/dist/m365/spo/commands/list/list-view-field-set.js +12 -10
  136. package/dist/m365/spo/commands/list/list-view-remove.js +3 -0
  137. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +41 -61
  138. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +71 -74
  139. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +36 -34
  140. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +32 -30
  141. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +24 -22
  142. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +29 -27
  143. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +26 -24
  144. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +34 -40
  145. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +23 -21
  146. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +24 -22
  147. package/dist/m365/spo/commands/spo-search.js +7 -15
  148. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +29 -27
  149. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +156 -0
  150. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +50 -0
  151. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +1 -1
  152. package/dist/m365/spo/commands.js +5 -0
  153. package/dist/m365/teams/commands/app/app-install.js +23 -21
  154. package/dist/m365/teams/commands/app/app-remove.js +3 -0
  155. package/dist/m365/teams/commands/app/app-uninstall.js +3 -0
  156. package/dist/m365/teams/commands/app/app-update.js +15 -16
  157. package/dist/m365/teams/commands/channel/channel-add.js +40 -39
  158. package/dist/m365/teams/commands/channel/channel-get.js +23 -25
  159. package/dist/m365/teams/commands/channel/channel-list.js +6 -7
  160. package/dist/m365/teams/commands/channel/channel-member-add.js +61 -60
  161. package/dist/m365/teams/commands/channel/channel-member-list.js +20 -22
  162. package/dist/m365/teams/commands/channel/channel-member-remove.js +43 -48
  163. package/dist/m365/teams/commands/channel/channel-member-set.js +36 -39
  164. package/dist/m365/teams/commands/channel/channel-remove.js +4 -1
  165. package/dist/m365/teams/commands/funsettings/funsettings-list.js +3 -0
  166. package/dist/m365/teams/commands/funsettings/funsettings-set.js +3 -0
  167. package/dist/m365/teams/commands/tab/tab-get.js +34 -37
  168. package/dist/m365/teams/commands/team/team-archive.js +6 -7
  169. package/dist/m365/teams/commands/team/team-get.js +6 -7
  170. package/dist/m365/teams/commands/team/team-list.js +9 -11
  171. package/dist/m365/teams/commands/team/team-remove.js +6 -7
  172. package/dist/m365/teams/commands/team/team-unarchive.js +6 -7
  173. package/dist/m365/teams/commands/user/user-app-list.js +13 -11
  174. package/dist/m365/teams/commands/user/user-list.js +7 -4
  175. package/dist/m365/tenant/commands/security/security-alerts-list.js +25 -26
  176. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +13 -14
  177. package/dist/m365/todo/commands/list/list-remove.js +39 -36
  178. package/dist/m365/todo/commands/list/list-set.js +16 -14
  179. package/dist/m365/todo/commands/task/task-add.js +14 -14
  180. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -7
  181. package/dist/settingsNames.js +0 -1
  182. package/dist/utils/browserUtil.js +23 -0
  183. package/dist/utils/md.js +1 -3
  184. package/docs/docs/_clisettings.mdx +17 -0
  185. package/docs/docs/cmd/aad/app/app-add.mdx +113 -0
  186. package/docs/docs/cmd/aad/app/app-get.mdx +217 -0
  187. package/docs/docs/cmd/aad/app/app-list.mdx +21 -0
  188. package/docs/docs/cmd/aad/app/app-role-add.mdx +4 -0
  189. package/docs/docs/cmd/aad/app/app-role-list.mdx +63 -0
  190. package/docs/docs/cmd/aad/app/app-role-remove.mdx +4 -0
  191. package/docs/docs/cmd/aad/app/app-set.mdx +4 -0
  192. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.mdx +61 -0
  193. package/docs/docs/cmd/aad/approleassignment/approleassignment-list.mdx +59 -0
  194. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.mdx +4 -0
  195. package/docs/docs/cmd/aad/group/group-get.mdx +24 -0
  196. package/docs/docs/cmd/aad/group/group-list.mdx +98 -0
  197. package/docs/docs/cmd/aad/groupsetting/groupsetting-add.mdx +114 -0
  198. package/docs/docs/cmd/aad/groupsetting/groupsetting-get.mdx +115 -0
  199. package/docs/docs/cmd/aad/groupsetting/groupsetting-list.mdx +115 -0
  200. package/docs/docs/cmd/aad/groupsetting/groupsetting-remove.mdx +4 -0
  201. package/docs/docs/cmd/aad/groupsetting/groupsetting-set.mdx +4 -0
  202. package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-get.mdx +63 -0
  203. package/docs/docs/cmd/aad/groupsettingtemplate/groupsettingtemplate-list.mdx +63 -0
  204. package/docs/docs/cmd/aad/o365group/o365group-add.mdx +122 -0
  205. package/docs/docs/cmd/aad/o365group/o365group-conversation-list.mdx +68 -0
  206. package/docs/docs/cmd/aad/o365group/o365group-conversation-post-list.mdx +77 -0
  207. package/docs/docs/cmd/aad/o365group/o365group-get.mdx +122 -0
  208. package/docs/docs/cmd/aad/o365group/o365group-list.mdx +99 -0
  209. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-clear.mdx +4 -0
  210. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.mdx +96 -0
  211. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-remove.mdx +4 -0
  212. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.mdx +4 -0
  213. package/docs/docs/cmd/aad/o365group/o365group-remove.mdx +4 -0
  214. package/docs/docs/cmd/aad/o365group/o365group-renew.mdx +4 -0
  215. package/docs/docs/cmd/aad/o365group/o365group-report-activitycounts.mdx +48 -0
  216. package/docs/docs/cmd/aad/o365group/o365group-report-activitydetail.mdx +60 -0
  217. package/docs/docs/cmd/aad/o365group/o365group-report-activityfilecounts.mdx +46 -0
  218. package/docs/docs/cmd/aad/o365group/o365group-report-activitygroupcounts.mdx +46 -0
  219. package/docs/docs/cmd/aad/o365group/o365group-report-activitystorage.mdx +46 -0
  220. package/docs/docs/cmd/aad/o365group/o365group-set.mdx +4 -0
  221. package/docs/docs/cmd/aad/o365group/o365group-teamify.mdx +4 -0
  222. package/docs/docs/cmd/aad/o365group/o365group-user-add.mdx +4 -0
  223. package/docs/docs/cmd/aad/o365group/o365group-user-list.mdx +56 -0
  224. package/docs/docs/cmd/aad/o365group/o365group-user-remove.mdx +4 -0
  225. package/docs/docs/cmd/aad/o365group/o365group-user-set.mdx +8 -4
  226. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-add.mdx +4 -0
  227. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-list.mdx +59 -0
  228. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-remove.mdx +4 -0
  229. package/docs/docs/cmd/aad/oauth2grant/oauth2grant-set.mdx +4 -0
  230. package/docs/docs/cmd/aad/policy/policy-list.mdx +77 -0
  231. package/docs/docs/cmd/aad/siteclassification/siteclassification-disable.mdx +4 -0
  232. package/docs/docs/cmd/aad/siteclassification/siteclassification-enable.mdx +4 -0
  233. package/docs/docs/cmd/aad/siteclassification/siteclassification-get.mdx +57 -0
  234. package/docs/docs/cmd/aad/siteclassification/siteclassification-set.mdx +4 -0
  235. package/docs/docs/cmd/aad/sp/sp-add.mdx +136 -0
  236. package/docs/docs/cmd/aad/sp/sp-get.mdx +166 -0
  237. package/docs/docs/cmd/aad/sp/sp-list.mdx +162 -0
  238. package/docs/docs/cmd/aad/user/user-get.mdx +75 -0
  239. package/docs/docs/cmd/aad/user/user-guest-add.mdx +23 -0
  240. package/docs/docs/cmd/aad/user/user-hibp.mdx +82 -0
  241. package/docs/docs/cmd/aad/user/user-license-add.mdx +2 -2
  242. package/docs/docs/cmd/aad/user/user-license-remove.mdx +2 -2
  243. package/docs/docs/cmd/aad/user/user-list.mdx +52 -0
  244. package/docs/docs/cmd/aad/user/user-password-validate.mdx +67 -0
  245. package/docs/docs/cmd/aad/user/user-signin-list.mdx +131 -0
  246. package/docs/docs/cmd/flow/flow-list.mdx +15 -0
  247. package/docs/docs/cmd/login.mdx +39 -0
  248. package/docs/docs/cmd/pa/app/app-get.mdx +1 -1
  249. package/docs/docs/cmd/pa/app/app-list.mdx +1 -1
  250. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-get.mdx +1 -1
  251. package/docs/docs/cmd/pp/aibuildermodel/aibuildermodel-list.mdx +1 -1
  252. package/docs/docs/cmd/pp/card/card-clone.mdx +1 -1
  253. package/docs/docs/cmd/pp/card/card-get.mdx +1 -1
  254. package/docs/docs/cmd/pp/card/card-list.mdx +1 -1
  255. package/docs/docs/cmd/pp/chatbot/chatbot-get.mdx +1 -1
  256. package/docs/docs/cmd/pp/chatbot/chatbot-list.mdx +1 -1
  257. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +1 -1
  258. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +1 -1
  259. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +1 -1
  260. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-list.mdx +1 -1
  261. package/docs/docs/cmd/pp/dataverse/dataverse-table-row-remove.mdx +1 -1
  262. package/docs/docs/cmd/purview/retentionevent/retentionevent-add.mdx +0 -6
  263. package/docs/docs/cmd/purview/retentionevent/retentionevent-get.mdx +0 -6
  264. package/docs/docs/cmd/purview/retentionevent/retentionevent-list.mdx +0 -7
  265. package/docs/docs/cmd/purview/retentionevent/retentionevent-remove.mdx +0 -6
  266. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-add.mdx +0 -6
  267. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-get.mdx +0 -6
  268. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-list.mdx +0 -6
  269. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-remove.mdx +0 -6
  270. package/docs/docs/cmd/purview/retentioneventtype/retentioneventtype-set.mdx +0 -6
  271. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-add.mdx +0 -6
  272. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-get.mdx +0 -6
  273. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-list.mdx +0 -6
  274. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-remove.mdx +0 -6
  275. package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.mdx +0 -6
  276. package/docs/docs/cmd/setup.mdx +2 -0
  277. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  278. package/docs/docs/cmd/spo/applicationcustomizer/applicationcustomizer-set.mdx +72 -0
  279. package/docs/docs/cmd/spo/commandset/commandset-set.mdx +12 -3
  280. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +55 -0
  281. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  282. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  283. package/docs/docs/cmd/spo/list/list-sensitivitylabel-ensure.mdx +73 -0
  284. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-get.mdx +1 -1
  285. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
  286. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  287. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +81 -0
  288. package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
  289. package/docs/docs/cmd/spo/tenant/tenant-commandset-get.mdx +2 -2
  290. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +114 -0
  291. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  292. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +2 -2
  293. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +6 -0
  294. package/docs/docs/cmd/spo/userprofile/userprofile-get.mdx +1 -1
  295. package/docs/docs/cmd/status.mdx +6 -3
  296. package/docs/docs/cmd/util/accesstoken/accesstoken-get.mdx +12 -2
  297. package/npm-shrinkwrap.json +301 -274
  298. package/package.json +18 -17
  299. package/dist/m365/aad/commands/approleassignment/AppRoleAssignment.js +0 -3
  300. package/dist/m365/aad/commands/approleassignment/ServicePrincipal.js +0 -3
  301. package/dist/m365/aad/commands/groupsetting/GroupSetting.js +0 -3
  302. package/dist/m365/aad/commands/groupsettingtemplate/GroupSettingTemplate.js +0 -3
  303. package/dist/m365/aad/commands/siteclassification/DirectorySetting.js +0 -10
  304. package/dist/m365/aad/commands/siteclassification/DirectorySettingTemplatesRsp.js +0 -3
  305. package/dist/m365/aad/commands/siteclassification/DirectorySettingValue.js +0 -3
  306. package/dist/m365/outlook/Message.js +0 -3
  307. package/dist/m365/spo/commands/site/SitePermission.js +0 -3
  308. package/dist/m365/teams/Channel.js +0 -3
  309. package/dist/m365/teams/ConversationMember.js +0 -3
  310. package/dist/m365/teams/Message.js +0 -3
  311. package/dist/m365/teams/Reply.js +0 -3
  312. package/dist/m365/teams/Tab.js +0 -3
  313. package/dist/m365/teams/Team.js +0 -3
  314. package/dist/m365/teams/TeamsApp.js +0 -3
  315. package/dist/m365/teams/TeamsAppInstallation.js +0 -3
  316. package/dist/m365/teams/TeamsTabConfiguration.js +0 -3
  317. package/dist/m365/teams/commands/Meeting.js +0 -3
@@ -37,27 +37,8 @@ class SpoSiteDesignTaskRemoveCommand extends SpoCommand_1.default {
37
37
  }
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
- const removeSiteDesignTask = () => __awaiter(this, void 0, void 0, function* () {
41
- try {
42
- const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
43
- const requestOptions = {
44
- url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.RemoveSiteDesignTask`,
45
- headers: {
46
- accept: 'application/json;odata=nometadata'
47
- },
48
- data: {
49
- taskId: args.options.id
50
- },
51
- responseType: 'json'
52
- };
53
- yield request_1.default.post(requestOptions);
54
- }
55
- catch (err) {
56
- this.handleRejectedODataJsonPromise(err);
57
- }
58
- });
59
40
  if (args.options.confirm) {
60
- yield removeSiteDesignTask();
41
+ yield this.removeSiteDesignTask(logger, args.options.id);
61
42
  }
62
43
  else {
63
44
  const result = yield Cli_1.Cli.prompt({
@@ -67,11 +48,32 @@ class SpoSiteDesignTaskRemoveCommand extends SpoCommand_1.default {
67
48
  message: `Are you sure you want to remove the site design task ${args.options.id}?`
68
49
  });
69
50
  if (result.continue) {
70
- yield removeSiteDesignTask();
51
+ yield this.removeSiteDesignTask(logger, args.options.id);
71
52
  }
72
53
  }
73
54
  });
74
55
  }
56
+ removeSiteDesignTask(logger, id) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
60
+ const requestOptions = {
61
+ url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.RemoveSiteDesignTask`,
62
+ headers: {
63
+ accept: 'application/json;odata=nometadata'
64
+ },
65
+ data: {
66
+ taskId: id
67
+ },
68
+ responseType: 'json'
69
+ };
70
+ yield request_1.default.post(requestOptions);
71
+ }
72
+ catch (err) {
73
+ this.handleRejectedODataJsonPromise(err);
74
+ }
75
+ });
76
+ }
75
77
  }
76
78
  _SpoSiteDesignTaskRemoveCommand_instances = new WeakSet(), _SpoSiteDesignTaskRemoveCommand_initTelemetry = function _SpoSiteDesignTaskRemoveCommand_initTelemetry() {
77
79
  this.telemetry.push((args) => {
@@ -37,28 +37,8 @@ class SpoSiteScriptRemoveCommand extends SpoCommand_1.default {
37
37
  }
38
38
  commandAction(logger, args) {
39
39
  return __awaiter(this, void 0, void 0, function* () {
40
- const removeSiteScript = () => __awaiter(this, void 0, void 0, function* () {
41
- try {
42
- const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
43
- const formDigest = yield spo_1.spo.getRequestDigest(spoUrl);
44
- const requestOptions = {
45
- url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteScript`,
46
- headers: {
47
- 'X-RequestDigest': formDigest.FormDigestValue,
48
- 'content-type': 'application/json;charset=utf-8',
49
- accept: 'application/json;odata=nometadata'
50
- },
51
- data: { id: args.options.id },
52
- responseType: 'json'
53
- };
54
- yield request_1.default.post(requestOptions);
55
- }
56
- catch (err) {
57
- this.handleRejectedODataJsonPromise(err);
58
- }
59
- });
60
40
  if (args.options.confirm) {
61
- yield removeSiteScript();
41
+ yield this.removeSiteScript(logger, args.options.id);
62
42
  }
63
43
  else {
64
44
  const result = yield Cli_1.Cli.prompt({
@@ -68,11 +48,33 @@ class SpoSiteScriptRemoveCommand extends SpoCommand_1.default {
68
48
  message: `Are you sure you want to remove the site script ${args.options.id}?`
69
49
  });
70
50
  if (result.continue) {
71
- yield removeSiteScript();
51
+ yield this.removeSiteScript(logger, args.options.id);
72
52
  }
73
53
  }
74
54
  });
75
55
  }
56
+ removeSiteScript(logger, id) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ const spoUrl = yield spo_1.spo.getSpoUrl(logger, this.debug);
60
+ const formDigest = yield spo_1.spo.getRequestDigest(spoUrl);
61
+ const requestOptions = {
62
+ url: `${spoUrl}/_api/Microsoft.Sharepoint.Utilities.WebTemplateExtensions.SiteScriptUtility.DeleteSiteScript`,
63
+ headers: {
64
+ 'X-RequestDigest': formDigest.FormDigestValue,
65
+ 'content-type': 'application/json;charset=utf-8',
66
+ accept: 'application/json;odata=nometadata'
67
+ },
68
+ data: { id: id },
69
+ responseType: 'json'
70
+ };
71
+ yield request_1.default.post(requestOptions);
72
+ }
73
+ catch (err) {
74
+ this.handleRejectedODataJsonPromise(err);
75
+ }
76
+ });
77
+ }
76
78
  }
77
79
  _SpoSiteScriptRemoveCommand_instances = new WeakSet(), _SpoSiteScriptRemoveCommand_initTelemetry = function _SpoSiteScriptRemoveCommand_initTelemetry() {
78
80
  this.telemetry.push((args) => {
@@ -60,7 +60,7 @@ class SpoSearchCommand extends SpoCommand_1.default {
60
60
  });
61
61
  }
62
62
  executeSearchQuery(logger, args, webUrl, resultSet, startRow) {
63
- return (() => {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
64
  const requestUrl = this.getRequestUrl(webUrl, logger, args, startRow);
65
65
  const requestOptions = {
66
66
  url: requestUrl,
@@ -69,22 +69,14 @@ class SpoSearchCommand extends SpoCommand_1.default {
69
69
  },
70
70
  responseType: 'json'
71
71
  };
72
- return request_1.default.get(requestOptions);
73
- })()
74
- .then((searchResult) => {
72
+ const searchResult = yield request_1.default.get(requestOptions);
75
73
  resultSet.push(searchResult);
76
- return searchResult;
77
- })
78
- .then((searchResult) => {
79
- if (args.options.allResults) {
80
- if (startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount < searchResult.PrimaryQueryResult.RelevantResults.TotalRows) {
81
- const nextStartRow = startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount;
82
- return this.executeSearchQuery(logger, args, webUrl, resultSet, nextStartRow);
83
- }
74
+ if (args.options.allResults && startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount < searchResult.PrimaryQueryResult.RelevantResults.TotalRows) {
75
+ const nextStartRow = startRow + searchResult.PrimaryQueryResult.RelevantResults.RowCount;
76
+ return this.executeSearchQuery(logger, args, webUrl, resultSet, nextStartRow);
84
77
  }
85
- return new Promise((resolve) => { resolve(resultSet); });
86
- })
87
- .then(() => resultSet);
78
+ return resultSet;
79
+ });
88
80
  }
89
81
  getRequestUrl(webUrl, logger, args, startRow) {
90
82
  // get the list of selected properties
@@ -39,33 +39,8 @@ class SpoStorageEntityRemoveCommand extends SpoCommand_1.default {
39
39
  }
40
40
  commandAction(logger, args) {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
- const removeTenantProperty = () => __awaiter(this, void 0, void 0, function* () {
43
- if (this.verbose) {
44
- logger.logToStderr(`Removing tenant property ${args.options.key} from ${args.options.appCatalogUrl}...`);
45
- }
46
- try {
47
- const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
48
- const res = yield spo_1.spo.getRequestDigest(spoAdminUrl);
49
- const requestOptions = {
50
- url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
51
- headers: {
52
- 'X-RequestDigest': res.FormDigestValue
53
- },
54
- data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="31" ObjectPathId="30" /><ObjectPath Id="33" ObjectPathId="32" /><ObjectPath Id="35" ObjectPathId="34" /><Method Name="RemoveStorageEntity" Id="36" ObjectPathId="34"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.key)}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="30" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="32" ParentId="30" Name="GetSiteByUrl"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.appCatalogUrl)}</Parameter></Parameters></Method><Property Id="34" ParentId="32" Name="RootWeb" /></ObjectPaths></Request>`
55
- };
56
- const processQuery = yield request_1.default.post(requestOptions);
57
- const json = JSON.parse(processQuery);
58
- const response = json[0];
59
- if (response.ErrorInfo) {
60
- throw response.ErrorInfo.ErrorMessage;
61
- }
62
- }
63
- catch (err) {
64
- this.handleRejectedODataJsonPromise(err);
65
- }
66
- });
67
42
  if (args.options.confirm) {
68
- yield removeTenantProperty();
43
+ yield this.removeTenantProperty(logger, args);
69
44
  }
70
45
  else {
71
46
  const result = yield Cli_1.Cli.prompt({
@@ -75,9 +50,36 @@ class SpoStorageEntityRemoveCommand extends SpoCommand_1.default {
75
50
  message: `Are you sure you want to delete the ${args.options.key} tenant property?`
76
51
  });
77
52
  if (result.continue) {
78
- yield removeTenantProperty();
53
+ yield this.removeTenantProperty(logger, args);
54
+ }
55
+ }
56
+ });
57
+ }
58
+ removeTenantProperty(logger, args) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ if (this.verbose) {
61
+ logger.logToStderr(`Removing tenant property ${args.options.key} from ${args.options.appCatalogUrl}...`);
62
+ }
63
+ try {
64
+ const spoAdminUrl = yield spo_1.spo.getSpoAdminUrl(logger, this.debug);
65
+ const digestInfo = yield spo_1.spo.getRequestDigest(spoAdminUrl);
66
+ const requestOptions = {
67
+ url: `${spoAdminUrl}/_vti_bin/client.svc/ProcessQuery`,
68
+ headers: {
69
+ 'X-RequestDigest': digestInfo.FormDigestValue
70
+ },
71
+ data: `<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="${config_1.default.applicationName}" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="31" ObjectPathId="30" /><ObjectPath Id="33" ObjectPathId="32" /><ObjectPath Id="35" ObjectPathId="34" /><Method Name="RemoveStorageEntity" Id="36" ObjectPathId="34"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.key)}</Parameter></Parameters></Method></Actions><ObjectPaths><Constructor Id="30" TypeId="{268004ae-ef6b-4e9b-8425-127220d84719}" /><Method Id="32" ParentId="30" Name="GetSiteByUrl"><Parameters><Parameter Type="String">${formatting_1.formatting.escapeXml(args.options.appCatalogUrl)}</Parameter></Parameters></Method><Property Id="34" ParentId="32" Name="RootWeb" /></ObjectPaths></Request>`
72
+ };
73
+ const processQuery = yield request_1.default.post(requestOptions);
74
+ const json = JSON.parse(processQuery);
75
+ const response = json[0];
76
+ if (response.ErrorInfo) {
77
+ throw response.ErrorInfo.ErrorMessage;
79
78
  }
80
79
  }
80
+ catch (err) {
81
+ this.handleRejectedODataJsonPromise(err);
82
+ }
81
83
  });
82
84
  }
83
85
  }
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ 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");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _SpoTenantApplicationCustomizerSetCommand_instances, _SpoTenantApplicationCustomizerSetCommand_initTelemetry, _SpoTenantApplicationCustomizerSetCommand_initOptions, _SpoTenantApplicationCustomizerSetCommand_initValidators, _SpoTenantApplicationCustomizerSetCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const formatting_1 = require("../../../../utils/formatting");
19
+ const odata_1 = require("../../../../utils/odata");
20
+ const spo_1 = require("../../../../utils/spo");
21
+ const urlUtil_1 = require("../../../../utils/urlUtil");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const SpoCommand_1 = require("../../../base/SpoCommand");
24
+ const commands_1 = require("../../commands");
25
+ const os = require("os");
26
+ const request_1 = require("../../../../request");
27
+ class SpoTenantApplicationCustomizerSetCommand extends SpoCommand_1.default {
28
+ get name() {
29
+ return commands_1.default.TENANT_APPLICATIONCUSTOMIZER_SET;
30
+ }
31
+ get description() {
32
+ return 'Updates an Application Customizer that is deployed as a tenant-wide extension';
33
+ }
34
+ constructor() {
35
+ super();
36
+ _SpoTenantApplicationCustomizerSetCommand_instances.add(this);
37
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initTelemetry).call(this);
38
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initOptions).call(this);
39
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initValidators).call(this);
40
+ __classPrivateFieldGet(this, _SpoTenantApplicationCustomizerSetCommand_instances, "m", _SpoTenantApplicationCustomizerSetCommand_initOptionSets).call(this);
41
+ }
42
+ commandAction(logger, args) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ try {
45
+ const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
46
+ if (!appCatalogUrl) {
47
+ throw 'No app catalog URL found';
48
+ }
49
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
50
+ const listItemId = yield this.getListItemId(appCatalogUrl, args.options, listServerRelativeUrl, logger);
51
+ yield this.updateTenantWideExtension(appCatalogUrl, args.options, listServerRelativeUrl, listItemId, logger);
52
+ }
53
+ catch (err) {
54
+ return this.handleRejectedODataJsonPromise(err);
55
+ }
56
+ });
57
+ }
58
+ getListItemId(appCatalogUrl, options, listServerRelativeUrl, logger) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const { title, id, clientSideComponentId } = options;
61
+ const filter = title ? `Title eq '${title}'` : id ? `Id eq '${id}'` : `TenantWideExtensionComponentId eq '${clientSideComponentId}'`;
62
+ if (this.verbose) {
63
+ logger.logToStderr(`Getting tenant-wide application customizer: "${title || id || clientSideComponentId}"...`);
64
+ }
65
+ const listItemInstances = yield odata_1.odata.getAllItems(`${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=TenantWideExtensionLocation eq 'ClientSideExtension.ApplicationCustomizer' and ${filter}`);
66
+ if (!listItemInstances || listItemInstances.length === 0) {
67
+ throw 'The specified application customizer was not found';
68
+ }
69
+ if (listItemInstances.length > 1) {
70
+ throw `Multiple application customizers with ${title ? `title '${title}'` : `ClientSideComponentId '${clientSideComponentId}'`} found. Please disambiguate using IDs: ${os.EOL}${listItemInstances.map(item => `- ${item.Id}`).join(os.EOL)}`;
71
+ }
72
+ return listItemInstances[0].Id;
73
+ });
74
+ }
75
+ updateTenantWideExtension(appCatalogUrl, options, listServerRelativeUrl, itemId, logger) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const { title, id, clientSideComponentId, newTitle, clientSideComponentProperties, webTemplate } = options;
78
+ if (this.verbose) {
79
+ logger.logToStderr(`Updating tenant-wide application customizer: "${title || id || clientSideComponentId}"...`);
80
+ }
81
+ const formValues = [];
82
+ if (newTitle !== undefined) {
83
+ formValues.push({
84
+ FieldName: 'Title',
85
+ FieldValue: newTitle
86
+ });
87
+ }
88
+ if (clientSideComponentProperties !== undefined) {
89
+ formValues.push({
90
+ FieldName: 'TenantWideExtensionComponentProperties',
91
+ FieldValue: clientSideComponentProperties
92
+ });
93
+ }
94
+ if (webTemplate !== undefined) {
95
+ formValues.push({
96
+ FieldName: 'TenantWideExtensionWebTemplate',
97
+ FieldValue: webTemplate
98
+ });
99
+ }
100
+ const requestOptions = {
101
+ url: `${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/Items(${itemId})/ValidateUpdateListItem()`,
102
+ headers: {
103
+ 'accept': 'application/json;odata=nometadata'
104
+ },
105
+ data: {
106
+ formValues: formValues
107
+ },
108
+ responseType: 'json'
109
+ };
110
+ yield request_1.default.post(requestOptions);
111
+ });
112
+ }
113
+ }
114
+ _SpoTenantApplicationCustomizerSetCommand_instances = new WeakSet(), _SpoTenantApplicationCustomizerSetCommand_initTelemetry = function _SpoTenantApplicationCustomizerSetCommand_initTelemetry() {
115
+ this.telemetry.push((args) => {
116
+ Object.assign(this.telemetryProperties, {
117
+ title: typeof args.options.title !== 'undefined',
118
+ id: typeof args.options.id !== 'undefined',
119
+ clientSideComponentId: typeof args.options.clientSideComponentId !== 'undefined',
120
+ newTitle: typeof args.options.newTitle !== 'undefined',
121
+ clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
122
+ webTemplate: typeof args.options.webTemplate !== 'undefined'
123
+ });
124
+ });
125
+ }, _SpoTenantApplicationCustomizerSetCommand_initOptions = function _SpoTenantApplicationCustomizerSetCommand_initOptions() {
126
+ this.options.unshift({
127
+ option: '-i, --id [id]'
128
+ }, {
129
+ option: '-t, --title [title]'
130
+ }, {
131
+ option: '-c, --clientSideComponentId [clientSideComponentId]'
132
+ }, {
133
+ option: '--newTitle [newTitle]'
134
+ }, {
135
+ option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
136
+ }, {
137
+ option: '-w, --webTemplate [webTemplate]'
138
+ });
139
+ }, _SpoTenantApplicationCustomizerSetCommand_initValidators = function _SpoTenantApplicationCustomizerSetCommand_initValidators() {
140
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
141
+ if (args.options.id && isNaN(parseInt(args.options.id))) {
142
+ return `${args.options.id} is not a number`;
143
+ }
144
+ if (args.options.clientSideComponentId && !validation_1.validation.isValidGuid(args.options.clientSideComponentId)) {
145
+ return `${args.options.clientSideComponentId} is not a valid GUID`;
146
+ }
147
+ if (!args.options.newTitle && !args.options.clientSideComponentProperties && !args.options.webTemplate) {
148
+ return `Please specify an option to be updated`;
149
+ }
150
+ return true;
151
+ }));
152
+ }, _SpoTenantApplicationCustomizerSetCommand_initOptionSets = function _SpoTenantApplicationCustomizerSetCommand_initOptionSets() {
153
+ this.optionSets.push({ options: ['title', 'id', 'clientSideComponentId'] });
154
+ };
155
+ module.exports = new SpoTenantApplicationCustomizerSetCommand();
156
+ //# sourceMappingURL=tenant-applicationcustomizer-set.js.map
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Command_1 = require("../../../../Command");
13
+ const formatting_1 = require("../../../../utils/formatting");
14
+ const odata_1 = require("../../../../utils/odata");
15
+ const spo_1 = require("../../../../utils/spo");
16
+ const urlUtil_1 = require("../../../../utils/urlUtil");
17
+ const SpoCommand_1 = require("../../../base/SpoCommand");
18
+ const commands_1 = require("../../commands");
19
+ class SpoTenantCommandSetListCommand extends SpoCommand_1.default {
20
+ get name() {
21
+ return commands_1.default.TENANT_COMMANDSET_LIST;
22
+ }
23
+ get description() {
24
+ return 'Retrieves a list of ListView Command Sets that are installed tenant-wide';
25
+ }
26
+ defaultProperties() {
27
+ return ['Title', 'TenantWideExtensionComponentId', 'TenantWideExtensionListTemplate'];
28
+ }
29
+ commandAction(logger) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const appCatalogUrl = yield spo_1.spo.getTenantAppCatalogUrl(logger, this.debug);
32
+ if (!appCatalogUrl) {
33
+ throw new Command_1.CommandError('No app catalog URL found');
34
+ }
35
+ if (this.verbose) {
36
+ logger.logToStderr('Retrieving a list of ListView Command Sets that are installed tenant-wide');
37
+ }
38
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(appCatalogUrl, '/lists/TenantWideExtensions');
39
+ try {
40
+ const response = yield odata_1.odata.getAllItems(`${appCatalogUrl}/_api/web/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/items?$filter=startswith(TenantWideExtensionLocation, 'ClientSideExtension.ListViewCommandSet')`);
41
+ logger.log(response);
42
+ }
43
+ catch (err) {
44
+ this.handleRejectedODataJsonPromise(err);
45
+ }
46
+ });
47
+ }
48
+ }
49
+ module.exports = new SpoTenantCommandSetListCommand();
50
+ //# sourceMappingURL=tenant-commandset-list.js.map
@@ -166,7 +166,7 @@ _SpoTenantCommandSetSetCommand_instances = new WeakSet(), _SpoTenantCommandSetSe
166
166
  option: '-l, --listType [listType]',
167
167
  autocomplete: SpoTenantCommandSetSetCommand.listTypes
168
168
  }, {
169
- option: '-i, --clientSideComponentId [clientSideComponentId]'
169
+ option: '-c, --clientSideComponentId [clientSideComponentId]'
170
170
  }, {
171
171
  option: '-p, --clientSideComponentProperties [clientSideComponentProperties]'
172
172
  }, {
@@ -17,6 +17,7 @@ exports.default = {
17
17
  APPLICATIONCUSTOMIZER_GET: `${prefix} applicationcustomizer get`,
18
18
  APPLICATIONCUSTOMIZER_LIST: `${prefix} applicationcustomizer list`,
19
19
  APPLICATIONCUSTOMIZER_REMOVE: `${prefix} applicationcustomizer remove`,
20
+ APPLICATIONCUSTOMIZER_SET: `${prefix} applicationcustomizer set`,
20
21
  APPPAGE_ADD: `${prefix} apppage add`,
21
22
  APPPAGE_SET: `${prefix} apppage set`,
22
23
  CDN_GET: `${prefix} cdn get`,
@@ -60,6 +61,7 @@ exports.default = {
60
61
  FILE_ADD: `${prefix} file add`,
61
62
  FILE_CHECKIN: `${prefix} file checkin`,
62
63
  FILE_CHECKOUT: `${prefix} file checkout`,
64
+ FILE_CHECKOUT_UNDO: `${prefix} file checkout undo`,
63
65
  FILE_COPY: `${prefix} file copy`,
64
66
  FILE_GET: `${prefix} file get`,
65
67
  FILE_LIST: `${prefix} file list`,
@@ -141,6 +143,7 @@ exports.default = {
141
143
  LIST_ROLEASSIGNMENT_ADD: `${prefix} list roleassignment add`,
142
144
  LIST_ROLEINHERITANCE_BREAK: `${prefix} list roleinheritance break`,
143
145
  LIST_ROLEINHERITANCE_RESET: `${prefix} list roleinheritance reset`,
146
+ LIST_SENSITIVITYLABEL_ENSURE: `${prefix} list sensitivitylabel ensure`,
144
147
  LIST_SET: `${prefix} list set`,
145
148
  LIST_SITESCRIPT_GET: `${prefix} list sitescript get`,
146
149
  LIST_VIEW_ADD: `${prefix} list view add`,
@@ -295,8 +298,10 @@ exports.default = {
295
298
  TENANT_APPLICATIONCUSTOMIZER_GET: `${prefix} tenant applicationcustomizer get`,
296
299
  TENANT_APPLICATIONCUSTOMIZER_LIST: `${prefix} tenant applicationcustomizer list`,
297
300
  TENANT_APPLICATIONCUSTOMIZER_REMOVE: `${prefix} tenant applicationcustomizer remove`,
301
+ TENANT_APPLICATIONCUSTOMIZER_SET: `${prefix} tenant applicationcustomizer set`,
298
302
  TENANT_COMMANDSET_ADD: `${prefix} tenant commandset add`,
299
303
  TENANT_COMMANDSET_GET: `${prefix} tenant commandset get`,
304
+ TENANT_COMMANDSET_LIST: `${prefix} tenant commandset list`,
300
305
  TENANT_COMMANDSET_REMOVE: `${prefix} tenant commandset remove`,
301
306
  TENANT_COMMANDSET_SET: `${prefix} tenant commandset set`,
302
307
  TENANT_RECYCLEBINITEM_LIST: `${prefix} tenant recyclebinitem list`,
@@ -70,30 +70,32 @@ class TeamsAppInstallCommand extends GraphCommand_1.default {
70
70
  // we need this method, because passing an invalid user ID to the API
71
71
  // won't cause an error
72
72
  validateUser(args, logger) {
73
- if (!args.options.userId) {
74
- return Promise.resolve(true);
75
- }
76
- if (this.verbose) {
77
- logger.logToStderr(`Checking if user ${args.options.userId} exists...`);
78
- }
79
- const options = {
80
- id: args.options.userId,
81
- output: 'json',
82
- debug: args.options.debug,
83
- verbose: args.options.verbose
84
- };
85
- return Cli_1.Cli
86
- .executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) })
87
- .then((res) => {
88
- if (this.verbose) {
89
- logger.logToStderr(res.stderr);
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ if (!args.options.userId) {
75
+ return true;
90
76
  }
91
- return true;
92
- }, (err) => {
93
77
  if (this.verbose) {
94
- logger.logToStderr(err.stderr);
78
+ logger.logToStderr(`Checking if user ${args.options.userId} exists...`);
79
+ }
80
+ const options = {
81
+ id: args.options.userId,
82
+ output: 'json',
83
+ debug: args.options.debug,
84
+ verbose: args.options.verbose
85
+ };
86
+ try {
87
+ const res = yield Cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
88
+ if (this.verbose) {
89
+ logger.logToStderr(res.stderr);
90
+ }
91
+ return true;
92
+ }
93
+ catch (err) {
94
+ if (this.verbose) {
95
+ logger.logToStderr(err.stderr);
96
+ }
97
+ throw `User with ID ${args.options.userId} not found. Original error: ${err.error.message}`;
95
98
  }
96
- return Promise.reject(`User with ID ${args.options.userId} not found. Original error: ${err.error.message}`);
97
99
  });
98
100
  }
99
101
  }
@@ -38,6 +38,9 @@ class TeamsAppRemoveCommand extends GraphCommand_1.default {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
39
  const { id: appId } = args.options;
40
40
  const removeApp = () => __awaiter(this, void 0, void 0, function* () {
41
+ if (this.verbose) {
42
+ logger.logToStderr(`Removing app with ID ${args.options.id}`);
43
+ }
41
44
  const requestOptions = {
42
45
  url: `${this.resource}/v1.0/appCatalogs/teamsApps/${appId}`,
43
46
  headers: {
@@ -37,6 +37,9 @@ class TeamsAppUninstallCommand extends GraphCommand_1.default {
37
37
  commandAction(logger, args) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
39
  const uninstallApp = () => __awaiter(this, void 0, void 0, function* () {
40
+ if (this.verbose) {
41
+ logger.logToStderr(`Uninstalling app with ID ${args.options.id} in team ${args.options.teamId}`);
42
+ }
40
43
  const requestOptions = {
41
44
  url: `${this.resource}/v1.0/teams/${args.options.teamId}/installedApps/${args.options.id}`,
42
45
  headers: {
@@ -61,27 +61,26 @@ class TeamsAppUpdateCommand extends GraphCommand_1.default {
61
61
  });
62
62
  }
63
63
  getAppId(args) {
64
- if (args.options.id) {
65
- return Promise.resolve(args.options.id);
66
- }
67
- const requestOptions = {
68
- url: `${this.resource}/v1.0/appCatalogs/teamsApps?$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(args.options.name)}'`,
69
- headers: {
70
- accept: 'application/json;odata.metadata=none'
71
- },
72
- responseType: 'json'
73
- };
74
- return request_1.default
75
- .get(requestOptions)
76
- .then(response => {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ if (args.options.id) {
66
+ return args.options.id;
67
+ }
68
+ const requestOptions = {
69
+ url: `${this.resource}/v1.0/appCatalogs/teamsApps?$filter=displayName eq '${formatting_1.formatting.encodeQueryParameter(args.options.name)}'`,
70
+ headers: {
71
+ accept: 'application/json;odata.metadata=none'
72
+ },
73
+ responseType: 'json'
74
+ };
75
+ const response = yield request_1.default.get(requestOptions);
77
76
  const app = response.value[0];
78
77
  if (!app) {
79
- return Promise.reject(`The specified Teams app does not exist`);
78
+ throw `The specified Teams app does not exist`;
80
79
  }
81
80
  if (response.value.length > 1) {
82
- return Promise.reject(`Multiple Teams apps with name ${args.options.name} found. Please choose one of these ids: ${response.value.map(x => x.id).join(', ')}`);
81
+ throw `Multiple Teams apps with name ${args.options.name} found. Please choose one of these ids: ${response.value.map(x => x.id).join(', ')}`;
83
82
  }
84
- return Promise.resolve(app.id);
83
+ return app.id;
85
84
  });
86
85
  }
87
86
  }