@pnp/cli-microsoft365 6.9.0-beta.1cd2525 → 6.9.0-beta.3158148

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 (180) hide show
  1. package/.devcontainer/Dockerfile +12 -19
  2. package/.devcontainer/devcontainer.json +24 -17
  3. package/Dockerfile +3 -1
  4. package/dist/Auth.js +2 -8
  5. package/dist/AuthServer.js +2 -4
  6. package/dist/cli/Cli.js +2 -2
  7. package/dist/m365/aad/commands/app/app-add.js +258 -249
  8. package/dist/m365/aad/commands/app/app-get.js +65 -62
  9. package/dist/m365/aad/commands/app/app-remove.js +22 -23
  10. package/dist/m365/aad/commands/app/app-role-add.js +35 -34
  11. package/dist/m365/aad/commands/app/app-role-list.js +22 -23
  12. package/dist/m365/aad/commands/app/app-role-remove.js +76 -73
  13. package/dist/m365/aad/commands/app/app-set.js +103 -103
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +16 -14
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +43 -52
  16. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +20 -16
  17. package/dist/m365/aad/commands/o365group/o365group-add.js +40 -37
  18. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +7 -6
  19. package/dist/m365/aad/commands/o365group/o365group-list.js +6 -11
  20. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +7 -8
  21. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +23 -24
  22. package/dist/m365/aad/commands/o365group/o365group-set.js +15 -20
  23. package/dist/m365/aad/commands/o365group/o365group-teamify.js +15 -16
  24. package/dist/m365/aad/commands/o365group/o365group-user-list.js +17 -10
  25. package/dist/m365/aad/commands/o365group/o365group-user-set.js +17 -10
  26. package/dist/m365/aad/commands/policy/policy-list.js +12 -13
  27. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +1 -3
  28. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +19 -20
  29. package/dist/m365/aad/commands/sp/sp-add.js +22 -23
  30. package/dist/m365/aad/commands/sp/sp-get.js +22 -23
  31. package/dist/m365/aad/commands/sp/sp-list.js +78 -0
  32. package/dist/m365/aad/commands.js +1 -0
  33. package/dist/m365/app/commands/app-open.js +4 -14
  34. package/dist/m365/base/AzmgmtItemsListCommand.js +31 -33
  35. package/dist/m365/cli/commands/cli-issue.js +4 -10
  36. package/dist/m365/cli/commands/cli-reconsent.js +2 -8
  37. package/dist/m365/cli/commands/config/config-set.js +0 -1
  38. package/dist/m365/commands/docs.js +2 -8
  39. package/dist/m365/commands/login.js +20 -0
  40. package/dist/m365/flow/commands/flow-list.js +30 -12
  41. package/dist/m365/flow/commands/flow-remove.js +2 -3
  42. package/dist/m365/flow/commands/run/run-resubmit.js +11 -10
  43. package/dist/m365/onedrive/commands/onedrive-list.js +21 -32
  44. package/dist/m365/outlook/commands/message/message-list.js +18 -23
  45. package/dist/m365/outlook/commands/message/message-move.js +15 -20
  46. package/dist/m365/pa/commands/app/app-export.js +3 -4
  47. package/dist/m365/pa/commands/app/app-get.js +11 -9
  48. package/dist/m365/pa/commands/app/app-remove.js +1 -1
  49. package/dist/m365/pa/commands/pcf/pcf-init.js +1 -2
  50. package/dist/m365/pa/commands/solution/solution-init.js +1 -2
  51. package/dist/m365/pa/commands/solution/solution-reference-add.js +1 -2
  52. package/dist/m365/pp/commands/managementapp/managementapp-add.js +19 -20
  53. package/dist/m365/purview/commands/retentionevent/retentionevent-add.js +3 -3
  54. package/dist/m365/purview/commands/retentionevent/retentionevent-get.js +1 -1
  55. package/dist/m365/purview/commands/retentionevent/retentionevent-list.js +1 -1
  56. package/dist/m365/purview/commands/retentionevent/retentionevent-remove.js +1 -1
  57. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-add.js +1 -1
  58. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-get.js +1 -1
  59. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-list.js +1 -1
  60. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-remove.js +1 -1
  61. package/dist/m365/purview/commands/retentioneventtype/retentioneventtype-set.js +1 -1
  62. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.17.3.js +25 -0
  63. package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
  64. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002027_DEVDEP_fluentui_react.js +14 -0
  65. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.17.3.js +59 -0
  66. package/dist/m365/spfx/commands/project/project-upgrade.js +2 -1
  67. package/dist/m365/spfx/commands/spfx-doctor.js +15 -0
  68. package/dist/m365/spo/commands/app/app-teamspackage-download.js +17 -24
  69. package/dist/m365/spo/commands/apppage/apppage-set.js +1 -1
  70. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +65 -94
  71. package/dist/m365/spo/commands/customaction/customaction-clear.js +4 -12
  72. package/dist/m365/spo/commands/customaction/customaction-remove.js +12 -23
  73. package/dist/m365/spo/commands/customaction/customaction-set.js +21 -29
  74. package/dist/m365/spo/commands/file/file-add.js +133 -133
  75. package/dist/m365/spo/commands/file/file-checkout-undo.js +119 -0
  76. package/dist/m365/spo/commands/file/file-rename.js +11 -9
  77. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +2 -2
  78. package/dist/m365/spo/commands/file/file-roleassignment-add.js +41 -61
  79. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +3 -0
  80. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +3 -0
  81. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +3 -0
  82. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +23 -21
  83. package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
  84. package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
  85. package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
  86. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +3 -3
  87. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  88. package/dist/m365/spo/commands/group/group-member-add.js +17 -16
  89. package/dist/m365/spo/commands/group/group-set.js +20 -20
  90. package/dist/m365/spo/commands/homesite/homesite-remove.js +1 -1
  91. package/dist/m365/spo/commands/hubsite/hubsite-get.js +33 -31
  92. package/dist/m365/spo/commands/hubsite/hubsite-list.js +18 -29
  93. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +3 -0
  94. package/dist/m365/spo/commands/list/list-add.js +1 -1
  95. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +1 -1
  96. package/dist/m365/spo/commands/list/list-roleassignment-add.js +45 -52
  97. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +33 -38
  98. package/dist/m365/spo/commands/list/list-sensitivitylabel-ensure.js +13 -3
  99. package/dist/m365/spo/commands/list/list-view-field-add.js +12 -10
  100. package/dist/m365/spo/commands/list/list-view-field-remove.js +12 -10
  101. package/dist/m365/spo/commands/list/list-view-field-set.js +12 -10
  102. package/dist/m365/spo/commands/list/list-view-remove.js +3 -0
  103. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +41 -61
  104. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +71 -74
  105. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +36 -34
  106. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +32 -30
  107. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +24 -22
  108. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +29 -27
  109. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +26 -24
  110. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +34 -40
  111. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +23 -21
  112. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +24 -22
  113. package/dist/m365/spo/commands/spo-search.js +7 -15
  114. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +29 -27
  115. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +156 -0
  116. package/dist/m365/spo/commands.js +2 -0
  117. package/dist/m365/teams/commands/app/app-install.js +23 -21
  118. package/dist/m365/teams/commands/app/app-remove.js +3 -0
  119. package/dist/m365/teams/commands/app/app-uninstall.js +3 -0
  120. package/dist/m365/teams/commands/app/app-update.js +15 -16
  121. package/dist/m365/teams/commands/channel/channel-add.js +40 -39
  122. package/dist/m365/teams/commands/channel/channel-get.js +23 -25
  123. package/dist/m365/teams/commands/channel/channel-list.js +6 -7
  124. package/dist/m365/teams/commands/channel/channel-member-add.js +61 -60
  125. package/dist/m365/teams/commands/channel/channel-member-list.js +20 -22
  126. package/dist/m365/teams/commands/channel/channel-member-remove.js +43 -48
  127. package/dist/m365/teams/commands/channel/channel-member-set.js +36 -39
  128. package/dist/m365/teams/commands/channel/channel-remove.js +4 -1
  129. package/dist/m365/teams/commands/funsettings/funsettings-list.js +3 -0
  130. package/dist/m365/teams/commands/funsettings/funsettings-set.js +3 -0
  131. package/dist/m365/teams/commands/tab/tab-get.js +34 -37
  132. package/dist/m365/teams/commands/team/team-archive.js +6 -7
  133. package/dist/m365/teams/commands/team/team-get.js +6 -7
  134. package/dist/m365/teams/commands/team/team-list.js +9 -11
  135. package/dist/m365/teams/commands/team/team-remove.js +6 -7
  136. package/dist/m365/teams/commands/team/team-unarchive.js +6 -7
  137. package/dist/m365/teams/commands/user/user-app-list.js +13 -11
  138. package/dist/m365/teams/commands/user/user-list.js +7 -4
  139. package/dist/m365/tenant/commands/security/security-alerts-list.js +25 -26
  140. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +13 -14
  141. package/dist/m365/todo/commands/list/list-remove.js +39 -36
  142. package/dist/m365/todo/commands/list/list-set.js +16 -14
  143. package/dist/m365/todo/commands/task/task-add.js +14 -14
  144. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -7
  145. package/dist/settingsNames.js +0 -1
  146. package/dist/utils/browserUtil.js +23 -0
  147. package/docs/docs/cmd/aad/sp/sp-list.mdx +162 -0
  148. package/docs/docs/cmd/flow/flow-list.mdx +15 -0
  149. package/docs/docs/cmd/login.mdx +39 -0
  150. package/docs/docs/cmd/setup.mdx +2 -0
  151. package/docs/docs/cmd/spfx/project/project-upgrade.mdx +1 -1
  152. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +55 -0
  153. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
  154. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  155. package/docs/docs/cmd/spo/list/list-sensitivitylabel-ensure.mdx +14 -5
  156. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-set.mdx +81 -0
  157. package/docs/docs/cmd/spo/tenant/tenant-settings-set.mdx +6 -0
  158. package/docs/docs/cmd/status.mdx +6 -3
  159. package/docs/docs/cmd/util/accesstoken/accesstoken-get.mdx +12 -2
  160. package/npm-shrinkwrap.json +299 -272
  161. package/package.json +17 -17
  162. package/dist/m365/aad/commands/approleassignment/AppRoleAssignment.js +0 -3
  163. package/dist/m365/aad/commands/approleassignment/ServicePrincipal.js +0 -3
  164. package/dist/m365/aad/commands/groupsetting/GroupSetting.js +0 -3
  165. package/dist/m365/aad/commands/groupsettingtemplate/GroupSettingTemplate.js +0 -3
  166. package/dist/m365/aad/commands/siteclassification/DirectorySetting.js +0 -10
  167. package/dist/m365/aad/commands/siteclassification/DirectorySettingTemplatesRsp.js +0 -3
  168. package/dist/m365/aad/commands/siteclassification/DirectorySettingValue.js +0 -3
  169. package/dist/m365/outlook/Message.js +0 -3
  170. package/dist/m365/spo/commands/site/SitePermission.js +0 -3
  171. package/dist/m365/teams/Channel.js +0 -3
  172. package/dist/m365/teams/ConversationMember.js +0 -3
  173. package/dist/m365/teams/Message.js +0 -3
  174. package/dist/m365/teams/Reply.js +0 -3
  175. package/dist/m365/teams/Tab.js +0 -3
  176. package/dist/m365/teams/Team.js +0 -3
  177. package/dist/m365/teams/TeamsApp.js +0 -3
  178. package/dist/m365/teams/TeamsAppInstallation.js +0 -3
  179. package/dist/m365/teams/TeamsTabConfiguration.js +0 -3
  180. package/dist/m365/teams/commands/Meeting.js +0 -3
@@ -90,51 +90,46 @@ class SpoListRoleAssignmentRemoveCommand extends SpoCommand_1.default {
90
90
  });
91
91
  }
92
92
  removeRoleAssignment(requestUrl, logger, options) {
93
- const requestOptions = {
94
- url: `${requestUrl}roleassignments/removeroleassignment(principalid='${options.principalId}')`,
95
- method: 'POST',
96
- headers: {
97
- 'accept': 'application/json;odata=nometadata',
98
- 'content-type': 'application/json'
99
- },
100
- responseType: 'json'
101
- };
102
- return request_1.default
103
- .post(requestOptions)
104
- .then(_ => Promise.resolve())
105
- .catch((err) => Promise.reject(err));
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ const requestOptions = {
95
+ url: `${requestUrl}roleassignments/removeroleassignment(principalid='${options.principalId}')`,
96
+ method: 'POST',
97
+ headers: {
98
+ 'accept': 'application/json;odata=nometadata',
99
+ 'content-type': 'application/json'
100
+ },
101
+ responseType: 'json'
102
+ };
103
+ return request_1.default.post(requestOptions);
104
+ });
106
105
  }
107
106
  getGroupPrincipalId(options) {
108
- const groupGetCommandOptions = {
109
- webUrl: options.webUrl,
110
- name: options.groupName,
111
- output: 'json',
112
- debug: this.debug,
113
- verbose: this.verbose
114
- };
115
- return Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) })
116
- .then((output) => {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ const groupGetCommandOptions = {
109
+ webUrl: options.webUrl,
110
+ name: options.groupName,
111
+ output: 'json',
112
+ debug: this.debug,
113
+ verbose: this.verbose
114
+ };
115
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
117
116
  const getGroupOutput = JSON.parse(output.stdout);
118
- return Promise.resolve(getGroupOutput.Id);
119
- }, (err) => {
120
- return Promise.reject(err);
117
+ return getGroupOutput.Id;
121
118
  });
122
119
  }
123
120
  getUserPrincipalId(options) {
124
- const userGetCommandOptions = {
125
- webUrl: options.webUrl,
126
- email: options.upn,
127
- id: undefined,
128
- output: 'json',
129
- debug: this.debug,
130
- verbose: this.verbose
131
- };
132
- return Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) })
133
- .then((output) => {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ const userGetCommandOptions = {
123
+ webUrl: options.webUrl,
124
+ email: options.upn,
125
+ id: undefined,
126
+ output: 'json',
127
+ debug: this.debug,
128
+ verbose: this.verbose
129
+ };
130
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
134
131
  const getUserOutput = JSON.parse(output.stdout);
135
- return Promise.resolve(getUserOutput.Id);
136
- }, (err) => {
137
- return Promise.reject(err);
132
+ return getUserOutput.Id;
138
133
  });
139
134
  }
140
135
  }
@@ -73,7 +73,10 @@ class SpoListSensitivityLabelEnsureCommand extends SpoCommand_1.default {
73
73
  }
74
74
  getSensitivityLabelId(args, logger) {
75
75
  return __awaiter(this, void 0, void 0, function* () {
76
- const { name } = args.options;
76
+ const { id, name } = args.options;
77
+ if (id) {
78
+ return id;
79
+ }
77
80
  if (this.verbose) {
78
81
  logger.logToStderr(`Retrieving sensitivity label id of ${name}...`);
79
82
  }
@@ -96,6 +99,8 @@ class SpoListSensitivityLabelEnsureCommand extends SpoCommand_1.default {
96
99
  _SpoListSensitivityLabelEnsureCommand_instances = new WeakSet(), _SpoListSensitivityLabelEnsureCommand_initTelemetry = function _SpoListSensitivityLabelEnsureCommand_initTelemetry() {
97
100
  this.telemetry.push((args) => {
98
101
  Object.assign(this.telemetryProperties, {
102
+ name: typeof args.options.name !== 'undefined',
103
+ id: typeof args.options.id !== 'undefined',
99
104
  listId: typeof args.options.listId !== 'undefined',
100
105
  listTitle: typeof args.options.listTitle !== 'undefined',
101
106
  listUrl: typeof args.options.listUrl !== 'undefined'
@@ -105,7 +110,9 @@ _SpoListSensitivityLabelEnsureCommand_instances = new WeakSet(), _SpoListSensiti
105
110
  this.options.unshift({
106
111
  option: '-u, --webUrl <webUrl>'
107
112
  }, {
108
- option: '-n, --name <name>'
113
+ option: '-n, --name [name]'
114
+ }, {
115
+ option: '-i, --id [id]'
109
116
  }, {
110
117
  option: '-t, --listTitle [listTitle]'
111
118
  }, {
@@ -115,13 +122,16 @@ _SpoListSensitivityLabelEnsureCommand_instances = new WeakSet(), _SpoListSensiti
115
122
  });
116
123
  }, _SpoListSensitivityLabelEnsureCommand_initValidators = function _SpoListSensitivityLabelEnsureCommand_initValidators() {
117
124
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
125
+ if (args.options.id && !validation_1.validation.isValidGuid(args.options.id)) {
126
+ return `${args.options.id} is not a valid GUID`;
127
+ }
118
128
  if (args.options.listId && !validation_1.validation.isValidGuid(args.options.listId)) {
119
129
  return `${args.options.listId} is not a valid GUID`;
120
130
  }
121
131
  return validation_1.validation.isValidSharePointUrl(args.options.webUrl);
122
132
  }));
123
133
  }, _SpoListSensitivityLabelEnsureCommand_initOptionSets = function _SpoListSensitivityLabelEnsureCommand_initOptionSets() {
124
- this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
134
+ this.optionSets.push({ options: ['name', 'id'] }, { options: ['listId', 'listTitle', 'listUrl'] });
125
135
  };
126
136
  module.exports = new SpoListSensitivityLabelEnsureCommand();
127
137
  //# sourceMappingURL=list-sensitivitylabel-ensure.js.map
@@ -101,16 +101,18 @@ class SpoListViewFieldAddCommand extends SpoCommand_1.default {
101
101
  });
102
102
  }
103
103
  getField(options, listSelector) {
104
- const fieldSelector = options.id ? `/getbyid('${formatting_1.formatting.encodeQueryParameter(options.id)}')` : `/getbyinternalnameortitle('${formatting_1.formatting.encodeQueryParameter(options.title)}')`;
105
- const getRequestUrl = `${options.webUrl}/_api/web/${listSelector}/fields${fieldSelector}`;
106
- const requestOptions = {
107
- url: getRequestUrl,
108
- headers: {
109
- 'accept': 'application/json;odata=nometadata'
110
- },
111
- responseType: 'json'
112
- };
113
- return request_1.default.get(requestOptions);
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ const fieldSelector = options.id ? `/getbyid('${formatting_1.formatting.encodeQueryParameter(options.id)}')` : `/getbyinternalnameortitle('${formatting_1.formatting.encodeQueryParameter(options.title)}')`;
106
+ const getRequestUrl = `${options.webUrl}/_api/web/${listSelector}/fields${fieldSelector}`;
107
+ const requestOptions = {
108
+ url: getRequestUrl,
109
+ headers: {
110
+ 'accept': 'application/json;odata=nometadata'
111
+ },
112
+ responseType: 'json'
113
+ };
114
+ return request_1.default.get(requestOptions);
115
+ });
114
116
  }
115
117
  }
116
118
  _SpoListViewFieldAddCommand_instances = new WeakSet(), _SpoListViewFieldAddCommand_initTelemetry = function _SpoListViewFieldAddCommand_initTelemetry() {
@@ -92,16 +92,18 @@ class SpoListViewFieldRemoveCommand extends SpoCommand_1.default {
92
92
  });
93
93
  }
94
94
  getField(options, listSelector) {
95
- const fieldSelector = options.id ? `/getbyid('${formatting_1.formatting.encodeQueryParameter(options.id)}')` : `/getbyinternalnameortitle('${formatting_1.formatting.encodeQueryParameter(options.title)}')`;
96
- const getRequestUrl = `${options.webUrl}/_api/web/${listSelector}/fields${fieldSelector}`;
97
- const requestOptions = {
98
- url: getRequestUrl,
99
- headers: {
100
- 'accept': 'application/json;odata=nometadata'
101
- },
102
- responseType: 'json'
103
- };
104
- return request_1.default.get(requestOptions);
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const fieldSelector = options.id ? `/getbyid('${formatting_1.formatting.encodeQueryParameter(options.id)}')` : `/getbyinternalnameortitle('${formatting_1.formatting.encodeQueryParameter(options.title)}')`;
97
+ const getRequestUrl = `${options.webUrl}/_api/web/${listSelector}/fields${fieldSelector}`;
98
+ const requestOptions = {
99
+ url: getRequestUrl,
100
+ headers: {
101
+ 'accept': 'application/json;odata=nometadata'
102
+ },
103
+ responseType: 'json'
104
+ };
105
+ return request_1.default.get(requestOptions);
106
+ });
105
107
  }
106
108
  }
107
109
  _SpoListViewFieldRemoveCommand_instances = new WeakSet(), _SpoListViewFieldRemoveCommand_initTelemetry = function _SpoListViewFieldRemoveCommand_initTelemetry() {
@@ -78,16 +78,18 @@ class SpoListViewFieldSetCommand extends SpoCommand_1.default {
78
78
  });
79
79
  }
80
80
  getField(options, listSelector) {
81
- const fieldSelector = options.id ? `/getbyid('${formatting_1.formatting.encodeQueryParameter(options.id)}')` : `/getbyinternalnameortitle('${formatting_1.formatting.encodeQueryParameter(options.title)}')`;
82
- const getRequestUrl = `${options.webUrl}/_api/web/${listSelector}/fields${fieldSelector}`;
83
- const requestOptions = {
84
- url: getRequestUrl,
85
- headers: {
86
- 'accept': 'application/json;odata=nometadata'
87
- },
88
- responseType: 'json'
89
- };
90
- return request_1.default.get(requestOptions);
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const fieldSelector = options.id ? `/getbyid('${formatting_1.formatting.encodeQueryParameter(options.id)}')` : `/getbyinternalnameortitle('${formatting_1.formatting.encodeQueryParameter(options.title)}')`;
83
+ const getRequestUrl = `${options.webUrl}/_api/web/${listSelector}/fields${fieldSelector}`;
84
+ const requestOptions = {
85
+ url: getRequestUrl,
86
+ headers: {
87
+ 'accept': 'application/json;odata=nometadata'
88
+ },
89
+ responseType: 'json'
90
+ };
91
+ return request_1.default.get(requestOptions);
92
+ });
91
93
  }
92
94
  }
93
95
  _SpoListViewFieldSetCommand_instances = new WeakSet(), _SpoListViewFieldSetCommand_initTelemetry = function _SpoListViewFieldSetCommand_initTelemetry() {
@@ -40,6 +40,9 @@ class SpoListViewRemoveCommand extends SpoCommand_1.default {
40
40
  commandAction(logger, args) {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
42
  const removeViewFromList = () => __awaiter(this, void 0, void 0, function* () {
43
+ if (this.verbose) {
44
+ logger.logToStderr(`Removing view ${args.options.id || args.options.title} from list ${args.options.listId || args.options.listTitle || args.options.listUrl}`);
45
+ }
43
46
  let listSelector = '';
44
47
  if (args.options.listId) {
45
48
  listSelector = `lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
@@ -79,21 +79,16 @@ class SpoListItemRoleAssignmentAddCommand extends SpoCommand_1.default {
79
79
  }
80
80
  addRoleAssignment(requestUrl, roleDefinitionId, principalId) {
81
81
  return __awaiter(this, void 0, void 0, function* () {
82
- try {
83
- const requestOptions = {
84
- url: `${requestUrl}roleassignments/addroleassignment(principalid='${principalId}',roledefid='${roleDefinitionId}')`,
85
- method: 'POST',
86
- headers: {
87
- 'accept': 'application/json;odata=nometadata',
88
- 'content-type': 'application/json'
89
- },
90
- responseType: 'json'
91
- };
92
- yield request_1.default.post(requestOptions);
93
- }
94
- catch (err) {
95
- return Promise.reject(err);
96
- }
82
+ const requestOptions = {
83
+ url: `${requestUrl}roleassignments/addroleassignment(principalid='${principalId}',roledefid='${roleDefinitionId}')`,
84
+ method: 'POST',
85
+ headers: {
86
+ 'accept': 'application/json;odata=nometadata',
87
+ 'content-type': 'application/json'
88
+ },
89
+ responseType: 'json'
90
+ };
91
+ yield request_1.default.post(requestOptions);
97
92
  });
98
93
  }
99
94
  getRoleDefinitionId(options) {
@@ -101,60 +96,45 @@ class SpoListItemRoleAssignmentAddCommand extends SpoCommand_1.default {
101
96
  if (!options.roleDefinitionName) {
102
97
  return options.roleDefinitionId;
103
98
  }
104
- try {
105
- const roleDefinitionListCommandOptions = {
106
- webUrl: options.webUrl,
107
- output: 'json',
108
- debug: this.debug,
109
- verbose: this.verbose
110
- };
111
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
112
- const getRoleDefinitionListOutput = JSON.parse(output.stdout);
113
- const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
114
- return roleDefinitionId;
115
- }
116
- catch (err) {
117
- return Promise.reject(err);
118
- }
99
+ const roleDefinitionListCommandOptions = {
100
+ webUrl: options.webUrl,
101
+ output: 'json',
102
+ debug: this.debug,
103
+ verbose: this.verbose
104
+ };
105
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
106
+ const getRoleDefinitionListOutput = JSON.parse(output.stdout);
107
+ const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
108
+ return roleDefinitionId;
119
109
  });
120
110
  }
121
111
  getGroupPrincipalId(options) {
122
112
  return __awaiter(this, void 0, void 0, function* () {
123
- try {
124
- const groupGetCommandOptions = {
125
- webUrl: options.webUrl,
126
- name: options.groupName,
127
- output: 'json',
128
- debug: this.debug,
129
- verbose: this.verbose
130
- };
131
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
132
- const getGroupOutput = JSON.parse(output.stdout);
133
- return getGroupOutput.Id;
134
- }
135
- catch (err) {
136
- return Promise.reject(err);
137
- }
113
+ const groupGetCommandOptions = {
114
+ webUrl: options.webUrl,
115
+ name: options.groupName,
116
+ output: 'json',
117
+ debug: this.debug,
118
+ verbose: this.verbose
119
+ };
120
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
121
+ const getGroupOutput = JSON.parse(output.stdout);
122
+ return getGroupOutput.Id;
138
123
  });
139
124
  }
140
125
  getUserPrincipalId(options) {
141
126
  return __awaiter(this, void 0, void 0, function* () {
142
- try {
143
- const userGetCommandOptions = {
144
- webUrl: options.webUrl,
145
- email: options.upn,
146
- id: undefined,
147
- output: 'json',
148
- debug: this.debug,
149
- verbose: this.verbose
150
- };
151
- const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
152
- const getUserOutput = JSON.parse(output.stdout);
153
- return getUserOutput.Id;
154
- }
155
- catch (err) {
156
- return Promise.reject(err);
157
- }
127
+ const userGetCommandOptions = {
128
+ webUrl: options.webUrl,
129
+ email: options.upn,
130
+ id: undefined,
131
+ output: 'json',
132
+ debug: this.debug,
133
+ verbose: this.verbose
134
+ };
135
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
136
+ const getUserOutput = JSON.parse(output.stdout);
137
+ return getUserOutput.Id;
158
138
  });
159
139
  }
160
140
  }
@@ -41,41 +41,8 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand_1.default {
41
41
  }
42
42
  commandAction(logger, args) {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
- const removeRoleAssignment = () => __awaiter(this, void 0, void 0, function* () {
45
- if (this.verbose) {
46
- logger.logToStderr(`Removing role assignment from listitem in site at ${args.options.webUrl}...`);
47
- }
48
- try {
49
- let requestUrl = `${args.options.webUrl}/_api/web/`;
50
- if (args.options.listId) {
51
- requestUrl += `lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')/`;
52
- }
53
- else if (args.options.listTitle) {
54
- requestUrl += `lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')/`;
55
- }
56
- else if (args.options.listUrl) {
57
- const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
58
- requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
59
- }
60
- requestUrl += `items(${args.options.listItemId})/`;
61
- if (args.options.upn) {
62
- args.options.principalId = yield this.getUserPrincipalId(args.options);
63
- yield this.removeRoleAssignment(requestUrl, logger, args.options);
64
- }
65
- else if (args.options.groupName) {
66
- args.options.principalId = yield this.getGroupPrincipalId(args.options);
67
- yield this.removeRoleAssignment(requestUrl, logger, args.options);
68
- }
69
- else {
70
- yield this.removeRoleAssignment(requestUrl, logger, args.options);
71
- }
72
- }
73
- catch (err) {
74
- this.handleRejectedODataJsonPromise(err);
75
- }
76
- });
77
44
  if (args.options.confirm) {
78
- yield removeRoleAssignment();
45
+ yield this.removeRoleAssignment(logger, args.options);
79
46
  }
80
47
  else {
81
48
  const result = yield Cli_1.Cli.prompt({
@@ -85,57 +52,87 @@ class SpoListItemRoleAssignmentRemoveCommand extends SpoCommand_1.default {
85
52
  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}?`
86
53
  });
87
54
  if (result.continue) {
88
- yield removeRoleAssignment();
55
+ yield this.removeRoleAssignment(logger, args.options);
89
56
  }
90
57
  }
91
58
  });
92
59
  }
93
- removeRoleAssignment(requestUrl, logger, options) {
94
- const requestOptions = {
95
- url: `${requestUrl}roleassignments/removeroleassignment(principalid='${options.principalId}')`,
96
- method: 'POST',
97
- headers: {
98
- 'accept': 'application/json;odata=nometadata',
99
- 'content-type': 'application/json'
100
- },
101
- responseType: 'json'
102
- };
103
- return request_1.default
104
- .post(requestOptions)
105
- .then(_ => Promise.resolve())
106
- .catch((err) => Promise.reject(err));
60
+ removeRoleAssignment(logger, options) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ if (this.verbose) {
63
+ logger.logToStderr(`Removing role assignment from listitem in site at ${options.webUrl}...`);
64
+ }
65
+ try {
66
+ let requestUrl = `${options.webUrl}/_api/web/`;
67
+ if (options.listId) {
68
+ requestUrl += `lists(guid'${formatting_1.formatting.encodeQueryParameter(options.listId)}')/`;
69
+ }
70
+ else if (options.listTitle) {
71
+ requestUrl += `lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(options.listTitle)}')/`;
72
+ }
73
+ else if (options.listUrl) {
74
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(options.webUrl, options.listUrl);
75
+ requestUrl += `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
76
+ }
77
+ requestUrl += `items(${options.listItemId})/`;
78
+ if (options.upn) {
79
+ options.principalId = yield this.getUserPrincipalId(options);
80
+ yield this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
81
+ }
82
+ else if (options.groupName) {
83
+ options.principalId = yield this.getGroupPrincipalId(options);
84
+ yield this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
85
+ }
86
+ else {
87
+ yield this.removeRoleAssignmentWithRequestUrl(requestUrl, logger, options);
88
+ }
89
+ }
90
+ catch (err) {
91
+ this.handleRejectedODataJsonPromise(err);
92
+ }
93
+ });
94
+ }
95
+ removeRoleAssignmentWithRequestUrl(requestUrl, logger, options) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const requestOptions = {
98
+ url: `${requestUrl}roleassignments/removeroleassignment(principalid='${options.principalId}')`,
99
+ method: 'POST',
100
+ headers: {
101
+ 'accept': 'application/json;odata=nometadata',
102
+ 'content-type': 'application/json'
103
+ },
104
+ responseType: 'json'
105
+ };
106
+ yield request_1.default.post(requestOptions);
107
+ });
107
108
  }
108
109
  getGroupPrincipalId(options) {
109
- const groupGetCommandOptions = {
110
- webUrl: options.webUrl,
111
- name: options.groupName,
112
- output: 'json',
113
- debug: this.debug,
114
- verbose: this.verbose
115
- };
116
- return Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) })
117
- .then((output) => {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const groupGetCommandOptions = {
112
+ webUrl: options.webUrl,
113
+ name: options.groupName,
114
+ output: 'json',
115
+ debug: this.debug,
116
+ verbose: this.verbose
117
+ };
118
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
118
119
  const getGroupOutput = JSON.parse(output.stdout);
119
- return Promise.resolve(getGroupOutput.Id);
120
- }, (err) => {
121
- return Promise.reject(err);
120
+ return getGroupOutput.Id;
122
121
  });
123
122
  }
124
123
  getUserPrincipalId(options) {
125
- const userGetCommandOptions = {
126
- webUrl: options.webUrl,
127
- email: options.upn,
128
- id: undefined,
129
- output: 'json',
130
- debug: this.debug,
131
- verbose: this.verbose
132
- };
133
- return Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) })
134
- .then((output) => {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ const userGetCommandOptions = {
126
+ webUrl: options.webUrl,
127
+ email: options.upn,
128
+ id: undefined,
129
+ output: 'json',
130
+ debug: this.debug,
131
+ verbose: this.verbose
132
+ };
133
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
135
134
  const getUserOutput = JSON.parse(output.stdout);
136
- return Promise.resolve(getUserOutput.Id);
137
- }, (err) => {
138
- return Promise.reject(err);
135
+ return getUserOutput.Id;
139
136
  });
140
137
  }
141
138
  }
@@ -43,40 +43,8 @@ class SpoListItemRoleInheritanceBreakCommand extends SpoCommand_1.default {
43
43
  if (this.verbose) {
44
44
  logger.logToStderr(`Breaking role inheritance of list item in site at ${args.options.webUrl}...`);
45
45
  }
46
- const breakListItemRoleInheritance = () => __awaiter(this, void 0, void 0, function* () {
47
- try {
48
- let requestUrl = `${args.options.webUrl}/_api/web`;
49
- if (args.options.listId) {
50
- requestUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')`;
51
- }
52
- else if (args.options.listTitle) {
53
- requestUrl += `/lists/getbytitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')`;
54
- }
55
- else if (args.options.listUrl) {
56
- const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
57
- requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
58
- }
59
- let keepExistingPermissions = true;
60
- if (args.options.clearExistingPermissions) {
61
- keepExistingPermissions = !args.options.clearExistingPermissions;
62
- }
63
- const requestOptions = {
64
- url: `${requestUrl}/items(${args.options.listItemId})/breakroleinheritance(${keepExistingPermissions})`,
65
- method: 'POST',
66
- headers: {
67
- 'accept': 'application/json;odata=nometadata',
68
- 'content-type': 'application/json'
69
- },
70
- responseType: 'json'
71
- };
72
- yield request_1.default.post(requestOptions);
73
- }
74
- catch (err) {
75
- this.handleRejectedODataJsonPromise(err);
76
- }
77
- });
78
46
  if (args.options.confirm) {
79
- yield breakListItemRoleInheritance();
47
+ yield this.breakListItemRoleInheritance(args.options);
80
48
  }
81
49
  else {
82
50
  const result = yield Cli_1.Cli.prompt({
@@ -86,11 +54,45 @@ class SpoListItemRoleInheritanceBreakCommand extends SpoCommand_1.default {
86
54
  message: `Are you sure you want to break the role inheritance of ${args.options.listItemId} in list ${(_a = args.options.listId) !== null && _a !== void 0 ? _a : args.options.listTitle}?`
87
55
  });
88
56
  if (result.continue) {
89
- yield breakListItemRoleInheritance();
57
+ yield this.breakListItemRoleInheritance(args.options);
90
58
  }
91
59
  }
92
60
  });
93
61
  }
62
+ breakListItemRoleInheritance(options) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ try {
65
+ let requestUrl = `${options.webUrl}/_api/web`;
66
+ if (options.listId) {
67
+ requestUrl += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(options.listId)}')`;
68
+ }
69
+ else if (options.listTitle) {
70
+ requestUrl += `/lists/getbytitle('${formatting_1.formatting.encodeQueryParameter(options.listTitle)}')`;
71
+ }
72
+ else if (options.listUrl) {
73
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(options.webUrl, options.listUrl);
74
+ requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
75
+ }
76
+ let keepExistingPermissions = true;
77
+ if (options.clearExistingPermissions) {
78
+ keepExistingPermissions = !options.clearExistingPermissions;
79
+ }
80
+ const requestOptions = {
81
+ url: `${requestUrl}/items(${options.listItemId})/breakroleinheritance(${keepExistingPermissions})`,
82
+ method: 'POST',
83
+ headers: {
84
+ 'accept': 'application/json;odata=nometadata',
85
+ 'content-type': 'application/json'
86
+ },
87
+ responseType: 'json'
88
+ };
89
+ yield request_1.default.post(requestOptions);
90
+ }
91
+ catch (err) {
92
+ this.handleRejectedODataJsonPromise(err);
93
+ }
94
+ });
95
+ }
94
96
  }
95
97
  _SpoListItemRoleInheritanceBreakCommand_instances = new WeakSet(), _SpoListItemRoleInheritanceBreakCommand_initTelemetry = function _SpoListItemRoleInheritanceBreakCommand_initTelemetry() {
96
98
  this.telemetry.push((args) => {