@pnp/cli-microsoft365 12.0.0-beta.e4f7675 → 12.0.0-beta.feb621e
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/.devproxy/generate-openapi-spec.json +1 -1
- package/allCommands.json +1 -1
- package/allCommandsFull.json +1 -1
- package/dist/Auth.js +2 -6
- package/dist/auth/FileTokenStorage.js +0 -3
- package/dist/auth/msalCachePlugin.js +201 -12
- package/dist/googleAnalytics.js +96 -0
- package/dist/m365/commands/logout.js +2 -4
- package/dist/m365/entra/commands/m365group/m365group-remove.js +4 -3
- package/dist/m365/spe/commands/container/container-remove.js +6 -7
- package/dist/m365/spfx/commands/SpfxCompatibilityMatrix.js +15 -0
- package/dist/m365/spfx/commands/project/project-doctor/doctor-1.24.0-rc.0.js +19 -0
- package/dist/m365/spfx/commands/project/project-doctor.js +2 -1
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN012021_TSC_excludeDirectories.js +43 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027002_OVERRIDES_qs.js +33 -0
- package/dist/m365/spfx/commands/project/project-upgrade/rules/FN027003_OVERRIDES_uuid.js +33 -0
- package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.24.0-rc.0.js +77 -0
- package/dist/m365/spfx/commands/project/project-upgrade.js +12 -11
- package/dist/m365/spo/commands/app/app-add.js +35 -56
- package/dist/m365/spo/commands/app/app-deploy.js +41 -59
- package/dist/m365/spo/commands/app/app-get.js +40 -56
- package/dist/m365/spo/commands/app/app-install.js +20 -41
- package/dist/m365/spo/commands/app/app-instance-list.js +12 -24
- package/dist/m365/spo/commands/app/app-list.js +26 -44
- package/dist/m365/spo/commands/app/app-remove.js +32 -52
- package/dist/m365/spo/commands/app/app-retract.js +32 -51
- package/dist/m365/spo/commands/app/app-teamspackage-download.js +35 -54
- package/dist/m365/spo/commands/app/app-uninstall.js +21 -44
- package/dist/m365/spo/commands/app/app-upgrade.js +20 -41
- package/dist/m365/spo/commands/feature/feature-disable.js +20 -50
- package/dist/m365/spo/commands/feature/feature-enable.js +22 -50
- package/dist/m365/spo/commands/feature/feature-list.js +11 -36
- package/dist/m365/spo/commands/field/field-add.js +33 -62
- package/dist/m365/spo/commands/field/field-get.js +30 -57
- package/dist/m365/spo/commands/field/field-list.js +21 -46
- package/dist/m365/spo/commands/field/field-remove.js +32 -63
- package/dist/m365/spo/commands/field/field-set.js +34 -66
- package/dist/m365/spo/commands/file/file-archive.js +1 -1
- package/dist/m365/spo/commands/file/file-get.js +4 -3
- package/dist/m365/spo/commands/file/file-remove.js +5 -5
- package/dist/m365/spo/commands/file/file-unarchive.js +1 -1
- package/dist/m365/spo/commands/folder/folder-archive.js +1 -1
- package/dist/m365/spo/commands/folder/folder-remove.js +5 -5
- package/dist/m365/spo/commands/folder/folder-unarchive.js +90 -0
- package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +5 -0
- package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +8 -26
- package/dist/m365/spo/commands/homesite/homesite-list.js +5 -0
- package/dist/m365/spo/commands/hubsite/hubsite-connect.js +38 -63
- package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +11 -27
- package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +25 -47
- package/dist/m365/spo/commands/hubsite/hubsite-get.js +25 -37
- package/dist/m365/spo/commands/hubsite/hubsite-list.js +12 -24
- package/dist/m365/spo/commands/hubsite/hubsite-register.js +10 -18
- package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +14 -32
- package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +12 -29
- package/dist/m365/spo/commands/hubsite/hubsite-set.js +19 -46
- package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +11 -27
- package/dist/m365/spo/commands/list/list-remove.js +4 -4
- package/dist/m365/spo/commands/listitem/listitem-batch-remove.js +5 -4
- package/dist/m365/spo/commands/listitem/listitem-get.js +1 -12
- package/dist/m365/spo/commands/listitem/listitem-remove.js +8 -5
- package/dist/m365/spo/commands/navigation/navigation-node-list.js +6 -4
- package/dist/m365/spo/commands/page/page-remove.js +7 -7
- package/dist/m365/spo/commands/site/site-remove.js +7 -7
- package/dist/m365/spo/commands/spo-get.js +5 -0
- package/dist/m365/spo/commands/spo-set.js +10 -21
- package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
- package/dist/m365/spo/commands/user/user-ensure.js +24 -60
- package/dist/m365/spo/commands/user/user-get.js +25 -65
- package/dist/m365/spo/commands/user/user-list.js +10 -18
- package/dist/m365/spo/commands/user/user-remove.js +26 -68
- package/dist/m365/spo/commands/userprofile/userprofile-get.js +10 -23
- package/dist/m365/spo/commands/userprofile/userprofile-set.js +10 -19
- package/dist/m365/spo/commands/web/web-add.js +20 -55
- package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +10 -18
- package/dist/m365/spo/commands/web/web-get.js +12 -30
- package/dist/m365/spo/commands/web/web-installedlanguage-list.js +10 -18
- package/dist/m365/spo/commands/web/web-list.js +10 -18
- package/dist/m365/spo/commands/web/web-reindex.js +10 -18
- package/dist/m365/spo/commands/web/web-remove.js +11 -27
- package/dist/m365/spo/commands/web/web-retentionlabel-list.js +10 -18
- package/dist/m365/spo/commands/web/web-roleassignment-add.js +40 -64
- package/dist/m365/spo/commands/web/web-roleassignment-remove.js +31 -58
- package/dist/m365/spo/commands/web/web-roleinheritance-break.js +12 -36
- package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +11 -29
- package/dist/m365/spo/commands/web/web-rule-get.js +47 -0
- package/dist/m365/spo/commands/web/web-rule-list.js +6 -4
- package/dist/m365/spo/commands/web/web-rule-remove.js +0 -3
- package/dist/m365/spo/commands/web/web-set.js +26 -96
- package/dist/m365/spo/commands.js +3 -3
- package/dist/m365/teams/commands/channel/channel-add.js +46 -57
- package/dist/m365/teams/commands/channel/channel-get.js +41 -48
- package/dist/m365/teams/commands/channel/channel-list.js +28 -42
- package/dist/m365/teams/commands/channel/channel-member-add.js +53 -54
- package/dist/m365/teams/commands/channel/channel-member-list.js +47 -55
- package/dist/m365/teams/commands/channel/channel-member-remove.js +62 -62
- package/dist/m365/teams/commands/channel/channel-member-set.js +61 -65
- package/dist/m365/teams/commands/channel/channel-remove.js +47 -49
- package/dist/m365/teams/commands/channel/channel-set.js +47 -54
- package/dist/m365/teams/commands/chat/chat-get.js +30 -45
- package/dist/m365/teams/commands/chat/chat-list.js +22 -42
- package/dist/m365/teams/commands/chat/chat-member-add.js +43 -64
- package/dist/m365/teams/commands/chat/chat-member-list.js +10 -23
- package/dist/m365/teams/commands/chat/chat-member-remove.js +28 -50
- package/dist/m365/teams/commands/chat/chat-message-send.js +32 -55
- package/dist/m365/util/commands/accesstoken/accesstoken-get.js +10 -28
- package/dist/telemetry.js +7 -11
- package/dist/utils/spo.js +1 -3
- package/dist/utils/urlUtil.js +2 -2
- package/docs/docs/cmd/entra/m365group/m365group-remove.mdx +4 -4
- package/docs/docs/cmd/spe/container/container-remove.mdx +5 -5
- package/docs/docs/cmd/spo/file/file-archive.mdx +9 -1
- package/docs/docs/cmd/spo/file/file-checkin.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-checkout.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-copy.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-get.mdx +6 -6
- package/docs/docs/cmd/spo/file/file-remove.mdx +4 -4
- package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +1 -1
- package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +1 -1
- 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 +3 -3
- package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +2 -2
- package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +22 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +24 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +22 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +22 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +24 -1
- package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +22 -1
- package/docs/docs/cmd/spo/file/file-unarchive.mdx +9 -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-keep.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-archive.mdx +7 -1
- package/docs/docs/cmd/spo/folder/folder-copy.mdx +1 -1
- package/docs/docs/cmd/spo/folder/folder-get.mdx +2 -2
- package/docs/docs/cmd/spo/folder/folder-remove.mdx +4 -4
- 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-sharinglink-add.mdx +22 -1
- package/docs/docs/cmd/spo/folder/folder-sharinglink-clear.mdx +23 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-get.mdx +21 -0
- package/docs/docs/cmd/spo/folder/folder-sharinglink-list.mdx +22 -1
- package/docs/docs/cmd/spo/folder/folder-sharinglink-remove.mdx +24 -1
- package/docs/docs/cmd/spo/folder/folder-sharinglink-set.mdx +21 -0
- package/docs/docs/cmd/spo/folder/folder-unarchive.mdx +76 -0
- package/docs/docs/cmd/spo/list/list-remove.mdx +4 -4
- package/docs/docs/cmd/spo/listitem/listitem-batch-remove.mdx +8 -2
- package/docs/docs/cmd/spo/listitem/listitem-get.mdx +0 -6
- package/docs/docs/cmd/spo/listitem/listitem-remove.mdx +8 -2
- package/docs/docs/cmd/spo/navigation/navigation-node-list.mdx +37 -27
- package/docs/docs/cmd/spo/page/page-remove.mdx +4 -4
- package/docs/docs/cmd/spo/site/site-apppermission-add.mdx +52 -21
- package/docs/docs/cmd/spo/site/site-remove.mdx +3 -3
- package/docs/docs/cmd/spo/web/web-rule-get.mdx +108 -0
- package/docs/docs/cmd/spo/web/web-rule-list.mdx +8 -12
- package/docs/docs/cmd/spo/web/web-rule-remove.mdx +0 -6
- package/docs/docs/cmd/spp/model/model-get.mdx +1 -1
- package/docs/docs/cmd/spp/model/model-remove.mdx +1 -1
- package/docs/docs/cmd/teams/app/app-install.mdx +21 -0
- package/docs/docs/cmd/teams/app/app-list.mdx +19 -0
- package/docs/docs/cmd/teams/app/app-publish.mdx +17 -0
- package/docs/docs/cmd/teams/app/app-remove.mdx +19 -0
- package/docs/docs/cmd/teams/app/app-uninstall.mdx +21 -0
- package/docs/docs/cmd/teams/app/app-update.mdx +19 -0
- package/docs/docs/cmd/tenant/people/people-profilecardproperty-add.mdx +19 -0
- package/docs/docs/cmd/tenant/people/people-profilecardproperty-get.mdx +19 -0
- package/docs/docs/cmd/tenant/people/people-profilecardproperty-list.mdx +19 -0
- package/docs/docs/cmd/tenant/people/people-profilecardproperty-remove.mdx +19 -0
- package/docs/docs/cmd/tenant/people/people-profilecardproperty-set.mdx +19 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.mdx +19 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.mdx +19 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.mdx +19 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.mdx +19 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.mdx +19 -0
- package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.mdx +19 -0
- package/docs/docs/cmd/viva/engage/engage-message-add.mdx +17 -0
- package/docs/docs/cmd/viva/engage/engage-message-get.mdx +17 -0
- package/docs/docs/cmd/viva/engage/engage-message-list.mdx +17 -0
- package/docs/docs/cmd/viva/engage/engage-message-remove.mdx +19 -0
- package/npm-shrinkwrap.json +1120 -3216
- package/package.json +24 -38
- package/dist/appInsights.js +0 -43
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
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");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoAppListCommand_instances, _SpoAppListCommand_initTelemetry, _SpoAppListCommand_initOptions, _SpoAppListCommand_initValidators;
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
7
3
|
import { odata } from '../../../../utils/odata.js';
|
|
8
4
|
import { spo } from '../../../../utils/spo.js';
|
|
9
5
|
import { validation } from '../../../../utils/validation.js';
|
|
6
|
+
import { zod } from '../../../../utils/zod.js';
|
|
10
7
|
import commands from '../../commands.js';
|
|
11
8
|
import { SpoAppBaseCommand } from './SpoAppBaseCommand.js';
|
|
9
|
+
const appCatalogScopeOptions = { tenant: 'tenant', sitecollection: 'sitecollection' };
|
|
10
|
+
export const options = z.strictObject({
|
|
11
|
+
...globalOptionsZod.shape,
|
|
12
|
+
appCatalogScope: zod.coercedEnum(appCatalogScopeOptions).optional().alias('s'),
|
|
13
|
+
appCatalogUrl: z.string()
|
|
14
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, {
|
|
15
|
+
error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
|
|
16
|
+
})
|
|
17
|
+
.optional()
|
|
18
|
+
.alias('u')
|
|
19
|
+
});
|
|
12
20
|
class SpoAppListCommand extends SpoAppBaseCommand {
|
|
13
21
|
get name() {
|
|
14
22
|
return commands.APP_LIST;
|
|
@@ -19,12 +27,18 @@ class SpoAppListCommand extends SpoAppBaseCommand {
|
|
|
19
27
|
defaultProperties() {
|
|
20
28
|
return [`Title`, `ID`, `Deployed`, `AppCatalogVersion`];
|
|
21
29
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
get schema() {
|
|
31
|
+
return options;
|
|
32
|
+
}
|
|
33
|
+
getRefinedSchema(schema) {
|
|
34
|
+
return schema
|
|
35
|
+
.refine(opts => opts.appCatalogScope !== 'sitecollection' || opts.appCatalogUrl !== undefined, {
|
|
36
|
+
error: 'You must specify appCatalogUrl when the appCatalogScope is sitecollection',
|
|
37
|
+
path: ['appCatalogUrl'],
|
|
38
|
+
params: {
|
|
39
|
+
customCode: 'required'
|
|
40
|
+
}
|
|
41
|
+
});
|
|
28
42
|
}
|
|
29
43
|
async commandAction(logger, args) {
|
|
30
44
|
const scope = (args.options.appCatalogScope) ? args.options.appCatalogScope.toLowerCase() : 'tenant';
|
|
@@ -42,37 +56,5 @@ class SpoAppListCommand extends SpoAppBaseCommand {
|
|
|
42
56
|
}
|
|
43
57
|
}
|
|
44
58
|
}
|
|
45
|
-
_SpoAppListCommand_instances = new WeakSet(), _SpoAppListCommand_initTelemetry = function _SpoAppListCommand_initTelemetry() {
|
|
46
|
-
this.telemetry.push((args) => {
|
|
47
|
-
Object.assign(this.telemetryProperties, {
|
|
48
|
-
appCatalogUrl: (!(!args.options.appCatalogUrl)).toString(),
|
|
49
|
-
appCatalogScope: args.options.appCatalogScope || 'tenant'
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
}, _SpoAppListCommand_initOptions = function _SpoAppListCommand_initOptions() {
|
|
53
|
-
this.options.unshift({
|
|
54
|
-
option: '-s, --appCatalogScope [appCatalogScope]',
|
|
55
|
-
autocomplete: ['tenant', 'sitecollection']
|
|
56
|
-
}, {
|
|
57
|
-
option: '-u, --appCatalogUrl [appCatalogUrl]'
|
|
58
|
-
});
|
|
59
|
-
}, _SpoAppListCommand_initValidators = function _SpoAppListCommand_initValidators() {
|
|
60
|
-
this.validators.push(async (args) => {
|
|
61
|
-
// verify either 'tenant' or 'sitecollection' specified if scope provided
|
|
62
|
-
if (args.options.appCatalogScope) {
|
|
63
|
-
const testScope = args.options.appCatalogScope.toLowerCase();
|
|
64
|
-
if (!(testScope === 'tenant' || testScope === 'sitecollection')) {
|
|
65
|
-
return `appCatalogScope must be either 'tenant' or 'sitecollection'`;
|
|
66
|
-
}
|
|
67
|
-
if (testScope === 'sitecollection' && !args.options.appCatalogUrl) {
|
|
68
|
-
return `You must specify appCatalogUrl when the appCatalogScope is sitecollection`;
|
|
69
|
-
}
|
|
70
|
-
if (args.options.appCatalogUrl) {
|
|
71
|
-
return validation.isValidSharePointUrl(args.options.appCatalogUrl);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
59
|
export default new SpoAppListCommand();
|
|
78
60
|
//# sourceMappingURL=app-list.js.map
|
|
@@ -1,16 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
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");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoAppRemoveCommand_instances, _SpoAppRemoveCommand_initTelemetry, _SpoAppRemoveCommand_initOptions, _SpoAppRemoveCommand_initValidators;
|
|
1
|
+
import { z } from 'zod';
|
|
7
2
|
import { cli } from '../../../../cli/cli.js';
|
|
3
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
8
4
|
import request from '../../../../request.js';
|
|
9
5
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
6
|
import { spo } from '../../../../utils/spo.js';
|
|
11
7
|
import { validation } from '../../../../utils/validation.js';
|
|
8
|
+
import { zod } from '../../../../utils/zod.js';
|
|
12
9
|
import commands from '../../commands.js';
|
|
13
10
|
import { SpoAppBaseCommand } from './SpoAppBaseCommand.js';
|
|
11
|
+
const appCatalogScopeOptions = { tenant: 'tenant', sitecollection: 'sitecollection' };
|
|
12
|
+
export const options = z.strictObject({
|
|
13
|
+
...globalOptionsZod.shape,
|
|
14
|
+
id: z.string()
|
|
15
|
+
.refine(id => validation.isValidGuid(id), {
|
|
16
|
+
error: e => `${e.input} is not a valid GUID`
|
|
17
|
+
})
|
|
18
|
+
.alias('i'),
|
|
19
|
+
appCatalogUrl: z.string()
|
|
20
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, {
|
|
21
|
+
error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
|
|
22
|
+
})
|
|
23
|
+
.optional()
|
|
24
|
+
.alias('u'),
|
|
25
|
+
appCatalogScope: zod.coercedEnum(appCatalogScopeOptions).optional().alias('s'),
|
|
26
|
+
force: z.boolean().optional().alias('f')
|
|
27
|
+
});
|
|
14
28
|
class SpoAppRemoveCommand extends SpoAppBaseCommand {
|
|
15
29
|
get name() {
|
|
16
30
|
return commands.APP_REMOVE;
|
|
@@ -18,12 +32,18 @@ class SpoAppRemoveCommand extends SpoAppBaseCommand {
|
|
|
18
32
|
get description() {
|
|
19
33
|
return 'Removes the specified app from the specified app catalog';
|
|
20
34
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
35
|
+
get schema() {
|
|
36
|
+
return options;
|
|
37
|
+
}
|
|
38
|
+
getRefinedSchema(schema) {
|
|
39
|
+
return schema
|
|
40
|
+
.refine(opts => opts.appCatalogScope !== 'sitecollection' || opts.appCatalogUrl !== undefined, {
|
|
41
|
+
error: 'You must specify appCatalogUrl when the appCatalogScope is sitecollection',
|
|
42
|
+
path: ['appCatalogUrl'],
|
|
43
|
+
params: {
|
|
44
|
+
customCode: 'required'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
27
47
|
}
|
|
28
48
|
async commandAction(logger, args) {
|
|
29
49
|
const scope = (args.options.appCatalogScope) ? args.options.appCatalogScope.toLowerCase() : 'tenant';
|
|
@@ -57,45 +77,5 @@ class SpoAppRemoveCommand extends SpoAppBaseCommand {
|
|
|
57
77
|
}
|
|
58
78
|
}
|
|
59
79
|
}
|
|
60
|
-
_SpoAppRemoveCommand_instances = new WeakSet(), _SpoAppRemoveCommand_initTelemetry = function _SpoAppRemoveCommand_initTelemetry() {
|
|
61
|
-
this.telemetry.push((args) => {
|
|
62
|
-
Object.assign(this.telemetryProperties, {
|
|
63
|
-
appCatalogUrl: (!(!args.options.appCatalogUrl)).toString(),
|
|
64
|
-
force: (!(!args.options.force)).toString(),
|
|
65
|
-
appCatalogScope: args.options.appCatalogScope || 'tenant'
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}, _SpoAppRemoveCommand_initOptions = function _SpoAppRemoveCommand_initOptions() {
|
|
69
|
-
this.options.unshift({
|
|
70
|
-
option: '-i, --id <id>'
|
|
71
|
-
}, {
|
|
72
|
-
option: '-u, --appCatalogUrl [appCatalogUrl]'
|
|
73
|
-
}, {
|
|
74
|
-
option: '-s, --appCatalogScope [appCatalogScope]',
|
|
75
|
-
autocomplete: ['tenant', 'sitecollection']
|
|
76
|
-
}, {
|
|
77
|
-
option: '-f, --force'
|
|
78
|
-
});
|
|
79
|
-
}, _SpoAppRemoveCommand_initValidators = function _SpoAppRemoveCommand_initValidators() {
|
|
80
|
-
this.validators.push(async (args) => {
|
|
81
|
-
// verify either 'tenant' or 'sitecollection' specified if scope provided
|
|
82
|
-
if (args.options.appCatalogScope) {
|
|
83
|
-
const testScope = args.options.appCatalogScope.toLowerCase();
|
|
84
|
-
if (!(testScope === 'tenant' || testScope === 'sitecollection')) {
|
|
85
|
-
return `appCatalogScope must be either 'tenant' or 'sitecollection' if specified`;
|
|
86
|
-
}
|
|
87
|
-
if (testScope === 'sitecollection' && !args.options.appCatalogUrl) {
|
|
88
|
-
return `You must specify appCatalogUrl when the appCatalogScope is sitecollection`;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
if (!validation.isValidGuid(args.options.id)) {
|
|
92
|
-
return `${args.options.id} is not a valid GUID`;
|
|
93
|
-
}
|
|
94
|
-
if (args.options.appCatalogUrl) {
|
|
95
|
-
return validation.isValidSharePointUrl(args.options.appCatalogUrl);
|
|
96
|
-
}
|
|
97
|
-
return true;
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
80
|
export default new SpoAppRemoveCommand();
|
|
101
81
|
//# sourceMappingURL=app-remove.js.map
|
|
@@ -1,16 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
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");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoAppRetractCommand_instances, _SpoAppRetractCommand_initTelemetry, _SpoAppRetractCommand_initOptions, _SpoAppRetractCommand_initValidators;
|
|
1
|
+
import { z } from 'zod';
|
|
7
2
|
import { cli } from '../../../../cli/cli.js';
|
|
3
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
8
4
|
import request from '../../../../request.js';
|
|
9
5
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
6
|
import { spo } from '../../../../utils/spo.js';
|
|
11
7
|
import { validation } from '../../../../utils/validation.js';
|
|
8
|
+
import { zod } from '../../../../utils/zod.js';
|
|
12
9
|
import commands from '../../commands.js';
|
|
13
10
|
import { SpoAppBaseCommand } from './SpoAppBaseCommand.js';
|
|
11
|
+
const appCatalogScopeOptions = { tenant: 'tenant', sitecollection: 'sitecollection' };
|
|
12
|
+
export const options = z.strictObject({
|
|
13
|
+
...globalOptionsZod.shape,
|
|
14
|
+
id: z.string()
|
|
15
|
+
.refine(id => validation.isValidGuid(id), {
|
|
16
|
+
error: e => `${e.input} is not a valid GUID`
|
|
17
|
+
})
|
|
18
|
+
.alias('i'),
|
|
19
|
+
appCatalogUrl: z.string()
|
|
20
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, {
|
|
21
|
+
error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
|
|
22
|
+
})
|
|
23
|
+
.optional()
|
|
24
|
+
.alias('u'),
|
|
25
|
+
appCatalogScope: zod.coercedEnum(appCatalogScopeOptions).optional().alias('s'),
|
|
26
|
+
force: z.boolean().optional().alias('f')
|
|
27
|
+
});
|
|
14
28
|
class SpoAppRetractCommand extends SpoAppBaseCommand {
|
|
15
29
|
get name() {
|
|
16
30
|
return commands.APP_RETRACT;
|
|
@@ -18,12 +32,18 @@ class SpoAppRetractCommand extends SpoAppBaseCommand {
|
|
|
18
32
|
get description() {
|
|
19
33
|
return 'Retracts the specified app from the specified app catalog';
|
|
20
34
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
35
|
+
get schema() {
|
|
36
|
+
return options;
|
|
37
|
+
}
|
|
38
|
+
getRefinedSchema(schema) {
|
|
39
|
+
return schema
|
|
40
|
+
.refine(opts => opts.appCatalogScope !== 'sitecollection' || opts.appCatalogUrl !== undefined, {
|
|
41
|
+
error: 'You must specify appCatalogUrl when the appCatalogScope is sitecollection',
|
|
42
|
+
path: ['appCatalogUrl'],
|
|
43
|
+
params: {
|
|
44
|
+
customCode: 'required'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
27
47
|
}
|
|
28
48
|
async commandAction(logger, args) {
|
|
29
49
|
const scope = (args.options.appCatalogScope) ? args.options.appCatalogScope.toLowerCase() : 'tenant';
|
|
@@ -57,44 +77,5 @@ class SpoAppRetractCommand extends SpoAppBaseCommand {
|
|
|
57
77
|
}
|
|
58
78
|
}
|
|
59
79
|
}
|
|
60
|
-
_SpoAppRetractCommand_instances = new WeakSet(), _SpoAppRetractCommand_initTelemetry = function _SpoAppRetractCommand_initTelemetry() {
|
|
61
|
-
this.telemetry.push((args) => {
|
|
62
|
-
Object.assign(this.telemetryProperties, {
|
|
63
|
-
appCatalogUrl: (!(!args.options.appCatalogUrl)).toString(),
|
|
64
|
-
force: (!(!args.options.force)).toString(),
|
|
65
|
-
appCatalogScope: args.options.appCatalogScope || 'tenant'
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}, _SpoAppRetractCommand_initOptions = function _SpoAppRetractCommand_initOptions() {
|
|
69
|
-
this.options.unshift({
|
|
70
|
-
option: '-i, --id <id>'
|
|
71
|
-
}, {
|
|
72
|
-
option: '-u, --appCatalogUrl [appCatalogUrl]'
|
|
73
|
-
}, {
|
|
74
|
-
option: '-s, --appCatalogScope [appCatalogScope]',
|
|
75
|
-
autocomplete: ['tenant', 'sitecollection']
|
|
76
|
-
}, {
|
|
77
|
-
option: '-f, --force'
|
|
78
|
-
});
|
|
79
|
-
}, _SpoAppRetractCommand_initValidators = function _SpoAppRetractCommand_initValidators() {
|
|
80
|
-
this.validators.push(async (args) => {
|
|
81
|
-
if (args.options.appCatalogScope) {
|
|
82
|
-
const testScope = args.options.appCatalogScope.toLowerCase();
|
|
83
|
-
if (!(testScope === 'tenant' || testScope === 'sitecollection')) {
|
|
84
|
-
return `appCatalogScope must be either 'tenant' or 'sitecollection' if specified`;
|
|
85
|
-
}
|
|
86
|
-
if (testScope === 'sitecollection' && !args.options.appCatalogUrl) {
|
|
87
|
-
return `You must specify appCatalogUrl when the appCatalogScope is sitecollection`;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
if (!validation.isValidGuid(args.options.id)) {
|
|
91
|
-
return `${args.options.id} is not a valid GUID`;
|
|
92
|
-
}
|
|
93
|
-
if (args.options.appCatalogUrl) {
|
|
94
|
-
return validation.isValidSharePointUrl(args.options.appCatalogUrl);
|
|
95
|
-
}
|
|
96
|
-
return true;
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
80
|
export default new SpoAppRetractCommand();
|
|
100
81
|
//# sourceMappingURL=app-retract.js.map
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
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");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoAppTeamsPackageDownloadCommand_instances, _SpoAppTeamsPackageDownloadCommand_initTelemetry, _SpoAppTeamsPackageDownloadCommand_initOptions, _SpoAppTeamsPackageDownloadCommand_initValidators;
|
|
7
1
|
import fs from 'fs';
|
|
8
2
|
import path from 'path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
9
5
|
import request from '../../../../request.js';
|
|
10
6
|
import { formatting } from '../../../../utils/formatting.js';
|
|
11
7
|
import { spo } from '../../../../utils/spo.js';
|
|
@@ -13,6 +9,27 @@ import { urlUtil } from '../../../../utils/urlUtil.js';
|
|
|
13
9
|
import { validation } from '../../../../utils/validation.js';
|
|
14
10
|
import commands from '../../commands.js';
|
|
15
11
|
import { SpoAppBaseCommand } from './SpoAppBaseCommand.js';
|
|
12
|
+
export const options = z.strictObject({
|
|
13
|
+
...globalOptionsZod.shape,
|
|
14
|
+
appItemId: z.number().optional(),
|
|
15
|
+
appItemUniqueId: z.string()
|
|
16
|
+
.refine(id => validation.isValidGuid(id), {
|
|
17
|
+
error: e => `${e.input} is not a valid GUID`
|
|
18
|
+
})
|
|
19
|
+
.optional(),
|
|
20
|
+
appName: z.string().optional(),
|
|
21
|
+
fileName: z.string()
|
|
22
|
+
.refine(fileName => !fs.existsSync(fileName), {
|
|
23
|
+
error: e => `File ${e.input} already exists`
|
|
24
|
+
})
|
|
25
|
+
.optional(),
|
|
26
|
+
appCatalogUrl: z.string()
|
|
27
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, {
|
|
28
|
+
error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
|
|
29
|
+
})
|
|
30
|
+
.optional()
|
|
31
|
+
.alias('u')
|
|
32
|
+
});
|
|
16
33
|
class SpoAppTeamsPackageDownloadCommand extends SpoAppBaseCommand {
|
|
17
34
|
get name() {
|
|
18
35
|
return commands.APP_TEAMSPACKAGE_DOWNLOAD;
|
|
@@ -20,12 +37,18 @@ class SpoAppTeamsPackageDownloadCommand extends SpoAppBaseCommand {
|
|
|
20
37
|
get description() {
|
|
21
38
|
return 'Downloads Teams app package for an SPFx solution deployed to tenant app catalog';
|
|
22
39
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
get schema() {
|
|
41
|
+
return options;
|
|
42
|
+
}
|
|
43
|
+
getRefinedSchema(schema) {
|
|
44
|
+
return schema
|
|
45
|
+
.refine(opts => [opts.appItemUniqueId, opts.appItemId, opts.appName].filter(x => x !== undefined).length === 1, {
|
|
46
|
+
error: 'Specify appItemUniqueId, appItemId or appName but not multiple',
|
|
47
|
+
params: {
|
|
48
|
+
customCode: 'optionSet',
|
|
49
|
+
options: ['appItemUniqueId', 'appItemId', 'appName']
|
|
50
|
+
}
|
|
51
|
+
});
|
|
29
52
|
}
|
|
30
53
|
async commandAction(logger, args) {
|
|
31
54
|
try {
|
|
@@ -125,47 +148,5 @@ class SpoAppTeamsPackageDownloadCommand extends SpoAppBaseCommand {
|
|
|
125
148
|
this.appCatalogUrl = appCatalogUrl;
|
|
126
149
|
}
|
|
127
150
|
}
|
|
128
|
-
_SpoAppTeamsPackageDownloadCommand_instances = new WeakSet(), _SpoAppTeamsPackageDownloadCommand_initTelemetry = function _SpoAppTeamsPackageDownloadCommand_initTelemetry() {
|
|
129
|
-
this.telemetry.push((args) => {
|
|
130
|
-
Object.assign(this.telemetryProperties, {
|
|
131
|
-
appCatalogUrl: typeof args.options.appCatalogUrl !== 'undefined',
|
|
132
|
-
appItemUniqueId: typeof args.options.appItemUniqueId !== 'undefined',
|
|
133
|
-
appItemId: typeof args.options.appItemId !== 'undefined',
|
|
134
|
-
appName: typeof args.options.appName !== 'undefined',
|
|
135
|
-
fileName: typeof args.options.fileName !== 'undefined'
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
}, _SpoAppTeamsPackageDownloadCommand_initOptions = function _SpoAppTeamsPackageDownloadCommand_initOptions() {
|
|
139
|
-
this.options.unshift({ option: '--appItemId [appItemId]' }, { option: '--appItemUniqueId [appItemUniqueId]' }, { option: '--appName [appName]' }, { option: '--fileName [fileName]' }, { option: '-u, --appCatalogUrl [appCatalogUrl]' });
|
|
140
|
-
}, _SpoAppTeamsPackageDownloadCommand_initValidators = function _SpoAppTeamsPackageDownloadCommand_initValidators() {
|
|
141
|
-
this.validators.push(async (args) => {
|
|
142
|
-
if (!args.options.appItemUniqueId &&
|
|
143
|
-
!args.options.appItemId &&
|
|
144
|
-
!args.options.appName) {
|
|
145
|
-
return `Specify appItemUniqueId, appItemId or appName`;
|
|
146
|
-
}
|
|
147
|
-
if ((args.options.appItemUniqueId && args.options.appItemId) ||
|
|
148
|
-
(args.options.appItemUniqueId && args.options.appName) ||
|
|
149
|
-
(args.options.appItemId && args.options.appName)) {
|
|
150
|
-
return `Specify appItemUniqueId, appItemId or appName but not multiple`;
|
|
151
|
-
}
|
|
152
|
-
if (args.options.appItemUniqueId &&
|
|
153
|
-
!validation.isValidGuid(args.options.appItemUniqueId)) {
|
|
154
|
-
return `${args.options.appItemUniqueId} is not a valid GUID`;
|
|
155
|
-
}
|
|
156
|
-
if (args.options.appItemId &&
|
|
157
|
-
isNaN(args.options.appItemId)) {
|
|
158
|
-
return `${args.options.appItemId} is not a number`;
|
|
159
|
-
}
|
|
160
|
-
if (args.options.fileName &&
|
|
161
|
-
fs.existsSync(args.options.fileName)) {
|
|
162
|
-
return `File ${args.options.fileName} already exists`;
|
|
163
|
-
}
|
|
164
|
-
if (args.options.appCatalogUrl) {
|
|
165
|
-
return validation.isValidSharePointUrl(args.options.appCatalogUrl);
|
|
166
|
-
}
|
|
167
|
-
return true;
|
|
168
|
-
});
|
|
169
|
-
};
|
|
170
151
|
export default new SpoAppTeamsPackageDownloadCommand();
|
|
171
152
|
//# sourceMappingURL=app-teamspackage-download.js.map
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
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");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoAppUninstallCommand_instances, _SpoAppUninstallCommand_initTelemetry, _SpoAppUninstallCommand_initOptions, _SpoAppUninstallCommand_initValidators;
|
|
1
|
+
import { z } from 'zod';
|
|
7
2
|
import { cli } from '../../../../cli/cli.js';
|
|
3
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
8
4
|
import request from '../../../../request.js';
|
|
9
5
|
import { formatting } from '../../../../utils/formatting.js';
|
|
10
6
|
import { validation } from '../../../../utils/validation.js';
|
|
7
|
+
import { zod } from '../../../../utils/zod.js';
|
|
11
8
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
12
9
|
import commands from '../../commands.js';
|
|
10
|
+
const appCatalogScopeOptions = { tenant: 'tenant', sitecollection: 'sitecollection' };
|
|
11
|
+
export const options = z.strictObject({
|
|
12
|
+
...globalOptionsZod.shape,
|
|
13
|
+
id: z.string()
|
|
14
|
+
.refine(id => validation.isValidGuid(id), {
|
|
15
|
+
error: e => `${e.input} is not a valid GUID`
|
|
16
|
+
})
|
|
17
|
+
.alias('i'),
|
|
18
|
+
siteUrl: z.string()
|
|
19
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, {
|
|
20
|
+
error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
|
|
21
|
+
})
|
|
22
|
+
.alias('s'),
|
|
23
|
+
appCatalogScope: zod.coercedEnum(appCatalogScopeOptions).optional(),
|
|
24
|
+
force: z.boolean().optional().alias('f')
|
|
25
|
+
});
|
|
13
26
|
class SpoAppUninstallCommand extends SpoCommand {
|
|
14
27
|
get name() {
|
|
15
28
|
return commands.APP_UNINSTALL;
|
|
@@ -17,12 +30,8 @@ class SpoAppUninstallCommand extends SpoCommand {
|
|
|
17
30
|
get description() {
|
|
18
31
|
return 'Uninstalls an app from the site';
|
|
19
32
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
_SpoAppUninstallCommand_instances.add(this);
|
|
23
|
-
__classPrivateFieldGet(this, _SpoAppUninstallCommand_instances, "m", _SpoAppUninstallCommand_initTelemetry).call(this);
|
|
24
|
-
__classPrivateFieldGet(this, _SpoAppUninstallCommand_instances, "m", _SpoAppUninstallCommand_initOptions).call(this);
|
|
25
|
-
__classPrivateFieldGet(this, _SpoAppUninstallCommand_instances, "m", _SpoAppUninstallCommand_initValidators).call(this);
|
|
33
|
+
get schema() {
|
|
34
|
+
return options;
|
|
26
35
|
}
|
|
27
36
|
async commandAction(logger, args) {
|
|
28
37
|
const uninstallApp = async () => {
|
|
@@ -54,37 +63,5 @@ class SpoAppUninstallCommand extends SpoCommand {
|
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
}
|
|
57
|
-
_SpoAppUninstallCommand_instances = new WeakSet(), _SpoAppUninstallCommand_initTelemetry = function _SpoAppUninstallCommand_initTelemetry() {
|
|
58
|
-
this.telemetry.push((args) => {
|
|
59
|
-
Object.assign(this.telemetryProperties, {
|
|
60
|
-
force: (!(!args.options.force)).toString(),
|
|
61
|
-
appCatalogScope: args.options.appCatalogScope || 'tenant'
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
}, _SpoAppUninstallCommand_initOptions = function _SpoAppUninstallCommand_initOptions() {
|
|
65
|
-
this.options.unshift({
|
|
66
|
-
option: '-i, --id <id>'
|
|
67
|
-
}, {
|
|
68
|
-
option: '-s, --siteUrl <siteUrl>'
|
|
69
|
-
}, {
|
|
70
|
-
option: '--appCatalogScope [appCatalogScope]',
|
|
71
|
-
autocomplete: ['tenant', 'sitecollection']
|
|
72
|
-
}, {
|
|
73
|
-
option: '-f, --force'
|
|
74
|
-
});
|
|
75
|
-
}, _SpoAppUninstallCommand_initValidators = function _SpoAppUninstallCommand_initValidators() {
|
|
76
|
-
this.validators.push(async (args) => {
|
|
77
|
-
if (args.options.appCatalogScope) {
|
|
78
|
-
const testScope = args.options.appCatalogScope.toLowerCase();
|
|
79
|
-
if (!(testScope === 'tenant' || testScope === 'sitecollection')) {
|
|
80
|
-
return `appCatalogScope must be either 'tenant' or 'sitecollection' if specified`;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (!validation.isValidGuid(args.options.id)) {
|
|
84
|
-
return `${args.options.id} is not a valid GUID`;
|
|
85
|
-
}
|
|
86
|
-
return validation.isValidSharePointUrl(args.options.siteUrl);
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
66
|
export default new SpoAppUninstallCommand();
|
|
90
67
|
//# sourceMappingURL=app-uninstall.js.map
|
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
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");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _SpoAppUpgradeCommand_instances, _SpoAppUpgradeCommand_initTelemetry, _SpoAppUpgradeCommand_initOptions, _SpoAppUpgradeCommand_initValidators;
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { globalOptionsZod } from '../../../../Command.js';
|
|
7
3
|
import request from '../../../../request.js';
|
|
8
4
|
import { formatting } from '../../../../utils/formatting.js';
|
|
9
5
|
import { validation } from '../../../../utils/validation.js';
|
|
6
|
+
import { zod } from '../../../../utils/zod.js';
|
|
10
7
|
import SpoCommand from '../../../base/SpoCommand.js';
|
|
11
8
|
import commands from '../../commands.js';
|
|
9
|
+
const appCatalogScopeOptions = { tenant: 'tenant', sitecollection: 'sitecollection' };
|
|
10
|
+
export const options = z.strictObject({
|
|
11
|
+
...globalOptionsZod.shape,
|
|
12
|
+
id: z.string()
|
|
13
|
+
.refine(id => validation.isValidGuid(id), {
|
|
14
|
+
error: e => `${e.input} is not a valid GUID`
|
|
15
|
+
})
|
|
16
|
+
.alias('i'),
|
|
17
|
+
siteUrl: z.string()
|
|
18
|
+
.refine(url => validation.isValidSharePointUrl(url) === true, {
|
|
19
|
+
error: e => `'${e.input}' is not a valid SharePoint Online site URL.`
|
|
20
|
+
})
|
|
21
|
+
.alias('s'),
|
|
22
|
+
appCatalogScope: zod.coercedEnum(appCatalogScopeOptions).optional()
|
|
23
|
+
});
|
|
12
24
|
class SpoAppUpgradeCommand extends SpoCommand {
|
|
13
25
|
get name() {
|
|
14
26
|
return commands.APP_UPGRADE;
|
|
@@ -16,12 +28,8 @@ class SpoAppUpgradeCommand extends SpoCommand {
|
|
|
16
28
|
get description() {
|
|
17
29
|
return 'Upgrades app in the specified site';
|
|
18
30
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
_SpoAppUpgradeCommand_instances.add(this);
|
|
22
|
-
__classPrivateFieldGet(this, _SpoAppUpgradeCommand_instances, "m", _SpoAppUpgradeCommand_initTelemetry).call(this);
|
|
23
|
-
__classPrivateFieldGet(this, _SpoAppUpgradeCommand_instances, "m", _SpoAppUpgradeCommand_initOptions).call(this);
|
|
24
|
-
__classPrivateFieldGet(this, _SpoAppUpgradeCommand_instances, "m", _SpoAppUpgradeCommand_initValidators).call(this);
|
|
31
|
+
get schema() {
|
|
32
|
+
return options;
|
|
25
33
|
}
|
|
26
34
|
async commandAction(logger, args) {
|
|
27
35
|
const scope = (args.options.appCatalogScope) ? args.options.appCatalogScope.toLowerCase() : 'tenant';
|
|
@@ -42,34 +50,5 @@ class SpoAppUpgradeCommand extends SpoCommand {
|
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
|
-
_SpoAppUpgradeCommand_instances = new WeakSet(), _SpoAppUpgradeCommand_initTelemetry = function _SpoAppUpgradeCommand_initTelemetry() {
|
|
46
|
-
this.telemetry.push((args) => {
|
|
47
|
-
Object.assign(this.telemetryProperties, {
|
|
48
|
-
appCatalogScope: args.options.appCatalogScope || 'tenant'
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}, _SpoAppUpgradeCommand_initOptions = function _SpoAppUpgradeCommand_initOptions() {
|
|
52
|
-
this.options.unshift({
|
|
53
|
-
option: '-i, --id <id>'
|
|
54
|
-
}, {
|
|
55
|
-
option: '-s, --siteUrl <siteUrl>'
|
|
56
|
-
}, {
|
|
57
|
-
option: '--appCatalogScope [appCatalogScope]',
|
|
58
|
-
autocomplete: ['tenant', 'sitecollection']
|
|
59
|
-
});
|
|
60
|
-
}, _SpoAppUpgradeCommand_initValidators = function _SpoAppUpgradeCommand_initValidators() {
|
|
61
|
-
this.validators.push(async (args) => {
|
|
62
|
-
if (args.options.appCatalogScope) {
|
|
63
|
-
const testScope = args.options.appCatalogScope.toLowerCase();
|
|
64
|
-
if (!(testScope === 'tenant' || testScope === 'sitecollection')) {
|
|
65
|
-
return `appCatalogScope must be either 'tenant' or 'sitecollection' if specified`;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (!validation.isValidGuid(args.options.id)) {
|
|
69
|
-
return `${args.options.id} is not a valid GUID`;
|
|
70
|
-
}
|
|
71
|
-
return validation.isValidSharePointUrl(args.options.siteUrl);
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
53
|
export default new SpoAppUpgradeCommand();
|
|
75
54
|
//# sourceMappingURL=app-upgrade.js.map
|