@pnp/cli-microsoft365 7.0.0-beta.4ebf3ad → 7.0.0-beta.5fdb9e3

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 (196) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/dist/Auth.js +2 -1
  3. package/dist/Command.js +1 -1
  4. package/dist/cli/Cli.js +19 -2
  5. package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +17 -17
  6. package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +10 -10
  7. package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +14 -14
  8. package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +13 -10
  9. package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
  10. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
  11. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
  12. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +14 -14
  13. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +14 -14
  14. package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +12 -12
  15. package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +10 -10
  16. package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
  17. package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
  18. package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
  19. package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
  20. package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
  21. package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +17 -17
  22. package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +14 -14
  23. package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +14 -14
  24. package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +12 -12
  25. package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +14 -14
  26. package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +15 -15
  27. package/dist/m365/aad/commands.js +22 -22
  28. package/dist/m365/cli/commands/config/config-list.js +16 -0
  29. package/dist/m365/cli/commands.js +1 -0
  30. package/dist/m365/pa/commands/app/app-permission-ensure.js +162 -0
  31. package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
  32. package/dist/m365/pa/commands/app/app-permission-remove.js +153 -0
  33. package/dist/m365/pa/commands.js +2 -0
  34. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
  35. package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
  36. package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
  37. package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
  38. package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
  39. package/dist/m365/planner/commands/plan/plan-get.js +1 -2
  40. package/dist/m365/planner/commands/plan/plan-list.js +4 -5
  41. package/dist/m365/planner/commands/plan/plan-set.js +2 -2
  42. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
  43. package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
  44. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -2
  45. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
  46. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
  47. package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
  48. package/dist/m365/spfx/commands/spfx-doctor.js +76 -106
  49. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
  50. package/dist/m365/spo/commands/app/app-add.js +9 -9
  51. package/dist/m365/spo/commands/file/file-add.js +13 -13
  52. package/dist/m365/spo/commands/file/file-checkin.js +1 -1
  53. package/dist/m365/spo/commands/file/file-checkout.js +1 -1
  54. package/dist/m365/spo/commands/file/file-copy.js +36 -4
  55. package/dist/m365/spo/commands/file/file-list.js +4 -4
  56. package/dist/m365/spo/commands/file/file-move.js +74 -98
  57. package/dist/m365/spo/commands/file/file-remove.js +6 -6
  58. package/dist/m365/spo/commands/file/file-rename.js +2 -2
  59. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
  60. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
  61. package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
  62. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
  63. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
  64. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
  65. package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
  66. package/dist/m365/spo/commands/file/file-version-get.js +1 -1
  67. package/dist/m365/spo/commands/file/file-version-list.js +1 -1
  68. package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
  69. package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
  70. package/dist/m365/spo/commands/folder/folder-add.js +2 -4
  71. package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
  72. package/dist/m365/spo/commands/folder/folder-get.js +1 -1
  73. package/dist/m365/spo/commands/folder/folder-list.js +2 -2
  74. package/dist/m365/spo/commands/folder/folder-move.js +89 -47
  75. package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
  76. package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
  77. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
  78. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
  79. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
  80. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  81. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
  82. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
  83. package/dist/m365/spo/commands/group/group-list.js +0 -1
  84. package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
  85. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
  86. package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
  87. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
  88. package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
  89. package/dist/m365/spo/commands/site/site-ensure.js +3 -3
  90. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
  91. package/dist/m365/spo/commands/site/site-list.js +29 -39
  92. package/dist/m365/spo/commands/site/site-set.js +60 -49
  93. package/dist/m365/spo/commands/theme/theme-list.js +1 -9
  94. package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
  95. package/dist/m365/spo/commands/theme/theme-set.js +0 -1
  96. package/dist/m365/spo/commands/user/user-remove.js +27 -27
  97. package/dist/m365/spo/commands/web/web-reindex.js +35 -42
  98. package/dist/m365/spo/commands/web/web-remove.js +21 -21
  99. package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
  100. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
  101. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
  102. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
  103. package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
  104. package/dist/m365/yammer/commands/message/message-list.js +62 -81
  105. package/dist/m365/yammer/commands/message/message-remove.js +18 -18
  106. package/dist/m365/yammer/commands/yammer-search.js +53 -69
  107. package/dist/utils/planner.js +4 -3
  108. package/dist/utils/spo.js +13 -54
  109. package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +13 -13
  110. package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
  111. package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
  112. package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
  113. package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
  114. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
  115. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
  116. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
  117. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
  118. package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
  119. package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
  120. package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
  121. package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
  122. package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
  123. package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
  124. package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
  125. package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
  126. package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
  127. package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
  128. package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
  129. package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
  130. package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
  131. package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
  132. package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
  133. package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
  134. package/docs/docs/cmd/login.mdx +6 -0
  135. package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
  136. package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
  137. package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
  138. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
  139. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
  140. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
  141. package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
  142. package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
  143. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
  144. package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
  145. package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
  146. package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
  147. package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
  148. package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
  149. package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
  150. package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
  151. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
  152. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
  153. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  154. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  155. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
  156. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
  157. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
  158. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
  159. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
  160. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
  161. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
  162. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
  163. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
  164. package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
  165. package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
  166. package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
  167. package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
  168. package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
  169. package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
  170. package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
  171. package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
  172. package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
  173. package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
  174. package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
  175. package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
  176. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  177. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  178. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
  179. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
  180. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
  181. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
  182. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
  183. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
  184. package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
  185. package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
  186. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
  187. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
  188. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  189. package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
  190. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  191. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  192. package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
  193. package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
  194. package/npm-shrinkwrap.json +143 -89
  195. package/package.json +13 -13
  196. /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
@@ -27,29 +27,8 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
27
27
  __classPrivateFieldGet(this, _SpoWebRoleAssignmentRemoveCommand_instances, "m", _SpoWebRoleAssignmentRemoveCommand_initOptionSets).call(this);
28
28
  }
29
29
  async commandAction(logger, args) {
30
- const removeRoleAssignment = async () => {
31
- if (this.verbose) {
32
- await logger.logToStderr(`Removing role assignment from web ${args.options.webUrl}...`);
33
- }
34
- try {
35
- if (args.options.upn) {
36
- args.options.principalId = await this.getUserPrincipalId(args.options);
37
- await this.removeRoleAssignment(logger, args.options);
38
- }
39
- else if (args.options.groupName) {
40
- args.options.principalId = await this.getGroupPrincipalId(args.options);
41
- await this.removeRoleAssignment(logger, args.options);
42
- }
43
- else {
44
- await this.removeRoleAssignment(logger, args.options);
45
- }
46
- }
47
- catch (err) {
48
- this.handleRejectedODataJsonPromise(err);
49
- }
50
- };
51
30
  if (args.options.force) {
52
- await removeRoleAssignment();
31
+ await this.removeRoleAssignment(logger, args.options);
53
32
  }
54
33
  else {
55
34
  const result = await Cli.prompt({
@@ -59,11 +38,32 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
59
38
  message: `Are you sure you want to remove role assignment from web ${args.options.webUrl}?`
60
39
  });
61
40
  if (result.continue) {
62
- await removeRoleAssignment();
41
+ await this.removeRoleAssignment(logger, args.options);
63
42
  }
64
43
  }
65
44
  }
66
- removeRoleAssignment(logger, options) {
45
+ async removeRoleAssignment(logger, options) {
46
+ if (this.verbose) {
47
+ await logger.logToStderr(`Removing role assignment from web ${options.webUrl}...`);
48
+ }
49
+ try {
50
+ if (options.upn) {
51
+ options.principalId = await this.getUserPrincipalId(options);
52
+ await this.removeRoleAssignmentWithOptions(logger, options);
53
+ }
54
+ else if (options.groupName) {
55
+ options.principalId = await this.getGroupPrincipalId(options);
56
+ await this.removeRoleAssignmentWithOptions(logger, options);
57
+ }
58
+ else {
59
+ await this.removeRoleAssignmentWithOptions(logger, options);
60
+ }
61
+ }
62
+ catch (err) {
63
+ this.handleRejectedODataJsonPromise(err);
64
+ }
65
+ }
66
+ async removeRoleAssignmentWithOptions(logger, options) {
67
67
  const requestOptions = {
68
68
  url: `${options.webUrl}/_api/web/roleassignments/removeroleassignment(principalid='${options.principalId}')`,
69
69
  method: 'POST',
@@ -73,12 +73,9 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
73
73
  },
74
74
  responseType: 'json'
75
75
  };
76
- return request
77
- .post(requestOptions)
78
- .then(_ => Promise.resolve())
79
- .catch((err) => Promise.reject(err));
76
+ await request.post(requestOptions);
80
77
  }
81
- getGroupPrincipalId(options) {
78
+ async getGroupPrincipalId(options) {
82
79
  const groupGetCommandOptions = {
83
80
  webUrl: options.webUrl,
84
81
  name: options.groupName,
@@ -86,15 +83,11 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
86
83
  debug: this.debug,
87
84
  verbose: this.verbose
88
85
  };
89
- return Cli.executeCommandWithOutput(spoGroupGetCommand, { options: { ...groupGetCommandOptions, _: [] } })
90
- .then((output) => {
91
- const getGroupOutput = JSON.parse(output.stdout);
92
- return Promise.resolve(getGroupOutput.Id);
93
- }, (err) => {
94
- return Promise.reject(err);
95
- });
86
+ const output = await Cli.executeCommandWithOutput(spoGroupGetCommand, { options: { ...groupGetCommandOptions, _: [] } });
87
+ const getGroupOutput = JSON.parse(output.stdout);
88
+ return getGroupOutput.Id;
96
89
  }
97
- getUserPrincipalId(options) {
90
+ async getUserPrincipalId(options) {
98
91
  const userGetCommandOptions = {
99
92
  webUrl: options.webUrl,
100
93
  email: options.upn,
@@ -103,13 +96,9 @@ class SpoWebRoleAssignmentRemoveCommand extends SpoCommand {
103
96
  debug: this.debug,
104
97
  verbose: this.verbose
105
98
  };
106
- return Cli.executeCommandWithOutput(spoUserGetCommand, { options: { ...userGetCommandOptions, _: [] } })
107
- .then((output) => {
108
- const getUserOutput = JSON.parse(output.stdout);
109
- return Promise.resolve(getUserOutput.Id);
110
- }, (err) => {
111
- return Promise.reject(err);
112
- });
99
+ const output = await Cli.executeCommandWithOutput(spoUserGetCommand, { options: { ...userGetCommandOptions, _: [] } });
100
+ const getUserOutput = JSON.parse(output.stdout);
101
+ return getUserOutput.Id;
113
102
  }
114
103
  }
115
104
  _SpoWebRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoWebRoleAssignmentRemoveCommand_initTelemetry = function _SpoWebRoleAssignmentRemoveCommand_initTelemetry() {
@@ -27,24 +27,8 @@ class SpoWebRoleInheritanceBreakCommand extends SpoCommand {
27
27
  if (this.verbose) {
28
28
  await logger.logToStderr(`Break role inheritance of subsite with URL ${args.options.webUrl}...`);
29
29
  }
30
- const breakroleInheritance = async () => {
31
- const requestOptions = {
32
- url: `${args.options.webUrl}/_api/web/breakroleinheritance(${!args.options.clearExistingPermissions})`,
33
- headers: {
34
- 'accept': 'application/json;odata=nometadata',
35
- 'content-type': 'application/json'
36
- },
37
- responseType: 'json'
38
- };
39
- try {
40
- await request.post(requestOptions);
41
- }
42
- catch (err) {
43
- this.handleRejectedODataJsonPromise(err);
44
- }
45
- };
46
30
  if (args.options.force) {
47
- await breakroleInheritance();
31
+ await this.breakroleInheritance(args.options);
48
32
  }
49
33
  else {
50
34
  const result = await Cli.prompt({
@@ -54,10 +38,26 @@ class SpoWebRoleInheritanceBreakCommand extends SpoCommand {
54
38
  message: `Are you sure you want to break the role inheritance of subsite ${args.options.webUrl}`
55
39
  });
56
40
  if (result.continue) {
57
- await breakroleInheritance();
41
+ await this.breakroleInheritance(args.options);
58
42
  }
59
43
  }
60
44
  }
45
+ async breakroleInheritance(options) {
46
+ const requestOptions = {
47
+ url: `${options.webUrl}/_api/web/breakroleinheritance(${!options.clearExistingPermissions})`,
48
+ headers: {
49
+ 'accept': 'application/json;odata=nometadata',
50
+ 'content-type': 'application/json'
51
+ },
52
+ responseType: 'json'
53
+ };
54
+ try {
55
+ await request.post(requestOptions);
56
+ }
57
+ catch (err) {
58
+ this.handleRejectedODataJsonPromise(err);
59
+ }
60
+ }
61
61
  }
62
62
  _SpoWebRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoWebRoleInheritanceBreakCommand_initTelemetry = function _SpoWebRoleInheritanceBreakCommand_initTelemetry() {
63
63
  this.telemetry.push((args) => {
@@ -27,25 +27,8 @@ class SpoWebRoleInheritanceResetCommand extends SpoCommand {
27
27
  if (this.verbose) {
28
28
  await logger.logToStderr(`Restore role inheritance of subsite at ${args.options.webUrl}...`);
29
29
  }
30
- const resetWebRoleInheritance = async () => {
31
- try {
32
- const requestOptions = {
33
- url: `${args.options.webUrl}/_api/web/resetroleinheritance`,
34
- method: 'POST',
35
- headers: {
36
- 'accept': 'application/json;odata=nometadata',
37
- 'content-type': 'application/json'
38
- },
39
- responseType: 'json'
40
- };
41
- await request.post(requestOptions);
42
- }
43
- catch (err) {
44
- this.handleRejectedODataJsonPromise(err);
45
- }
46
- };
47
30
  if (args.options.force) {
48
- await resetWebRoleInheritance();
31
+ await this.resetWebRoleInheritance(args.options);
49
32
  }
50
33
  else {
51
34
  const result = await Cli.prompt({
@@ -55,10 +38,27 @@ class SpoWebRoleInheritanceResetCommand extends SpoCommand {
55
38
  message: `Are you sure you want to reset the role inheritance of ${args.options.webUrl}`
56
39
  });
57
40
  if (result.continue) {
58
- await resetWebRoleInheritance();
41
+ await this.resetWebRoleInheritance(args.options);
59
42
  }
60
43
  }
61
44
  }
45
+ async resetWebRoleInheritance(options) {
46
+ try {
47
+ const requestOptions = {
48
+ url: `${options.webUrl}/_api/web/resetroleinheritance`,
49
+ method: 'POST',
50
+ headers: {
51
+ 'accept': 'application/json;odata=nometadata',
52
+ 'content-type': 'application/json'
53
+ },
54
+ responseType: 'json'
55
+ };
56
+ await request.post(requestOptions);
57
+ }
58
+ catch (err) {
59
+ this.handleRejectedODataJsonPromise(err);
60
+ }
61
+ }
62
62
  }
63
63
  _SpoWebRoleInheritanceResetCommand_instances = new WeakSet(), _SpoWebRoleInheritanceResetCommand_initTelemetry = function _SpoWebRoleInheritanceResetCommand_initTelemetry() {
64
64
  this.telemetry.push((args) => {
@@ -24,34 +24,9 @@ class YammerMessageLikeSetCommand extends YammerCommand {
24
24
  __classPrivateFieldGet(this, _YammerMessageLikeSetCommand_instances, "m", _YammerMessageLikeSetCommand_initValidators).call(this);
25
25
  }
26
26
  async commandAction(logger, args) {
27
- const executeLikeAction = async () => {
28
- const endpoint = `${this.resource}/v1/messages/liked_by/current.json`;
29
- const requestOptions = {
30
- url: endpoint,
31
- headers: {
32
- accept: 'application/json;odata.metadata=none',
33
- 'content-type': 'application/json;odata=nometadata'
34
- },
35
- responseType: 'json',
36
- data: {
37
- message_id: args.options.messageId
38
- }
39
- };
40
- try {
41
- if (args.options.enable !== false) {
42
- await request.post(requestOptions);
43
- }
44
- else {
45
- await request.delete(requestOptions);
46
- }
47
- }
48
- catch (err) {
49
- this.handleRejectedODataJsonPromise(err);
50
- }
51
- };
52
27
  if (args.options.enable === false) {
53
28
  if (args.options.force) {
54
- await executeLikeAction();
29
+ await this.executeLikeAction(args.options);
55
30
  }
56
31
  else {
57
32
  const messagePrompt = `Are you sure you want to unlike message ${args.options.messageId}?`;
@@ -62,12 +37,36 @@ class YammerMessageLikeSetCommand extends YammerCommand {
62
37
  message: messagePrompt
63
38
  });
64
39
  if (result.continue) {
65
- await executeLikeAction();
40
+ await this.executeLikeAction(args.options);
66
41
  }
67
42
  }
68
43
  }
69
44
  else {
70
- await executeLikeAction();
45
+ await this.executeLikeAction(args.options);
46
+ }
47
+ }
48
+ async executeLikeAction(options) {
49
+ const requestOptions = {
50
+ url: `${this.resource}/v1/messages/liked_by/current.json`,
51
+ headers: {
52
+ accept: 'application/json;odata.metadata=none',
53
+ 'content-type': 'application/json;odata=nometadata'
54
+ },
55
+ responseType: 'json',
56
+ data: {
57
+ message_id: options.messageId
58
+ }
59
+ };
60
+ try {
61
+ if (options.enable !== false) {
62
+ await request.post(requestOptions);
63
+ }
64
+ else {
65
+ await request.delete(requestOptions);
66
+ }
67
+ }
68
+ catch (err) {
69
+ this.handleRejectedODataJsonPromise(err);
71
70
  }
72
71
  }
73
72
  }
@@ -25,91 +25,72 @@ class YammerMessageListCommand extends YammerCommand {
25
25
  __classPrivateFieldGet(this, _YammerMessageListCommand_instances, "m", _YammerMessageListCommand_initOptions).call(this);
26
26
  __classPrivateFieldGet(this, _YammerMessageListCommand_instances, "m", _YammerMessageListCommand_initValidators).call(this);
27
27
  }
28
- getAllItems(logger, args, messageId) {
29
- return new Promise((resolve, reject) => {
30
- let endpoint = `${this.resource}/v1`;
31
- if (args.options.threadId) {
32
- endpoint += `/messages/in_thread/${args.options.threadId}.json`;
33
- }
34
- else if (args.options.groupId) {
35
- endpoint += `/messages/in_group/${args.options.groupId}.json`;
36
- }
37
- else {
38
- if (!args.options.feedType) {
39
- args.options.feedType = "All";
40
- }
41
- switch (args.options.feedType) {
42
- case 'Top':
43
- endpoint += `/messages/algo.json`;
44
- break;
45
- case 'My':
46
- endpoint += `/messages/my_feed.json`;
47
- break;
48
- case 'Following':
49
- endpoint += `/messages/following.json`;
50
- break;
51
- case 'Sent':
52
- endpoint += `/messages/sent.json`;
53
- break;
54
- case 'Private':
55
- endpoint += `/messages/private.json`;
56
- break;
57
- case 'Received':
58
- endpoint += `/messages/received.json`;
59
- break;
60
- default:
61
- endpoint += `/messages.json`;
62
- }
28
+ async getAllItems(logger, args, messageId) {
29
+ let endpoint = `${this.resource}/v1`;
30
+ if (args.options.threadId) {
31
+ endpoint += `/messages/in_thread/${args.options.threadId}.json`;
32
+ }
33
+ else if (args.options.groupId) {
34
+ endpoint += `/messages/in_group/${args.options.groupId}.json`;
35
+ }
36
+ else {
37
+ if (!args.options.feedType) {
38
+ args.options.feedType = "All";
63
39
  }
64
- if (messageId !== -1) {
65
- endpoint += `?older_than=${messageId}`;
40
+ switch (args.options.feedType) {
41
+ case 'Top':
42
+ endpoint += `/messages/algo.json`;
43
+ break;
44
+ case 'My':
45
+ endpoint += `/messages/my_feed.json`;
46
+ break;
47
+ case 'Following':
48
+ endpoint += `/messages/following.json`;
49
+ break;
50
+ case 'Sent':
51
+ endpoint += `/messages/sent.json`;
52
+ break;
53
+ case 'Private':
54
+ endpoint += `/messages/private.json`;
55
+ break;
56
+ case 'Received':
57
+ endpoint += `/messages/received.json`;
58
+ break;
59
+ default:
60
+ endpoint += `/messages.json`;
66
61
  }
67
- else if (args.options.olderThanId) {
68
- endpoint += `?older_than=${args.options.olderThanId}`;
62
+ }
63
+ if (messageId !== -1) {
64
+ endpoint += `?older_than=${messageId}`;
65
+ }
66
+ else if (args.options.olderThanId) {
67
+ endpoint += `?older_than=${args.options.olderThanId}`;
68
+ }
69
+ if (args.options.threaded) {
70
+ if (endpoint.indexOf("?") > -1) {
71
+ endpoint += "&";
69
72
  }
70
- if (args.options.threaded) {
71
- if (endpoint.indexOf("?") > -1) {
72
- endpoint += "&";
73
- }
74
- else {
75
- endpoint += "?";
76
- }
77
- endpoint += `threaded=true`;
73
+ else {
74
+ endpoint += "?";
78
75
  }
79
- const requestOptions = {
80
- url: endpoint,
81
- headers: {
82
- accept: 'application/json;odata.metadata=none',
83
- 'content-type': 'application/json;odata=nometadata'
84
- },
85
- responseType: 'json'
86
- };
87
- request
88
- .get(requestOptions)
89
- .then((res) => {
90
- this.items = this.items.concat(res.messages);
91
- if (args.options.limit && this.items.length > args.options.limit) {
92
- this.items = this.items.slice(0, args.options.limit);
93
- resolve();
94
- }
95
- else {
96
- if (res.meta.older_available === true) {
97
- this
98
- .getAllItems(logger, args, this.items[this.items.length - 1].id)
99
- .then(() => {
100
- resolve();
101
- }, (err) => {
102
- reject(err);
103
- });
104
- }
105
- else {
106
- resolve();
107
- }
108
- }
109
- }, (err) => {
110
- reject(err);
111
- });
112
- });
76
+ endpoint += `threaded=true`;
77
+ }
78
+ const requestOptions = {
79
+ url: endpoint,
80
+ headers: {
81
+ accept: 'application/json;odata.metadata=none',
82
+ 'content-type': 'application/json;odata=nometadata'
83
+ },
84
+ responseType: 'json'
85
+ };
86
+ const res = await request.get(requestOptions);
87
+ this.items = this.items.concat(res.messages);
88
+ if (args.options.limit && this.items.length > args.options.limit) {
89
+ this.items = this.items.slice(0, args.options.limit);
90
+ }
91
+ else if ((res.meta.older_available === true)) {
92
+ await this.getAllItems(logger, args, this.items[this.items.length - 1].id);
93
+ }
113
94
  }
114
95
  async commandAction(logger, args) {
115
96
  this.items = []; // this will reset the items array in interactive mode
@@ -23,24 +23,8 @@ class YammerMessageRemoveCommand extends YammerCommand {
23
23
  __classPrivateFieldGet(this, _YammerMessageRemoveCommand_instances, "m", _YammerMessageRemoveCommand_initValidators).call(this);
24
24
  }
25
25
  async commandAction(logger, args) {
26
- const removeMessage = async () => {
27
- try {
28
- const requestOptions = {
29
- url: `${this.resource}/v1/messages/${args.options.id}.json`,
30
- headers: {
31
- accept: 'application/json;odata.metadata=none',
32
- 'content-type': 'application/json;odata=nometadata'
33
- },
34
- responseType: 'json'
35
- };
36
- await request.delete(requestOptions);
37
- }
38
- catch (err) {
39
- this.handleRejectedODataJsonPromise(err);
40
- }
41
- };
42
26
  if (args.options.force) {
43
- await removeMessage();
27
+ await this.removeMessage(args.options);
44
28
  }
45
29
  else {
46
30
  const result = await Cli.prompt({
@@ -50,10 +34,26 @@ class YammerMessageRemoveCommand extends YammerCommand {
50
34
  message: `Are you sure you want to remove the Yammer message ${args.options.id}?`
51
35
  });
52
36
  if (result.continue) {
53
- await removeMessage();
37
+ await this.removeMessage(args.options);
54
38
  }
55
39
  }
56
40
  }
41
+ async removeMessage(options) {
42
+ try {
43
+ const requestOptions = {
44
+ url: `${this.resource}/v1/messages/${options.id}.json`,
45
+ headers: {
46
+ accept: 'application/json;odata.metadata=none',
47
+ 'content-type': 'application/json;odata=nometadata'
48
+ },
49
+ responseType: 'json'
50
+ };
51
+ await request.delete(requestOptions);
52
+ }
53
+ catch (err) {
54
+ this.handleRejectedODataJsonPromise(err);
55
+ }
56
+ }
57
57
  }
58
58
  _YammerMessageRemoveCommand_instances = new WeakSet(), _YammerMessageRemoveCommand_initTelemetry = function _YammerMessageRemoveCommand_initTelemetry() {
59
59
  this.telemetry.push((args) => {
@@ -33,76 +33,60 @@ class YammerSearchCommand extends YammerCommand {
33
33
  __classPrivateFieldGet(this, _YammerSearchCommand_instances, "m", _YammerSearchCommand_initOptions).call(this);
34
34
  __classPrivateFieldGet(this, _YammerSearchCommand_instances, "m", _YammerSearchCommand_initValidators).call(this);
35
35
  }
36
- getAllItems(logger, args, page) {
37
- return new Promise((resolve, reject) => {
38
- const endpoint = `${this.resource}/v1/search.json?search=${formatting.encodeQueryParameter(args.options.queryText)}&page=${page}`;
39
- const requestOptions = {
40
- url: endpoint,
41
- responseType: 'json',
42
- headers: {
43
- accept: 'application/json;odata=nometadata'
44
- }
36
+ async getAllItems(logger, args, page) {
37
+ const endpoint = `${this.resource}/v1/search.json?search=${formatting.encodeQueryParameter(args.options.queryText)}&page=${page}`;
38
+ const requestOptions = {
39
+ url: endpoint,
40
+ responseType: 'json',
41
+ headers: {
42
+ accept: 'application/json;odata=nometadata'
43
+ }
44
+ };
45
+ const results = await request.get(requestOptions);
46
+ // results count should only read once
47
+ if (page === 1) {
48
+ this.summary = {
49
+ messages: results.count.messages,
50
+ topics: results.count.topics,
51
+ users: results.count.users,
52
+ groups: results.count.groups
45
53
  };
46
- request
47
- .get(requestOptions)
48
- .then((results) => {
49
- // results count should only read once
50
- if (page === 1) {
51
- this.summary = {
52
- messages: results.count.messages,
53
- topics: results.count.topics,
54
- users: results.count.users,
55
- groups: results.count.groups
56
- };
57
- }
58
- const resultMessages = results.messages.messages;
59
- const resultTopics = results.topics;
60
- const resultGroups = results.groups;
61
- const resultUsers = results.users;
62
- if (resultMessages.length > 0) {
63
- this.messages = this.messages.concat(resultMessages);
64
- if (args.options.limit && this.messages.length > args.options.limit) {
65
- this.messages = this.messages.slice(0, args.options.limit);
66
- }
67
- }
68
- if (resultTopics.length > 0) {
69
- this.topics = this.topics.concat(resultTopics);
70
- if (args.options.limit && this.topics.length > args.options.limit) {
71
- this.topics = this.topics.slice(0, args.options.limit);
72
- }
73
- }
74
- if (resultGroups.length > 0) {
75
- this.groups = this.groups.concat(resultGroups);
76
- if (args.options.limit && this.groups.length > args.options.limit) {
77
- this.groups = this.groups.slice(0, args.options.limit);
78
- }
79
- }
80
- if (resultUsers.length > 0) {
81
- this.users = this.users.concat(resultUsers);
82
- if (args.options.limit && this.users.length > args.options.limit) {
83
- this.users = this.users.slice(0, args.options.limit);
84
- }
85
- }
86
- const continueProcessing = resultMessages.length === 20 ||
87
- resultUsers.length === 20 ||
88
- resultGroups.length === 20 ||
89
- resultTopics.length === 20;
90
- if (continueProcessing) {
91
- this
92
- .getAllItems(logger, args, ++page)
93
- .then(() => {
94
- resolve();
95
- }, (err) => {
96
- reject(err);
97
- });
98
- }
99
- else {
100
- resolve();
101
- }
102
- }, (err) => {
103
- reject(err);
104
- });
105
- });
54
+ }
55
+ const resultMessages = results.messages.messages;
56
+ const resultTopics = results.topics;
57
+ const resultGroups = results.groups;
58
+ const resultUsers = results.users;
59
+ if (resultMessages.length > 0) {
60
+ this.messages = this.messages.concat(resultMessages);
61
+ if (args.options.limit && this.messages.length > args.options.limit) {
62
+ this.messages = this.messages.slice(0, args.options.limit);
63
+ }
64
+ }
65
+ if (resultTopics.length > 0) {
66
+ this.topics = this.topics.concat(resultTopics);
67
+ if (args.options.limit && this.topics.length > args.options.limit) {
68
+ this.topics = this.topics.slice(0, args.options.limit);
69
+ }
70
+ }
71
+ if (resultGroups.length > 0) {
72
+ this.groups = this.groups.concat(resultGroups);
73
+ if (args.options.limit && this.groups.length > args.options.limit) {
74
+ this.groups = this.groups.slice(0, args.options.limit);
75
+ }
76
+ }
77
+ if (resultUsers.length > 0) {
78
+ this.users = this.users.concat(resultUsers);
79
+ if (args.options.limit && this.users.length > args.options.limit) {
80
+ this.users = this.users.slice(0, args.options.limit);
81
+ }
82
+ }
83
+ const continueProcessing = resultMessages.length === 20 ||
84
+ resultUsers.length === 20 ||
85
+ resultGroups.length === 20 ||
86
+ resultTopics.length === 20;
87
+ if (continueProcessing) {
88
+ await this.getAllItems(logger, args, ++page);
89
+ }
106
90
  }
107
91
  async commandAction(logger, args) {
108
92
  this.summary = {
@@ -31,11 +31,12 @@ export const planner = {
31
31
  return odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, metadata);
32
32
  },
33
33
  /**
34
- * Get all Planner plans for a specific roster.
34
+ * Get the Planner plan for a specific Roster.
35
35
  * @param rosterId Roster ID.
36
36
  */
37
- getPlansByRosterId(rosterId, metadata = 'none') {
38
- return odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans`, metadata);
37
+ async getPlanByRosterId(rosterId, metadata = 'none') {
38
+ const plans = await odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans`, metadata);
39
+ return plans[0];
39
40
  },
40
41
  /**
41
42
  * Get Planner plan by title in a specific group.