@pnp/cli-microsoft365 6.1.0-beta.c68d208 → 6.1.0-beta.d3a109a
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/m365/aad/commands/group/group-get.js +79 -0
- package/dist/m365/aad/commands.js +1 -0
- package/dist/m365/context/commands/context-remove.js +103 -0
- package/dist/m365/context/commands.js +2 -1
- package/dist/m365/pp/commands/environment/environment-get.js +5 -13
- package/dist/m365/purview/commands/retentionlabel/retentionlabel-set.js +142 -0
- package/dist/m365/purview/commands.js +2 -1
- package/dist/m365/search/commands/externalconnection/externalconnection-schema-add.js +86 -0
- package/dist/m365/search/commands.js +2 -1
- package/dist/m365/spo/commands/group/group-member-add.js +68 -30
- package/dist/m365/spo/commands/group/group-member-remove.js +50 -7
- package/dist/m365/spo/commands/list/{list-retentionlabel-set.js → list-retentionlabel-ensure.js} +21 -15
- package/dist/m365/spo/commands/listitem/listitem-remove.js +1 -1
- package/dist/m365/spo/commands/listitem/listitem-retentionlabel-remove.js +143 -0
- package/dist/m365/spo/commands/page/page-add.js +60 -63
- package/dist/m365/spo/commands/page/page-set.js +59 -70
- package/dist/m365/spo/commands/site/site-appcatalog-list.js +43 -0
- package/dist/m365/spo/commands.js +3 -1
- package/dist/request.js +2 -1
- package/docs/docs/cmd/aad/group/group-get.md +127 -0
- package/docs/docs/cmd/context/context-remove.md +34 -0
- package/docs/docs/cmd/pp/environment/environment-get.md +9 -3
- package/docs/docs/cmd/purview/retentionlabel/retentionlabel-set.md +63 -0
- package/docs/docs/cmd/search/externalconnection/externalconnection-schema-add.md +31 -0
- package/docs/docs/cmd/spo/group/group-member-add.md +58 -6
- package/docs/docs/cmd/spo/group/group-member-remove.md +24 -8
- package/docs/docs/cmd/spo/list/list-retentionlabel-ensure.md +65 -0
- package/docs/docs/cmd/spo/listitem/listitem-remove.md +6 -6
- package/docs/docs/cmd/spo/listitem/listitem-retentionlabel-remove.md +55 -0
- package/docs/docs/cmd/spo/site/site-appcatalog-list.md +55 -0
- package/package.json +1 -1
- package/docs/docs/cmd/spo/list/list-retentionlabel-set.md +0 -65
|
@@ -19,6 +19,7 @@ const Cli_1 = require("../../../../cli/Cli");
|
|
|
19
19
|
const request_1 = require("../../../../request");
|
|
20
20
|
const formatting_1 = require("../../../../utils/formatting");
|
|
21
21
|
const validation_1 = require("../../../../utils/validation");
|
|
22
|
+
const AadUserGetCommand = require("../../../aad/commands/user/user-get");
|
|
22
23
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
23
24
|
const commands_1 = require("../../commands");
|
|
24
25
|
class SpoGroupMemberRemoveCommand extends SpoCommand_1.default {
|
|
@@ -36,16 +37,42 @@ class SpoGroupMemberRemoveCommand extends SpoCommand_1.default {
|
|
|
36
37
|
__classPrivateFieldGet(this, _SpoGroupMemberRemoveCommand_instances, "m", _SpoGroupMemberRemoveCommand_initValidators).call(this);
|
|
37
38
|
__classPrivateFieldGet(this, _SpoGroupMemberRemoveCommand_instances, "m", _SpoGroupMemberRemoveCommand_initOptionSets).call(this);
|
|
38
39
|
}
|
|
40
|
+
getUserName(logger, args) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (args.options.userName) {
|
|
43
|
+
return args.options.userName;
|
|
44
|
+
}
|
|
45
|
+
if (this.verbose) {
|
|
46
|
+
logger.logToStderr(`Retrieving information about the user ${args.options.email}`);
|
|
47
|
+
}
|
|
48
|
+
const options = {
|
|
49
|
+
email: args.options.email,
|
|
50
|
+
output: 'json',
|
|
51
|
+
debug: args.options.debug,
|
|
52
|
+
verbose: args.options.verbose
|
|
53
|
+
};
|
|
54
|
+
const userGetOutput = yield Cli_1.Cli.executeCommandWithOutput(AadUserGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
|
|
55
|
+
const userOutput = JSON.parse(userGetOutput.stdout);
|
|
56
|
+
return userOutput.userPrincipalName;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
39
59
|
commandAction(logger, args) {
|
|
40
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
61
|
const removeUserfromSPGroup = () => __awaiter(this, void 0, void 0, function* () {
|
|
42
62
|
if (this.verbose) {
|
|
43
|
-
logger.logToStderr(`Removing User
|
|
63
|
+
logger.logToStderr(`Removing User ${args.options.userName || args.options.email || args.options.userId} from Group: ${args.options.groupId ? args.options.groupId : args.options.groupName}`);
|
|
44
64
|
}
|
|
45
|
-
|
|
46
|
-
const requestUrl = `${args.options.webUrl}/_api/web/sitegroups/${args.options.groupId
|
|
65
|
+
let requestUrl = `${args.options.webUrl}/_api/web/sitegroups/${args.options.groupId
|
|
47
66
|
? `GetById('${args.options.groupId}')`
|
|
48
|
-
: `GetByName('${formatting_1.formatting.encodeQueryParameter(args.options.groupName)}')`}
|
|
67
|
+
: `GetByName('${formatting_1.formatting.encodeQueryParameter(args.options.groupName)}')`}`;
|
|
68
|
+
if (args.options.userId) {
|
|
69
|
+
requestUrl += `/users/removeById(${args.options.userId})`;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const userName = yield this.getUserName(logger, args);
|
|
73
|
+
const loginName = `i:0#.f|membership|${userName}`;
|
|
74
|
+
requestUrl += `/users/removeByLoginName(@LoginName)?@LoginName='${formatting_1.formatting.encodeQueryParameter(loginName)}'`;
|
|
75
|
+
}
|
|
49
76
|
const requestOptions = {
|
|
50
77
|
url: requestUrl,
|
|
51
78
|
headers: {
|
|
@@ -71,7 +98,7 @@ class SpoGroupMemberRemoveCommand extends SpoCommand_1.default {
|
|
|
71
98
|
type: 'confirm',
|
|
72
99
|
name: 'continue',
|
|
73
100
|
default: false,
|
|
74
|
-
message: `Are you sure you want to remove user
|
|
101
|
+
message: `Are you sure you want to remove user ${args.options.userName || args.options.userId || args.options.email} from the SharePoint group?`
|
|
75
102
|
});
|
|
76
103
|
if (result.continue) {
|
|
77
104
|
yield removeUserfromSPGroup();
|
|
@@ -85,6 +112,9 @@ _SpoGroupMemberRemoveCommand_instances = new WeakSet(), _SpoGroupMemberRemoveCom
|
|
|
85
112
|
Object.assign(this.telemetryProperties, {
|
|
86
113
|
groupId: (!(!args.options.groupId)).toString(),
|
|
87
114
|
groupName: (!(!args.options.groupName)).toString(),
|
|
115
|
+
userName: (!(!args.options.userName)).toString(),
|
|
116
|
+
email: (!(!args.options.email)).toString(),
|
|
117
|
+
userId: (!(!args.options.userId)).toString(),
|
|
88
118
|
confirm: (!(!args.options.confirm)).toString()
|
|
89
119
|
});
|
|
90
120
|
});
|
|
@@ -96,7 +126,11 @@ _SpoGroupMemberRemoveCommand_instances = new WeakSet(), _SpoGroupMemberRemoveCom
|
|
|
96
126
|
}, {
|
|
97
127
|
option: '--groupName [groupName]'
|
|
98
128
|
}, {
|
|
99
|
-
option: '--userName
|
|
129
|
+
option: '--userName [userName]'
|
|
130
|
+
}, {
|
|
131
|
+
option: '--email [email]'
|
|
132
|
+
}, {
|
|
133
|
+
option: '--userId [userId]'
|
|
100
134
|
}, {
|
|
101
135
|
option: '--confirm'
|
|
102
136
|
});
|
|
@@ -105,10 +139,19 @@ _SpoGroupMemberRemoveCommand_instances = new WeakSet(), _SpoGroupMemberRemoveCom
|
|
|
105
139
|
if (args.options.groupId && isNaN(args.options.groupId)) {
|
|
106
140
|
return `Specified "groupId" ${args.options.groupId} is not valid`;
|
|
107
141
|
}
|
|
142
|
+
if (args.options.userId && isNaN(args.options.userId)) {
|
|
143
|
+
return `Specified "userId" ${args.options.userId} is not valid`;
|
|
144
|
+
}
|
|
145
|
+
if (args.options.userName && !validation_1.validation.isValidUserPrincipalName(args.options.userName)) {
|
|
146
|
+
return `${args.options.userName} is not a valid userName`;
|
|
147
|
+
}
|
|
148
|
+
if (args.options.email && !validation_1.validation.isValidUserPrincipalName(args.options.email)) {
|
|
149
|
+
return `${args.options.email} is not a valid email`;
|
|
150
|
+
}
|
|
108
151
|
return validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
109
152
|
}));
|
|
110
153
|
}, _SpoGroupMemberRemoveCommand_initOptionSets = function _SpoGroupMemberRemoveCommand_initOptionSets() {
|
|
111
|
-
this.optionSets.push({ options: ['groupName', 'groupId'] });
|
|
154
|
+
this.optionSets.push({ options: ['groupName', 'groupId'] }, { options: ['userName', 'email', 'userId'] });
|
|
112
155
|
};
|
|
113
156
|
module.exports = new SpoGroupMemberRemoveCommand();
|
|
114
157
|
//# sourceMappingURL=group-member-remove.js.map
|
package/dist/m365/spo/commands/list/{list-retentionlabel-set.js → list-retentionlabel-ensure.js}
RENAMED
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
14
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
15
|
};
|
|
16
|
-
var
|
|
16
|
+
var _SpoListRetentionLabelEnsureCommand_instances, _SpoListRetentionLabelEnsureCommand_initTelemetry, _SpoListRetentionLabelEnsureCommand_initOptions, _SpoListRetentionLabelEnsureCommand_initValidators, _SpoListRetentionLabelEnsureCommand_initOptionSets;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const request_1 = require("../../../../request");
|
|
19
19
|
const formatting_1 = require("../../../../utils/formatting");
|
|
@@ -21,9 +21,9 @@ const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
|
21
21
|
const validation_1 = require("../../../../utils/validation");
|
|
22
22
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
23
23
|
const commands_1 = require("../../commands");
|
|
24
|
-
class
|
|
24
|
+
class SpoListRetentionLabelEnsureCommand extends SpoCommand_1.default {
|
|
25
25
|
get name() {
|
|
26
|
-
return commands_1.default.
|
|
26
|
+
return commands_1.default.LIST_RETENTIONLABEL_ENSURE;
|
|
27
27
|
}
|
|
28
28
|
alias() {
|
|
29
29
|
return [commands_1.default.LIST_LABEL_SET];
|
|
@@ -33,15 +33,21 @@ class SpoListRetentionLabelSetCommand extends SpoCommand_1.default {
|
|
|
33
33
|
}
|
|
34
34
|
constructor() {
|
|
35
35
|
super();
|
|
36
|
-
|
|
37
|
-
__classPrivateFieldGet(this,
|
|
38
|
-
__classPrivateFieldGet(this,
|
|
39
|
-
__classPrivateFieldGet(this,
|
|
40
|
-
__classPrivateFieldGet(this,
|
|
36
|
+
_SpoListRetentionLabelEnsureCommand_instances.add(this);
|
|
37
|
+
__classPrivateFieldGet(this, _SpoListRetentionLabelEnsureCommand_instances, "m", _SpoListRetentionLabelEnsureCommand_initTelemetry).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _SpoListRetentionLabelEnsureCommand_instances, "m", _SpoListRetentionLabelEnsureCommand_initOptions).call(this);
|
|
39
|
+
__classPrivateFieldGet(this, _SpoListRetentionLabelEnsureCommand_instances, "m", _SpoListRetentionLabelEnsureCommand_initValidators).call(this);
|
|
40
|
+
__classPrivateFieldGet(this, _SpoListRetentionLabelEnsureCommand_instances, "m", _SpoListRetentionLabelEnsureCommand_initOptionSets).call(this);
|
|
41
41
|
}
|
|
42
42
|
commandAction(logger, args) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
this.showDeprecationWarning(logger, commands_1.default.LIST_LABEL_SET, commands_1.default.
|
|
44
|
+
this.showDeprecationWarning(logger, commands_1.default.LIST_LABEL_SET, commands_1.default.LIST_RETENTIONLABEL_ENSURE);
|
|
45
|
+
if (args.options.blockDelete) {
|
|
46
|
+
this.warn(logger, `Option 'blockDelete' is deprecated.`);
|
|
47
|
+
}
|
|
48
|
+
if (args.options.blockEdit) {
|
|
49
|
+
this.warn(logger, `Option 'blockEdit' is deprecated.`);
|
|
50
|
+
}
|
|
45
51
|
try {
|
|
46
52
|
let listRestUrl = '';
|
|
47
53
|
let listServerRelativeUrl = '';
|
|
@@ -90,7 +96,7 @@ class SpoListRetentionLabelSetCommand extends SpoCommand_1.default {
|
|
|
90
96
|
});
|
|
91
97
|
}
|
|
92
98
|
}
|
|
93
|
-
|
|
99
|
+
_SpoListRetentionLabelEnsureCommand_instances = new WeakSet(), _SpoListRetentionLabelEnsureCommand_initTelemetry = function _SpoListRetentionLabelEnsureCommand_initTelemetry() {
|
|
94
100
|
this.telemetry.push((args) => {
|
|
95
101
|
Object.assign(this.telemetryProperties, {
|
|
96
102
|
listId: (!(!args.options.listId)).toString(),
|
|
@@ -101,7 +107,7 @@ _SpoListRetentionLabelSetCommand_instances = new WeakSet(), _SpoListRetentionLab
|
|
|
101
107
|
blockEdit: args.options.blockEdit || false
|
|
102
108
|
});
|
|
103
109
|
});
|
|
104
|
-
},
|
|
110
|
+
}, _SpoListRetentionLabelEnsureCommand_initOptions = function _SpoListRetentionLabelEnsureCommand_initOptions() {
|
|
105
111
|
this.options.unshift({
|
|
106
112
|
option: '-u, --webUrl <webUrl>'
|
|
107
113
|
}, {
|
|
@@ -119,15 +125,15 @@ _SpoListRetentionLabelSetCommand_instances = new WeakSet(), _SpoListRetentionLab
|
|
|
119
125
|
}, {
|
|
120
126
|
option: '--blockEdit'
|
|
121
127
|
});
|
|
122
|
-
},
|
|
128
|
+
}, _SpoListRetentionLabelEnsureCommand_initValidators = function _SpoListRetentionLabelEnsureCommand_initValidators() {
|
|
123
129
|
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
124
130
|
if (args.options.listId && !validation_1.validation.isValidGuid(args.options.listId)) {
|
|
125
131
|
return `${args.options.listId} is not a valid GUID`;
|
|
126
132
|
}
|
|
127
133
|
return validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
128
134
|
}));
|
|
129
|
-
},
|
|
135
|
+
}, _SpoListRetentionLabelEnsureCommand_initOptionSets = function _SpoListRetentionLabelEnsureCommand_initOptionSets() {
|
|
130
136
|
this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
|
|
131
137
|
};
|
|
132
|
-
module.exports = new
|
|
133
|
-
//# sourceMappingURL=list-retentionlabel-
|
|
138
|
+
module.exports = new SpoListRetentionLabelEnsureCommand();
|
|
139
|
+
//# sourceMappingURL=list-retentionlabel-ensure.js.map
|
|
@@ -41,7 +41,7 @@ class SpoListItemRemoveCommand extends SpoCommand_1.default {
|
|
|
41
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
42
|
const removeListItem = () => __awaiter(this, void 0, void 0, function* () {
|
|
43
43
|
if (this.verbose) {
|
|
44
|
-
logger.logToStderr(`Removing list from list ${args.options.listId || args.options.listTitle || args.options.listUrl}
|
|
44
|
+
logger.logToStderr(`Removing list item ${args.options.id} from list ${args.options.listId || args.options.listTitle || args.options.listUrl} in site at ${args.options.webUrl}...`);
|
|
45
45
|
}
|
|
46
46
|
let requestUrl = `${args.options.webUrl}/_api/web`;
|
|
47
47
|
if (args.options.listId) {
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
14
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _SpoListItemRetentionLabelRemoveCommand_instances, _SpoListItemRetentionLabelRemoveCommand_initTelemetry, _SpoListItemRetentionLabelRemoveCommand_initOptions, _SpoListItemRetentionLabelRemoveCommand_initValidators, _SpoListItemRetentionLabelRemoveCommand_initOptionSets;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
19
|
+
const request_1 = require("../../../../request");
|
|
20
|
+
const formatting_1 = require("../../../../utils/formatting");
|
|
21
|
+
const urlUtil_1 = require("../../../../utils/urlUtil");
|
|
22
|
+
const validation_1 = require("../../../../utils/validation");
|
|
23
|
+
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
24
|
+
const commands_1 = require("../../commands");
|
|
25
|
+
class SpoListItemRetentionLabelRemoveCommand extends SpoCommand_1.default {
|
|
26
|
+
get name() {
|
|
27
|
+
return commands_1.default.LISTITEM_RETENTIONLABEL_REMOVE;
|
|
28
|
+
}
|
|
29
|
+
get description() {
|
|
30
|
+
return 'Clear the retention label from a list item';
|
|
31
|
+
}
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
_SpoListItemRetentionLabelRemoveCommand_instances.add(this);
|
|
35
|
+
__classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initTelemetry).call(this);
|
|
36
|
+
__classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initOptions).call(this);
|
|
37
|
+
__classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initValidators).call(this);
|
|
38
|
+
__classPrivateFieldGet(this, _SpoListItemRetentionLabelRemoveCommand_instances, "m", _SpoListItemRetentionLabelRemoveCommand_initOptionSets).call(this);
|
|
39
|
+
}
|
|
40
|
+
commandAction(logger, args) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (args.options.confirm) {
|
|
43
|
+
yield this.removeListItemRetentionLabel(logger, args);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const result = yield Cli_1.Cli.prompt({
|
|
47
|
+
type: 'confirm',
|
|
48
|
+
name: 'continue',
|
|
49
|
+
default: false,
|
|
50
|
+
message: `Are you sure you want to remove the retentionlabel from list item ${args.options.listItemId} from list ${args.options.listId || args.options.listTitle || args.options.listUrl} located in site ${args.options.webUrl}?`
|
|
51
|
+
});
|
|
52
|
+
if (result.continue) {
|
|
53
|
+
yield this.removeListItemRetentionLabel(logger, args);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
removeListItemRetentionLabel(logger, args) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
if (this.verbose) {
|
|
61
|
+
logger.logToStderr(`Removing retention label from list ${args.options.listId || args.options.listTitle || args.options.listUrl} in site at ${args.options.webUrl}...`);
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
let url = `${args.options.webUrl}/_api/web`;
|
|
65
|
+
if (args.options.listId) {
|
|
66
|
+
url += `/lists(guid'${formatting_1.formatting.encodeQueryParameter(args.options.listId)}')/items(${args.options.listItemId})/SetComplianceTag()`;
|
|
67
|
+
}
|
|
68
|
+
else if (args.options.listTitle) {
|
|
69
|
+
url += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(args.options.listTitle)}')/items(${args.options.listItemId})/SetComplianceTag()`;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.listUrl);
|
|
73
|
+
url += `/GetList(@a1)/items(@a2)/SetComplianceTag()?@a1='${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}'&@a2='${args.options.listItemId}'`;
|
|
74
|
+
}
|
|
75
|
+
const requestBody = {
|
|
76
|
+
"complianceTag": "",
|
|
77
|
+
"isTagPolicyHold": false,
|
|
78
|
+
"isTagPolicyRecord": false,
|
|
79
|
+
"isEventBasedTag": false,
|
|
80
|
+
"isTagSuperLock": false,
|
|
81
|
+
"isUnlockedAsDefault": false
|
|
82
|
+
};
|
|
83
|
+
const requestOptions = {
|
|
84
|
+
url: url,
|
|
85
|
+
method: 'POST',
|
|
86
|
+
headers: {
|
|
87
|
+
'accept': 'application/json;odata=nometadata'
|
|
88
|
+
},
|
|
89
|
+
data: requestBody,
|
|
90
|
+
responseType: 'json'
|
|
91
|
+
};
|
|
92
|
+
yield request_1.default.post(requestOptions);
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
this.handleRejectedODataJsonPromise(err);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
_SpoListItemRetentionLabelRemoveCommand_instances = new WeakSet(), _SpoListItemRetentionLabelRemoveCommand_initTelemetry = function _SpoListItemRetentionLabelRemoveCommand_initTelemetry() {
|
|
101
|
+
this.telemetry.push((args) => {
|
|
102
|
+
Object.assign(this.telemetryProperties, {
|
|
103
|
+
listId: typeof args.options.listId !== 'undefined',
|
|
104
|
+
listTitle: typeof args.options.listTitle !== 'undefined',
|
|
105
|
+
listUrl: typeof args.options.listUrl !== 'undefined',
|
|
106
|
+
confirm: !!args.options.confirm
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}, _SpoListItemRetentionLabelRemoveCommand_initOptions = function _SpoListItemRetentionLabelRemoveCommand_initOptions() {
|
|
110
|
+
this.options.unshift({
|
|
111
|
+
option: '-u, --webUrl <webUrl>'
|
|
112
|
+
}, {
|
|
113
|
+
option: '-i, --listItemId <listItemId>'
|
|
114
|
+
}, {
|
|
115
|
+
option: '-l, --listId [listId]'
|
|
116
|
+
}, {
|
|
117
|
+
option: '-t, --listTitle [listTitle]'
|
|
118
|
+
}, {
|
|
119
|
+
option: '--listUrl [listUrl]'
|
|
120
|
+
}, {
|
|
121
|
+
option: '--confirm'
|
|
122
|
+
});
|
|
123
|
+
}, _SpoListItemRetentionLabelRemoveCommand_initValidators = function _SpoListItemRetentionLabelRemoveCommand_initValidators() {
|
|
124
|
+
this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
const id = parseInt(args.options.listItemId);
|
|
126
|
+
if (isNaN(id)) {
|
|
127
|
+
return `${args.options.listItemId} is not a valid list item ID`;
|
|
128
|
+
}
|
|
129
|
+
const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
|
|
130
|
+
if (isValidSharePointUrl !== true) {
|
|
131
|
+
return isValidSharePointUrl;
|
|
132
|
+
}
|
|
133
|
+
if (args.options.listId &&
|
|
134
|
+
!validation_1.validation.isValidGuid(args.options.listId)) {
|
|
135
|
+
return `${args.options.listId} is not a valid GUID`;
|
|
136
|
+
}
|
|
137
|
+
return true;
|
|
138
|
+
}));
|
|
139
|
+
}, _SpoListItemRetentionLabelRemoveCommand_initOptionSets = function _SpoListItemRetentionLabelRemoveCommand_initOptionSets() {
|
|
140
|
+
this.optionSets.push({ options: ['listId', 'listTitle', 'listUrl'] });
|
|
141
|
+
};
|
|
142
|
+
module.exports = new SpoListItemRetentionLabelRemoveCommand();
|
|
143
|
+
//# sourceMappingURL=listitem-retentionlabel-remove.js.map
|
|
@@ -24,6 +24,9 @@ const validation_1 = require("../../../../utils/validation");
|
|
|
24
24
|
const SpoCommand_1 = require("../../../base/SpoCommand");
|
|
25
25
|
const commands_1 = require("../../commands");
|
|
26
26
|
const Page_1 = require("./Page");
|
|
27
|
+
const spoFileGetCommand = require("../file/file-get");
|
|
28
|
+
const spoListItemSetCommand = require("../listitem/listitem-set");
|
|
29
|
+
const Cli_1 = require("../../../../cli/Cli");
|
|
27
30
|
class SpoPageAddCommand extends SpoCommand_1.default {
|
|
28
31
|
get name() {
|
|
29
32
|
return commands_1.default.PAGE_ADD;
|
|
@@ -52,12 +55,14 @@ class SpoPageAddCommand extends SpoCommand_1.default {
|
|
|
52
55
|
const pageTitle = args.options.title ? args.options.title : (args.options.name.indexOf('.aspx') > -1 ? args.options.name.substr(0, args.options.name.indexOf('.aspx')) : args.options.name);
|
|
53
56
|
let pageId = null;
|
|
54
57
|
const pageDescription = args.options.description || "";
|
|
58
|
+
if (!pageName.endsWith('.aspx')) {
|
|
59
|
+
pageName += '.aspx';
|
|
60
|
+
}
|
|
61
|
+
const listServerRelativeUrl = `${urlUtil_1.urlUtil.getServerRelativeSiteUrl(args.options.webUrl)}/sitepages`;
|
|
62
|
+
const serverRelativeFileUrl = `${listServerRelativeUrl}/${pageName}`;
|
|
55
63
|
try {
|
|
56
64
|
const reqDigest = yield spo_1.spo.getRequestDigest(args.options.webUrl);
|
|
57
65
|
requestDigest = reqDigest.FormDigestValue;
|
|
58
|
-
if (!pageName.endsWith('.aspx')) {
|
|
59
|
-
pageName += '.aspx';
|
|
60
|
-
}
|
|
61
66
|
let requestOptions = {
|
|
62
67
|
url: `${args.options.webUrl}/_api/web/getfolderbyserverrelativeurl('${serverRelativeSiteUrl}/sitepages')/files/AddTemplateFile`,
|
|
63
68
|
headers: {
|
|
@@ -73,32 +78,25 @@ class SpoPageAddCommand extends SpoCommand_1.default {
|
|
|
73
78
|
};
|
|
74
79
|
const template = yield request_1.default.post(requestOptions);
|
|
75
80
|
itemId = template.UniqueId;
|
|
81
|
+
const listItemId = yield this.getFileListItemId(args.options.webUrl, serverRelativeFileUrl);
|
|
76
82
|
const layoutType = args.options.layoutType || 'Article';
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
Title: pageTitle,
|
|
89
|
-
ClientSideApplicationId: 'b6917cb1-93a0-4b97-a84d-7cf49975d4ec',
|
|
90
|
-
PageLayoutType: layoutType
|
|
91
|
-
},
|
|
92
|
-
responseType: 'json'
|
|
83
|
+
const listItemSetOptions = {
|
|
84
|
+
webUrl: args.options.webUrl,
|
|
85
|
+
listUrl: listServerRelativeUrl,
|
|
86
|
+
id: listItemId,
|
|
87
|
+
systemUpdate: true,
|
|
88
|
+
ContentTypeId: '0x0101009D1CB255DA76424F860D91F20E6C4118',
|
|
89
|
+
Title: pageTitle,
|
|
90
|
+
ClientSideApplicationId: 'b6917cb1-93a0-4b97-a84d-7cf49975d4ec',
|
|
91
|
+
PageLayoutType: layoutType,
|
|
92
|
+
verbose: this.verbose,
|
|
93
|
+
debug: this.debug
|
|
93
94
|
};
|
|
94
|
-
if (layoutType === 'Article') {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
Description: '/_layouts/15/images/sitepagethumbnail.png',
|
|
98
|
-
Url: `${resource}/_layouts/15/images/sitepagethumbnail.png`
|
|
99
|
-
};
|
|
95
|
+
if (args.options.layoutType === 'Article') {
|
|
96
|
+
listItemSetOptions.PromotedState = 0;
|
|
97
|
+
listItemSetOptions.BannerImageUrl = `${resource}/_layouts/15/images/sitepagethumbnail.png, /_layouts/15/images/sitepagethumbnail.png`;
|
|
100
98
|
}
|
|
101
|
-
yield
|
|
99
|
+
yield Cli_1.Cli.executeCommand(spoListItemSetCommand, { options: Object.assign(Object.assign({}, listItemSetOptions), { _: [] }) });
|
|
102
100
|
const pageProps = yield Page_1.Page.checkout(pageName, args.options.webUrl, logger, this.debug, this.verbose);
|
|
103
101
|
if (pageProps) {
|
|
104
102
|
pageId = pageProps.Id;
|
|
@@ -123,58 +121,43 @@ class SpoPageAddCommand extends SpoCommand_1.default {
|
|
|
123
121
|
requestOptions.data = {
|
|
124
122
|
WelcomePage: `SitePages/${pageName}`
|
|
125
123
|
};
|
|
124
|
+
yield request_1.default.post(requestOptions);
|
|
126
125
|
break;
|
|
127
126
|
case 'NewsPage':
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
'content-type': 'application/json;odata=nometadata',
|
|
134
|
-
accept: 'application/json;odata=nometadata'
|
|
135
|
-
};
|
|
136
|
-
requestOptions.data = {
|
|
127
|
+
const listItemSetOptions = {
|
|
128
|
+
webUrl: args.options.webUrl,
|
|
129
|
+
listUrl: listServerRelativeUrl,
|
|
130
|
+
id: listItemId,
|
|
131
|
+
systemUpdate: true,
|
|
137
132
|
PromotedState: 2,
|
|
138
|
-
FirstPublishedDate: new Date().toISOString()
|
|
133
|
+
FirstPublishedDate: new Date().toISOString(),
|
|
134
|
+
verbose: this.verbose,
|
|
135
|
+
debug: this.debug
|
|
139
136
|
};
|
|
137
|
+
yield Cli_1.Cli.executeCommand(spoListItemSetCommand, { options: Object.assign(Object.assign({}, listItemSetOptions), { _: [] }) });
|
|
140
138
|
break;
|
|
141
139
|
case 'Template':
|
|
142
|
-
requestOptions.url = `${args.options.webUrl}/_api/
|
|
140
|
+
requestOptions.url = `${args.options.webUrl}/_api/SitePages/Pages(${listItemId})/SavePageAsTemplate`;
|
|
143
141
|
requestOptions.headers = {
|
|
144
|
-
'X-RequestDigest': requestDigest,
|
|
145
|
-
'content-type': 'application/json;odata=nometadata',
|
|
146
|
-
accept: 'application/json;odata=nometadata'
|
|
147
|
-
};
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
const res = yield request_1.default.post(requestOptions);
|
|
151
|
-
if (args.options.promoteAs === 'Template') {
|
|
152
|
-
let requestOptions = {
|
|
153
|
-
responseType: 'json',
|
|
154
|
-
url: `${args.options.webUrl}/_api/SitePages/Pages(${res.Id})/SavePageAsTemplate`,
|
|
155
|
-
headers: {
|
|
156
142
|
'X-RequestDigest': requestDigest,
|
|
157
143
|
'content-type': 'application/json;odata=nometadata',
|
|
158
144
|
'X-HTTP-Method': 'POST',
|
|
159
145
|
'IF-MATCH': '*',
|
|
160
146
|
accept: 'application/json;odata=nometadata'
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
url: `${args.options.webUrl}/_api/web/getfilebyid('${tmpl.UniqueId}')/ListItemAllFields/SetCommentsDisabled(${!args.options.commentsEnabled})`,
|
|
170
|
-
headers: {
|
|
147
|
+
};
|
|
148
|
+
const tmpl = yield request_1.default.post(requestOptions);
|
|
149
|
+
bannerImageUrl = tmpl.BannerImageUrl;
|
|
150
|
+
canvasContent1 = tmpl.CanvasContent1;
|
|
151
|
+
layoutWebpartsContent = tmpl.LayoutWebpartsContent;
|
|
152
|
+
pageId = tmpl.Id;
|
|
153
|
+
requestOptions.url = `${args.options.webUrl}/_api/web/getfilebyid('${tmpl.UniqueId}')/ListItemAllFields/SetCommentsDisabled(${!args.options.commentsEnabled})`;
|
|
154
|
+
requestOptions.headers = {
|
|
171
155
|
'X-RequestDigest': requestDigest,
|
|
172
156
|
'content-type': 'application/json;odata=nometadata',
|
|
173
157
|
accept: 'application/json;odata=nometadata'
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
yield request_1.default.post(requestOptions);
|
|
158
|
+
};
|
|
159
|
+
yield request_1.default.post(requestOptions);
|
|
160
|
+
break;
|
|
178
161
|
}
|
|
179
162
|
}
|
|
180
163
|
requestOptions = {
|
|
@@ -263,6 +246,20 @@ class SpoPageAddCommand extends SpoCommand_1.default {
|
|
|
263
246
|
}
|
|
264
247
|
});
|
|
265
248
|
}
|
|
249
|
+
getFileListItemId(webUrl, serverRelativeFileUrl) {
|
|
250
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
251
|
+
const fileGetOptions = {
|
|
252
|
+
webUrl: webUrl,
|
|
253
|
+
url: serverRelativeFileUrl,
|
|
254
|
+
asListItem: true,
|
|
255
|
+
verbose: this.verbose,
|
|
256
|
+
debug: this.debug
|
|
257
|
+
};
|
|
258
|
+
const fileGetOutput = yield Cli_1.Cli.executeCommandWithOutput(spoFileGetCommand, { options: Object.assign(Object.assign({}, fileGetOptions), { _: [] }) });
|
|
259
|
+
const fileGetOutputJson = JSON.parse(fileGetOutput.stdout);
|
|
260
|
+
return fileGetOutputJson.Id;
|
|
261
|
+
});
|
|
262
|
+
}
|
|
266
263
|
}
|
|
267
264
|
_SpoPageAddCommand_instances = new WeakSet(), _SpoPageAddCommand_initTelemetry = function _SpoPageAddCommand_initTelemetry() {
|
|
268
265
|
this.telemetry.push((args) => {
|