@pnp/cli-microsoft365 6.10.0 → 6.11.0-beta.259c884
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.
- package/dist/Auth.js +2 -1
- package/dist/Command.js +1 -1
- package/dist/m365/cli/commands/config/config-list.js +29 -0
- package/dist/m365/cli/commands.js +1 -0
- package/dist/m365/pa/commands/app/app-permission-ensure.js +177 -0
- package/dist/m365/pa/commands/app/app-permission-remove.js +170 -0
- package/dist/m365/pa/commands.js +2 -0
- package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
- package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
- package/dist/m365/planner/commands/plan/plan-get.js +1 -2
- package/dist/m365/planner/commands/plan/plan-list.js +4 -5
- package/dist/m365/planner/commands/plan/plan-set.js +2 -2
- package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
- package/dist/m365/spfx/commands/project/project-doctor.js +1 -1
- package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +34 -23
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
- package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
- package/dist/m365/spfx/commands/project/project-upgrade.js +1 -1
- package/dist/m365/spfx/commands/spfx-doctor.js +35 -51
- package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +26 -14
- package/dist/m365/spo/commands/app/app-add.js +9 -9
- package/dist/m365/spo/commands/file/file-add.js +13 -13
- package/dist/m365/spo/commands/file/file-checkin.js +1 -1
- package/dist/m365/spo/commands/file/file-checkout.js +1 -1
- package/dist/m365/spo/commands/file/file-copy.js +38 -4
- package/dist/m365/spo/commands/file/file-list.js +4 -4
- package/dist/m365/spo/commands/file/file-move.js +2 -2
- package/dist/m365/spo/commands/file/file-remove.js +6 -6
- package/dist/m365/spo/commands/file/file-rename.js +2 -2
- package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
- package/dist/m365/spo/commands/file/file-version-get.js +1 -1
- package/dist/m365/spo/commands/file/file-version-list.js +1 -1
- package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
- package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
- package/dist/m365/spo/commands/folder/folder-add.js +2 -4
- package/dist/m365/spo/commands/folder/folder-get.js +1 -1
- package/dist/m365/spo/commands/folder/folder-list.js +2 -2
- package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
- package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
- package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
- package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
- package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
- package/dist/m365/spo/commands/group/group-list.js +0 -1
- package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
- package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +32 -3
- package/dist/m365/spo/commands/page/Page.js +24 -32
- package/dist/m365/spo/commands/propertybag/propertybag-base.js +75 -54
- package/dist/m365/spo/commands/propertybag/propertybag-remove.js +41 -40
- package/dist/m365/spo/commands/site/FlowsPolicy.js +10 -0
- package/dist/m365/spo/commands/site/site-ensure.js +3 -3
- package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +24 -22
- package/dist/m365/spo/commands/site/site-list.js +28 -36
- package/dist/m365/spo/commands/site/site-set.js +52 -39
- package/dist/m365/spo/commands/theme/theme-remove.js +26 -24
- package/dist/m365/spo/commands/theme/theme-set.js +0 -1
- package/dist/m365/spo/commands/user/user-remove.js +29 -27
- package/dist/m365/spo/commands/web/web-reindex.js +17 -20
- package/dist/m365/spo/commands/web/web-remove.js +23 -21
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +45 -52
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +58 -61
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +20 -18
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +21 -19
- package/dist/m365/yammer/commands/message/message-like-set.js +29 -28
- package/dist/m365/yammer/commands/message/message-list.js +9 -26
- package/dist/m365/yammer/commands/message/message-remove.js +20 -18
- package/dist/m365/yammer/commands/yammer-search.js +42 -56
- package/dist/utils/planner.js +6 -3
- package/dist/utils/spo.js +1 -1
- package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
- package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
- package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
- package/docs/docs/cmd/login.mdx +6 -0
- package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
- package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
- package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
- package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
- package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
- package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-move.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
- package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
- package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
- package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
- package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
- package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
- package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
- package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
- package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
- package/npm-shrinkwrap.json +685 -346
- package/package.json +14 -14
|
@@ -36,34 +36,9 @@ class YammerMessageLikeSetCommand extends YammerCommand_1.default {
|
|
|
36
36
|
}
|
|
37
37
|
commandAction(logger, args) {
|
|
38
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const executeLikeAction = () => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const endpoint = `${this.resource}/v1/messages/liked_by/current.json`;
|
|
41
|
-
const requestOptions = {
|
|
42
|
-
url: endpoint,
|
|
43
|
-
headers: {
|
|
44
|
-
accept: 'application/json;odata.metadata=none',
|
|
45
|
-
'content-type': 'application/json;odata=nometadata'
|
|
46
|
-
},
|
|
47
|
-
responseType: 'json',
|
|
48
|
-
data: {
|
|
49
|
-
message_id: args.options.messageId
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
try {
|
|
53
|
-
if (args.options.enable !== false) {
|
|
54
|
-
yield request_1.default.post(requestOptions);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
yield request_1.default.delete(requestOptions);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
this.handleRejectedODataJsonPromise(err);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
39
|
if (args.options.enable === false) {
|
|
65
40
|
if (args.options.confirm) {
|
|
66
|
-
yield executeLikeAction();
|
|
41
|
+
yield this.executeLikeAction(args.options);
|
|
67
42
|
}
|
|
68
43
|
else {
|
|
69
44
|
const messagePrompt = `Are you sure you want to unlike message ${args.options.messageId}?`;
|
|
@@ -74,12 +49,38 @@ class YammerMessageLikeSetCommand extends YammerCommand_1.default {
|
|
|
74
49
|
message: messagePrompt
|
|
75
50
|
});
|
|
76
51
|
if (result.continue) {
|
|
77
|
-
yield executeLikeAction();
|
|
52
|
+
yield this.executeLikeAction(args.options);
|
|
78
53
|
}
|
|
79
54
|
}
|
|
80
55
|
}
|
|
81
56
|
else {
|
|
82
|
-
yield executeLikeAction();
|
|
57
|
+
yield this.executeLikeAction(args.options);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
executeLikeAction(options) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const requestOptions = {
|
|
64
|
+
url: `${this.resource}/v1/messages/liked_by/current.json`,
|
|
65
|
+
headers: {
|
|
66
|
+
accept: 'application/json;odata.metadata=none',
|
|
67
|
+
'content-type': 'application/json;odata=nometadata'
|
|
68
|
+
},
|
|
69
|
+
responseType: 'json',
|
|
70
|
+
data: {
|
|
71
|
+
message_id: options.messageId
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
try {
|
|
75
|
+
if (options.enable !== false) {
|
|
76
|
+
yield request_1.default.post(requestOptions);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
yield request_1.default.delete(requestOptions);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
this.handleRejectedODataJsonPromise(err);
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
}
|
|
@@ -37,7 +37,7 @@ class YammerMessageListCommand extends YammerCommand_1.default {
|
|
|
37
37
|
__classPrivateFieldGet(this, _YammerMessageListCommand_instances, "m", _YammerMessageListCommand_initValidators).call(this);
|
|
38
38
|
}
|
|
39
39
|
getAllItems(logger, args, messageId) {
|
|
40
|
-
return
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
41
|
let endpoint = `${this.resource}/v1`;
|
|
42
42
|
if (args.options.threadId) {
|
|
43
43
|
endpoint += `/messages/in_thread/${args.options.threadId}.json`;
|
|
@@ -95,31 +95,14 @@ class YammerMessageListCommand extends YammerCommand_1.default {
|
|
|
95
95
|
},
|
|
96
96
|
responseType: 'json'
|
|
97
97
|
};
|
|
98
|
-
request_1.default
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
this.items = this.items.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
else {
|
|
107
|
-
if (res.meta.older_available === true) {
|
|
108
|
-
this
|
|
109
|
-
.getAllItems(logger, args, this.items[this.items.length - 1].id)
|
|
110
|
-
.then(() => {
|
|
111
|
-
resolve();
|
|
112
|
-
}, (err) => {
|
|
113
|
-
reject(err);
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
resolve();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}, (err) => {
|
|
121
|
-
reject(err);
|
|
122
|
-
});
|
|
98
|
+
const res = yield request_1.default.get(requestOptions);
|
|
99
|
+
this.items = this.items.concat(res.messages);
|
|
100
|
+
if (args.options.limit && this.items.length > args.options.limit) {
|
|
101
|
+
this.items = this.items.slice(0, args.options.limit);
|
|
102
|
+
}
|
|
103
|
+
else if ((res.meta.older_available === true)) {
|
|
104
|
+
yield this.getAllItems(logger, args, this.items[this.items.length - 1].id);
|
|
105
|
+
}
|
|
123
106
|
});
|
|
124
107
|
}
|
|
125
108
|
commandAction(logger, args) {
|
|
@@ -35,24 +35,8 @@ class YammerMessageRemoveCommand extends YammerCommand_1.default {
|
|
|
35
35
|
}
|
|
36
36
|
commandAction(logger, args) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const removeMessage = () => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
try {
|
|
40
|
-
const requestOptions = {
|
|
41
|
-
url: `${this.resource}/v1/messages/${args.options.id}.json`,
|
|
42
|
-
headers: {
|
|
43
|
-
accept: 'application/json;odata.metadata=none',
|
|
44
|
-
'content-type': 'application/json;odata=nometadata'
|
|
45
|
-
},
|
|
46
|
-
responseType: 'json'
|
|
47
|
-
};
|
|
48
|
-
yield request_1.default.delete(requestOptions);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
this.handleRejectedODataJsonPromise(err);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
38
|
if (args.options.confirm) {
|
|
55
|
-
yield removeMessage();
|
|
39
|
+
yield this.removeMessage(args.options);
|
|
56
40
|
}
|
|
57
41
|
else {
|
|
58
42
|
const result = yield Cli_1.Cli.prompt({
|
|
@@ -62,11 +46,29 @@ class YammerMessageRemoveCommand extends YammerCommand_1.default {
|
|
|
62
46
|
message: `Are you sure you want to remove the Yammer message ${args.options.id}?`
|
|
63
47
|
});
|
|
64
48
|
if (result.continue) {
|
|
65
|
-
yield removeMessage();
|
|
49
|
+
yield this.removeMessage(args.options);
|
|
66
50
|
}
|
|
67
51
|
}
|
|
68
52
|
});
|
|
69
53
|
}
|
|
54
|
+
removeMessage(options) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
try {
|
|
57
|
+
const requestOptions = {
|
|
58
|
+
url: `${this.resource}/v1/messages/${options.id}.json`,
|
|
59
|
+
headers: {
|
|
60
|
+
accept: 'application/json;odata.metadata=none',
|
|
61
|
+
'content-type': 'application/json;odata=nometadata'
|
|
62
|
+
},
|
|
63
|
+
responseType: 'json'
|
|
64
|
+
};
|
|
65
|
+
yield request_1.default.delete(requestOptions);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this.handleRejectedODataJsonPromise(err);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
70
72
|
}
|
|
71
73
|
_YammerMessageRemoveCommand_instances = new WeakSet(), _YammerMessageRemoveCommand_initTelemetry = function _YammerMessageRemoveCommand_initTelemetry() {
|
|
72
74
|
this.telemetry.push((args) => {
|
|
@@ -45,7 +45,7 @@ class YammerSearchCommand extends YammerCommand_1.default {
|
|
|
45
45
|
__classPrivateFieldGet(this, _YammerSearchCommand_instances, "m", _YammerSearchCommand_initValidators).call(this);
|
|
46
46
|
}
|
|
47
47
|
getAllItems(logger, args, page) {
|
|
48
|
-
return
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
49
|
const endpoint = `${this.resource}/v1/search.json?search=${formatting_1.formatting.encodeQueryParameter(args.options.queryText)}&page=${page}`;
|
|
50
50
|
const requestOptions = {
|
|
51
51
|
url: endpoint,
|
|
@@ -54,65 +54,51 @@ class YammerSearchCommand extends YammerCommand_1.default {
|
|
|
54
54
|
accept: 'application/json;odata=nometadata'
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
request_1.default
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (
|
|
74
|
-
this.messages = this.messages.
|
|
75
|
-
if (args.options.limit && this.messages.length > args.options.limit) {
|
|
76
|
-
this.messages = this.messages.slice(0, args.options.limit);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (resultTopics.length > 0) {
|
|
80
|
-
this.topics = this.topics.concat(resultTopics);
|
|
81
|
-
if (args.options.limit && this.topics.length > args.options.limit) {
|
|
82
|
-
this.topics = this.topics.slice(0, args.options.limit);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (resultGroups.length > 0) {
|
|
86
|
-
this.groups = this.groups.concat(resultGroups);
|
|
87
|
-
if (args.options.limit && this.groups.length > args.options.limit) {
|
|
88
|
-
this.groups = this.groups.slice(0, args.options.limit);
|
|
89
|
-
}
|
|
57
|
+
const results = yield request_1.default.get(requestOptions);
|
|
58
|
+
// results count should only read once
|
|
59
|
+
if (page === 1) {
|
|
60
|
+
this.summary = {
|
|
61
|
+
messages: results.count.messages,
|
|
62
|
+
topics: results.count.topics,
|
|
63
|
+
users: results.count.users,
|
|
64
|
+
groups: results.count.groups
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const resultMessages = results.messages.messages;
|
|
68
|
+
const resultTopics = results.topics;
|
|
69
|
+
const resultGroups = results.groups;
|
|
70
|
+
const resultUsers = results.users;
|
|
71
|
+
if (resultMessages.length > 0) {
|
|
72
|
+
this.messages = this.messages.concat(resultMessages);
|
|
73
|
+
if (args.options.limit && this.messages.length > args.options.limit) {
|
|
74
|
+
this.messages = this.messages.slice(0, args.options.limit);
|
|
90
75
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
76
|
+
}
|
|
77
|
+
if (resultTopics.length > 0) {
|
|
78
|
+
this.topics = this.topics.concat(resultTopics);
|
|
79
|
+
if (args.options.limit && this.topics.length > args.options.limit) {
|
|
80
|
+
this.topics = this.topics.slice(0, args.options.limit);
|
|
96
81
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
this
|
|
103
|
-
.getAllItems(logger, args, ++page)
|
|
104
|
-
.then(() => {
|
|
105
|
-
resolve();
|
|
106
|
-
}, (err) => {
|
|
107
|
-
reject(err);
|
|
108
|
-
});
|
|
82
|
+
}
|
|
83
|
+
if (resultGroups.length > 0) {
|
|
84
|
+
this.groups = this.groups.concat(resultGroups);
|
|
85
|
+
if (args.options.limit && this.groups.length > args.options.limit) {
|
|
86
|
+
this.groups = this.groups.slice(0, args.options.limit);
|
|
109
87
|
}
|
|
110
|
-
|
|
111
|
-
|
|
88
|
+
}
|
|
89
|
+
if (resultUsers.length > 0) {
|
|
90
|
+
this.users = this.users.concat(resultUsers);
|
|
91
|
+
if (args.options.limit && this.users.length > args.options.limit) {
|
|
92
|
+
this.users = this.users.slice(0, args.options.limit);
|
|
112
93
|
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
94
|
+
}
|
|
95
|
+
const continueProcessing = resultMessages.length === 20 ||
|
|
96
|
+
resultUsers.length === 20 ||
|
|
97
|
+
resultGroups.length === 20 ||
|
|
98
|
+
resultTopics.length === 20;
|
|
99
|
+
if (continueProcessing) {
|
|
100
|
+
yield this.getAllItems(logger, args, ++page);
|
|
101
|
+
}
|
|
116
102
|
});
|
|
117
103
|
}
|
|
118
104
|
commandAction(logger, args) {
|
package/dist/utils/planner.js
CHANGED
|
@@ -45,11 +45,14 @@ exports.planner = {
|
|
|
45
45
|
return odata_1.odata.getAllItems(`${graphResource}/v1.0/groups/${groupId}/planner/plans`, metadata);
|
|
46
46
|
},
|
|
47
47
|
/**
|
|
48
|
-
* Get
|
|
48
|
+
* Get the Planner plan for a specific Roster.
|
|
49
49
|
* @param rosterId Roster ID.
|
|
50
50
|
*/
|
|
51
|
-
|
|
52
|
-
return
|
|
51
|
+
getPlanByRosterId(rosterId, metadata = 'none') {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const plans = yield odata_1.odata.getAllItems(`${graphResource}/beta/planner/rosters/${rosterId}/plans`, metadata);
|
|
54
|
+
return plans[0];
|
|
55
|
+
});
|
|
53
56
|
},
|
|
54
57
|
/**
|
|
55
58
|
* Get Planner plan by title in a specific group.
|
package/dist/utils/spo.js
CHANGED
|
@@ -306,7 +306,7 @@ exports.spo = {
|
|
|
306
306
|
nextFolder += `/${folders[folderIndex]}`;
|
|
307
307
|
const folderServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(webFullUrl, nextFolder);
|
|
308
308
|
const requestOptions = {
|
|
309
|
-
url: `${webFullUrl}/_api/web/
|
|
309
|
+
url: `${webFullUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting_1.formatting.encodeQueryParameter(folderServerRelativeUrl)}')`,
|
|
310
310
|
headers: {
|
|
311
311
|
'accept': 'application/json;odata=nometadata'
|
|
312
312
|
}
|
|
@@ -87,7 +87,7 @@ If the user with the specified ID or username doesn't exist, or if the specified
|
|
|
87
87
|
Update specific property _department_ of user with id _1caf7dcd-7e83-4c3a-94f7-932a1299c844_
|
|
88
88
|
|
|
89
89
|
```sh
|
|
90
|
-
m365 aad user set --objectId 1caf7dcd-7e83-4c3a-94f7-932a1299c844 --
|
|
90
|
+
m365 aad user set --objectId 1caf7dcd-7e83-4c3a-94f7-932a1299c844 --department IT
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
Update multiple properties of user by name
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import CLISettings from '/docs/_clisettings.mdx';
|
|
2
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
3
|
+
import Tabs from '@theme/Tabs';
|
|
4
|
+
import TabItem from '@theme/TabItem';
|
|
5
|
+
|
|
6
|
+
# cli config list
|
|
7
|
+
|
|
8
|
+
List all self set CLI for Microsoft 365 configurations
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
m365 cli config list [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Options
|
|
17
|
+
|
|
18
|
+
<Global />
|
|
19
|
+
|
|
20
|
+
## Available settings
|
|
21
|
+
|
|
22
|
+
Following is the list of configuration settings available in CLI for Microsoft 365.
|
|
23
|
+
|
|
24
|
+
<CLISettings />
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
List all self set configuration keys with their value
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
m365 cli config list
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Response
|
|
35
|
+
|
|
36
|
+
<Tabs>
|
|
37
|
+
<TabItem value="JSON">
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"errorOutput": "stdout"
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
</TabItem>
|
|
46
|
+
<TabItem value="Text">
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
errorOutput: stdout
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
</TabItem>
|
|
53
|
+
<TabItem value="CSV">
|
|
54
|
+
|
|
55
|
+
```csv
|
|
56
|
+
errorOutput
|
|
57
|
+
stdout
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
</TabItem>
|
|
61
|
+
<TabItem value="Markdown">
|
|
62
|
+
|
|
63
|
+
```md
|
|
64
|
+
# cli config list
|
|
65
|
+
|
|
66
|
+
Date: 29/6/2023
|
|
67
|
+
|
|
68
|
+
Property | Value
|
|
69
|
+
---------|-------
|
|
70
|
+
errorOutput | stdout
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
</TabItem>
|
|
74
|
+
</Tabs>
|
|
75
|
+
|
|
76
|
+
## More information
|
|
77
|
+
|
|
78
|
+
- [Configuring the CLI for Microsoft 365](../../../user-guide/configuring-cli.mdx)
|
|
@@ -44,13 +44,13 @@ If the Power Automate flow with the name you specified doesn't exist, you will g
|
|
|
44
44
|
Enables Power Automate flow owned by the currently signed-in user
|
|
45
45
|
|
|
46
46
|
```sh
|
|
47
|
-
m365 flow enable --
|
|
47
|
+
m365 flow enable --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --name 3989cb59-ce1a-4a5c-bb78-257c5c39381d
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Enables Power Automate flow owned by another user
|
|
51
51
|
|
|
52
52
|
```sh
|
|
53
|
-
m365 flow enable --
|
|
53
|
+
m365 flow enable --environmentName Default-d87a7535-dd31-4437-bfe1-95340acd55c5 --name 3989cb59-ce1a-4a5c-bb78-257c5c39381d --asAdmin
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
## Response
|
package/docs/docs/cmd/login.mdx
CHANGED
|
@@ -157,6 +157,12 @@ Log in to Microsoft 365 using your own Azure AD application that's restricted on
|
|
|
157
157
|
m365 login --appId 31359c7f-bd7e-475c-86db-fdb8c937548c --tenant 31359c7f-bd7e-475c-86db-fdb8c937548a
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
+
Log in to Microsoft 365 using your own Azure AD application and a personal information exchange (.pfx) file
|
|
161
|
+
|
|
162
|
+
```sh
|
|
163
|
+
m365 login --authType certificate --appId 31359c7f-bd7e-475c-86db-fdb8c937548c --tenant 31359c7f-bd7e-475c-86db-fdb8c937548a --certificateFile /Users/user/dev/localhost.pfx --password 'pass@word1'
|
|
164
|
+
```
|
|
165
|
+
|
|
160
166
|
Log in to Microsoft 365 using the interactive browser authentication. Uses the identity of the current user.
|
|
161
167
|
|
|
162
168
|
```sh
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
|
|
3
|
+
# pa app permission ensure
|
|
4
|
+
|
|
5
|
+
Assigns/updates permissions to a Power Apps app
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
m365 pa app permission ensure [options]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
```md definition-list
|
|
16
|
+
`--appName <appName>`
|
|
17
|
+
: The name (GUID) of the Microsoft Power App.
|
|
18
|
+
|
|
19
|
+
`--roleName <roleName>`
|
|
20
|
+
: Permission level given to the app. Valid values: `CanEdit`, `CanView`. Sharing with the entire tenant is only supported with `CanView` role.
|
|
21
|
+
|
|
22
|
+
`--userId [userId]`
|
|
23
|
+
: The Azure AD ID of the user. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
24
|
+
|
|
25
|
+
`--userName [userName]`
|
|
26
|
+
: The user principal name of the user. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
27
|
+
|
|
28
|
+
`--groupId [groupId]`
|
|
29
|
+
: The Azure AD ID of the group. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
30
|
+
|
|
31
|
+
`--groupName [groupName]`
|
|
32
|
+
: The name of the Azure AD group. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
33
|
+
|
|
34
|
+
`--tenant`
|
|
35
|
+
: Share the app with the entire tenant. When specifying this, only `CanView` role is supported. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
36
|
+
|
|
37
|
+
`--sendInvitationMail`
|
|
38
|
+
: When set, an invitation mail will be sent.
|
|
39
|
+
|
|
40
|
+
`--asAdmin`
|
|
41
|
+
: Run the command as admin for apps you don't own.
|
|
42
|
+
|
|
43
|
+
`-e, --environmentName [environmentName]`
|
|
44
|
+
: The name of the environment. Specify only a value when running the command as admin.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
<Global />
|
|
48
|
+
|
|
49
|
+
## Remarks
|
|
50
|
+
|
|
51
|
+
:::note
|
|
52
|
+
|
|
53
|
+
When specifying a value for `groupId` or `groupName`, note that you can only grant permissions to security groups.
|
|
54
|
+
|
|
55
|
+
:::
|
|
56
|
+
|
|
57
|
+
## Examples
|
|
58
|
+
|
|
59
|
+
Share a Power App app with another user with run-only permissions
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
m365 pa app permission ensure --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --userName john.doe@contoso.com --roleName CanView --sendInvitationMail
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Add co-owner permissions for a security group to a Power Apps app
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
m365 pa app permission ensure --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --groupName Developers --roleName CanEdit
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Add permissions as admin to a Power App app that you do not own
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
m365 pa app permission ensure --environment Default-e535e809-c6a1-47b5-8951-d0898a64bf8a --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --userId 42a28ec6-972f-4fdd-b483-50ee4b237f91 --roleName CanEdit --asAdmin
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Share a Power Apps app with everyone in the tenant
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
m365 pa app permission ensure --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --roleName CanView --tenant
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Response
|
|
84
|
+
|
|
85
|
+
The command won't return a response on success.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import Global from '/docs/cmd/_global.mdx';
|
|
2
|
+
|
|
3
|
+
# pa app permission remove
|
|
4
|
+
|
|
5
|
+
Removes permissions to a Power Apps app
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
m365 pa app permission remove [options]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
```md definition-list
|
|
16
|
+
`--appName <appName>`
|
|
17
|
+
: The name (GUID) of the Microsoft Power App.
|
|
18
|
+
|
|
19
|
+
`--userId [userId]`
|
|
20
|
+
: The Azure AD ID of the user. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
21
|
+
|
|
22
|
+
`--userName [userName]`
|
|
23
|
+
: The user principal name of the user. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
24
|
+
|
|
25
|
+
`--groupId [groupId]`
|
|
26
|
+
: The Azure AD ID of the group. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
27
|
+
|
|
28
|
+
`--groupName [groupName]`
|
|
29
|
+
: The name of the Azure AD group. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
30
|
+
|
|
31
|
+
`--tenant`
|
|
32
|
+
: When specifying this, tenant permissions (everyone in the tenant) will be removed. Specify either `userId`, `userName`, `groupId`, `groupName`, or `tenant`.
|
|
33
|
+
|
|
34
|
+
`--asAdmin`
|
|
35
|
+
: Run the command as admin for apps you don't own.
|
|
36
|
+
|
|
37
|
+
`-e, --environmentName [environmentName]`
|
|
38
|
+
: The name of the environment. Specify only a value when running the command as admin.
|
|
39
|
+
|
|
40
|
+
`--confirm`
|
|
41
|
+
: Don't prompt for confirmation.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
<Global />
|
|
45
|
+
|
|
46
|
+
## Examples
|
|
47
|
+
|
|
48
|
+
Remove permissions of a specific user for a specific app
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
m365 pa app permission remove --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --userName john.doe@contoso.com
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Remove permissions of a specific security group for a specific app
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
m365 pa app permission remove --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --groupName Developers
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Removes permissions as administrator for an app which you do not own
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
m365 pa app permission remove --environment Default-e535e809-c6a1-47b5-8951-d0898a64bf8a --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --userId 42a28ec6-972f-4fdd-b483-50ee4b237f91 --asAdmin
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Unshare a Power Apps app with the entire tenant
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
m365 pa app permission remove --appName bc9f0a7e-53df-46af-b669-5888bb2f63d0 --tenant
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Response
|
|
73
|
+
|
|
74
|
+
The command won't return a response on success.
|
|
@@ -32,13 +32,13 @@ m365 pp dataverse table get [options]
|
|
|
32
32
|
List a table for the given environment
|
|
33
33
|
|
|
34
34
|
```sh
|
|
35
|
-
m365 pp dataverse table get
|
|
35
|
+
m365 pp dataverse table get --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser"
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
List a table for the given environment as Admin
|
|
39
39
|
|
|
40
40
|
```sh
|
|
41
|
-
m365 pp dataverse table get
|
|
41
|
+
m365 pp dataverse table get --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser" --asAdmin
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
## Response
|
|
@@ -29,13 +29,13 @@ m365 pp dataverse table list [options]
|
|
|
29
29
|
List all tables for the given environment
|
|
30
30
|
|
|
31
31
|
```sh
|
|
32
|
-
m365 pp dataverse table list
|
|
32
|
+
m365 pp dataverse table list --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339"
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
List all tables for the given environment as Admin
|
|
36
36
|
|
|
37
37
|
```sh
|
|
38
|
-
m365 pp dataverse table list
|
|
38
|
+
m365 pp dataverse table list --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --asAdmin
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
## Response
|
|
@@ -33,19 +33,19 @@ m365 pp dataverse table remove [options]
|
|
|
33
33
|
Removes a dataverse table in a given environment
|
|
34
34
|
|
|
35
35
|
```sh
|
|
36
|
-
m365 pp dataverse table remove
|
|
36
|
+
m365 pp dataverse table remove --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser"
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Removes a dataverse table in a given environment as Admin
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
|
-
m365 pp dataverse table remove
|
|
42
|
+
m365 pp dataverse table remove --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser" --asAdmin
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Removes a dataverse table in a given environment without prompting for confirmation
|
|
46
46
|
|
|
47
47
|
```sh
|
|
48
|
-
m365 pp dataverse table remove
|
|
48
|
+
m365 pp dataverse table remove --environment "Default-2ca3eaa5-140f-4175-8261-3272edf9f339" --name "aaduser" --confirm
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
## Response
|