contensis-cli 1.0.0-beta.51 → 1.0.0-beta.53
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/.vscode/launch.json +15 -15
- package/README.md +1226 -1226
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/globalOptions.js.map +1 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/set.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/localisation/en-GB.js.map +1 -1
- package/dist/providers/CredentialProvider.js.map +1 -1
- package/dist/providers/SessionCacheProvider.js.map +1 -1
- package/dist/providers/file-provider.js.map +1 -1
- package/dist/services/ContensisAuthService.js.map +1 -1
- package/dist/services/ContensisCliService.js.map +1 -1
- package/dist/shell.js.map +1 -1
- package/dist/util/console.printer.js.map +1 -1
- package/dist/util/csv.formatter.js.map +1 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/json.formatter.js.map +1 -1
- package/dist/util/logger.js.map +1 -1
- package/dist/util/xml.formatter.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/esbuild.config.js +49 -49
- package/headless-setup.sh +6 -6
- package/package.json +59 -59
- package/src/commands/connect.ts +24 -24
- package/src/commands/create.ts +70 -70
- package/src/commands/diff.ts +41 -41
- package/src/commands/get.ts +214 -214
- package/src/commands/globalOptions.ts +127 -127
- package/src/commands/import.ts +128 -128
- package/src/commands/index.ts +80 -80
- package/src/commands/list.ts +116 -116
- package/src/commands/login.ts +34 -34
- package/src/commands/push.ts +127 -127
- package/src/commands/release.ts +32 -32
- package/src/commands/remove.ts +85 -85
- package/src/commands/set.ts +96 -96
- package/src/index.ts +19 -19
- package/src/localisation/en-GB.ts +289 -289
- package/src/models/AppError.d.ts +40 -40
- package/src/models/Cache.d.ts +25 -25
- package/src/models/JsModules.d.ts +1 -1
- package/src/providers/CredentialProvider.ts +121 -121
- package/src/providers/SessionCacheProvider.ts +101 -101
- package/src/providers/file-provider.ts +76 -76
- package/src/services/ContensisAuthService.ts +70 -70
- package/src/services/ContensisCliService.ts +1745 -1745
- package/src/shell.ts +270 -270
- package/src/util/console.printer.ts +371 -371
- package/src/util/csv.formatter.ts +21 -21
- package/src/util/index.ts +73 -73
- package/src/util/json.formatter.ts +1 -1
- package/src/util/logger.ts +234 -234
- package/src/util/xml.formatter.ts +20 -20
- package/src/version.ts +1 -1
- package/tsconfig.json +22 -22
package/src/commands/login.ts
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { cliCommand } from '~/services/ContensisCliService';
|
|
3
|
-
import { shell } from '~/shell';
|
|
4
|
-
|
|
5
|
-
export const makeLoginCommand = () => {
|
|
6
|
-
const login = new Command()
|
|
7
|
-
.command('login')
|
|
8
|
-
.description('login to a connected Contensis instance')
|
|
9
|
-
.argument('<user/clientId>', 'the username to login with')
|
|
10
|
-
.argument(
|
|
11
|
-
'[password]',
|
|
12
|
-
'the password to use to login with (optional/insecure)'
|
|
13
|
-
)
|
|
14
|
-
.option(
|
|
15
|
-
'-s, --shared-secret <sharedSecret>',
|
|
16
|
-
'the shared secret to use when logging in with a client id'
|
|
17
|
-
)
|
|
18
|
-
.usage('<user/clientId> [password] [-s <sharedSecret>]')
|
|
19
|
-
.addHelpText(
|
|
20
|
-
'after',
|
|
21
|
-
`
|
|
22
|
-
Example call:
|
|
23
|
-
> login myuserid\n -- or --\n > login {clientId} -s {sharedSecret}
|
|
24
|
-
`
|
|
25
|
-
)
|
|
26
|
-
.action(async (user, password, opts) => {
|
|
27
|
-
const token = await cliCommand(['login', user]).Login(user, {
|
|
28
|
-
password,
|
|
29
|
-
sharedSecret: opts.sharedSecret,
|
|
30
|
-
});
|
|
31
|
-
if (token) await shell().restart();
|
|
32
|
-
});
|
|
33
|
-
return login;
|
|
34
|
-
};
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { cliCommand } from '~/services/ContensisCliService';
|
|
3
|
+
import { shell } from '~/shell';
|
|
4
|
+
|
|
5
|
+
export const makeLoginCommand = () => {
|
|
6
|
+
const login = new Command()
|
|
7
|
+
.command('login')
|
|
8
|
+
.description('login to a connected Contensis instance')
|
|
9
|
+
.argument('<user/clientId>', 'the username to login with')
|
|
10
|
+
.argument(
|
|
11
|
+
'[password]',
|
|
12
|
+
'the password to use to login with (optional/insecure)'
|
|
13
|
+
)
|
|
14
|
+
.option(
|
|
15
|
+
'-s, --shared-secret <sharedSecret>',
|
|
16
|
+
'the shared secret to use when logging in with a client id'
|
|
17
|
+
)
|
|
18
|
+
.usage('<user/clientId> [password] [-s <sharedSecret>]')
|
|
19
|
+
.addHelpText(
|
|
20
|
+
'after',
|
|
21
|
+
`
|
|
22
|
+
Example call:
|
|
23
|
+
> login myuserid\n -- or --\n > login {clientId} -s {sharedSecret}
|
|
24
|
+
`
|
|
25
|
+
)
|
|
26
|
+
.action(async (user, password, opts) => {
|
|
27
|
+
const token = await cliCommand(['login', user]).Login(user, {
|
|
28
|
+
password,
|
|
29
|
+
sharedSecret: opts.sharedSecret,
|
|
30
|
+
});
|
|
31
|
+
if (token) await shell().restart();
|
|
32
|
+
});
|
|
33
|
+
return login;
|
|
34
|
+
};
|
package/src/commands/push.ts
CHANGED
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import mapJson from 'jsonpath-mapper';
|
|
3
|
-
import { PushBlockParams } from 'migratortron';
|
|
4
|
-
import { cliCommand } from '~/services/ContensisCliService';
|
|
5
|
-
|
|
6
|
-
export const makePushCommand = () => {
|
|
7
|
-
const push = new Command()
|
|
8
|
-
.command('push')
|
|
9
|
-
.description('push command')
|
|
10
|
-
.addHelpText('after', `\n`)
|
|
11
|
-
.showHelpAfterError(true)
|
|
12
|
-
.exitOverride();
|
|
13
|
-
|
|
14
|
-
push
|
|
15
|
-
.command('block')
|
|
16
|
-
.description('push a block')
|
|
17
|
-
.argument('<block-id>', 'the name of the block to push to')
|
|
18
|
-
.argument(
|
|
19
|
-
'<image uri:tag>',
|
|
20
|
-
'the uri and tag of the container image to push as a block (tag default: latest)'
|
|
21
|
-
)
|
|
22
|
-
.argument('[branch]', 'the branch we are pushing to')
|
|
23
|
-
.option(
|
|
24
|
-
'-r, --release',
|
|
25
|
-
'whether to release the pushed block version',
|
|
26
|
-
false
|
|
27
|
-
)
|
|
28
|
-
.option(
|
|
29
|
-
'-cid, --commit-id <commitId>',
|
|
30
|
-
'the id of the source git commit for the supplied image uri'
|
|
31
|
-
)
|
|
32
|
-
.option(
|
|
33
|
-
'-cmsg, --commit-message <commitMessage>',
|
|
34
|
-
'the git commit message for the supplied commit id'
|
|
35
|
-
)
|
|
36
|
-
.option(
|
|
37
|
-
'-cdt, --commit-datetime <commitDateTime>',
|
|
38
|
-
'the timestamp of the source git commit for the supplied image uri'
|
|
39
|
-
)
|
|
40
|
-
.option(
|
|
41
|
-
'-author, --author-email <authorEmail>',
|
|
42
|
-
'the git email address of the author of the source git commit'
|
|
43
|
-
)
|
|
44
|
-
.option(
|
|
45
|
-
'-committer, --committer-email <committerEmail>',
|
|
46
|
-
'the git email address of the commiter of the source git commit'
|
|
47
|
-
)
|
|
48
|
-
.option(
|
|
49
|
-
'-repo, --repository-url <repositoryUrl>',
|
|
50
|
-
'the url of the source repository for the supplied image uri'
|
|
51
|
-
)
|
|
52
|
-
.option(
|
|
53
|
-
'-pr, --provider <sourceProvider>',
|
|
54
|
-
'the url of the source repository for the supplied image uri'
|
|
55
|
-
)
|
|
56
|
-
.usage('<block-id> <image uri> [branch] [options]')
|
|
57
|
-
.addHelpText(
|
|
58
|
-
'after',
|
|
59
|
-
`
|
|
60
|
-
Example call:
|
|
61
|
-
> push block contensis-app ghcr.io/contensis/contensis-app/app:build-4359 master --release\n`
|
|
62
|
-
)
|
|
63
|
-
.action(async (blockId: string, imageUri: string, branch: string, opts) => {
|
|
64
|
-
const cli = cliCommand(['push', 'block', blockId], opts);
|
|
65
|
-
const mapSourceVars = {
|
|
66
|
-
blockId,
|
|
67
|
-
imageUri,
|
|
68
|
-
branch,
|
|
69
|
-
...opts,
|
|
70
|
-
...process.env,
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
const blockRequest = mapJson(mapSourceVars, {
|
|
74
|
-
autoRelease: { $path: 'release', $default: () => false },
|
|
75
|
-
id: ['blockId'],
|
|
76
|
-
image: () => {
|
|
77
|
-
const lastIndexOfColon = imageUri.lastIndexOf(':');
|
|
78
|
-
return {
|
|
79
|
-
uri: imageUri.slice(0, lastIndexOfColon),
|
|
80
|
-
tag: imageUri.slice(lastIndexOfColon + 1) || 'latest',
|
|
81
|
-
};
|
|
82
|
-
},
|
|
83
|
-
projectId: () => cli.env.currentProject || '',
|
|
84
|
-
source: {
|
|
85
|
-
provider: {
|
|
86
|
-
$path: ['provider'],
|
|
87
|
-
$return: (provider: string, { GITHUB_ACTIONS, GITLAB_CI }) => {
|
|
88
|
-
if (provider) return provider;
|
|
89
|
-
if (GITHUB_ACTIONS) return 'Github';
|
|
90
|
-
else if (GITLAB_CI) return 'GitlabSelfHosted';
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
repositoryUrl: {
|
|
94
|
-
$path: ['repositoryUrl', 'CI_PROJECT_URL', 'GITHUB_REPOSITORY'],
|
|
95
|
-
$formatting: (url: string, { GITHUB_ACTIONS }) => {
|
|
96
|
-
if (GITHUB_ACTIONS) url = `https://github.com/${url}`;
|
|
97
|
-
|
|
98
|
-
if (url && !url.endsWith('.git')) return `${url}.git`;
|
|
99
|
-
return url;
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
branch: ['branch', 'CI_COMMIT_REF_NAME', 'GITHUB_REF_NAME'],
|
|
103
|
-
commit: {
|
|
104
|
-
id: ['commitId', 'CI_COMMIT_SHORT_SHA', 'GITHUB_SHA'],
|
|
105
|
-
message: {
|
|
106
|
-
$path: ['commitMessage', 'CI_COMMIT_MESSAGE'], // ${{ github.event.head_commit.message }}
|
|
107
|
-
$formatting: (msg?: string) =>
|
|
108
|
-
msg?.replace(/\\n/g, ' ').replace(/\\n/g, ' ').trim(),
|
|
109
|
-
},
|
|
110
|
-
dateTime: ['commitDatetime', 'CI_COMMIT_TIMESTAMP'], // ${{ github.event.head_commit.timestamp }}
|
|
111
|
-
authorEmail: ['authorEmail', 'GITLAB_USER_EMAIL', 'GITHUB_ACTOR'], // ${{ github.event.head_commit.author.email }}
|
|
112
|
-
committerEmail: [
|
|
113
|
-
'committerEmail',
|
|
114
|
-
'GITLAB_USER_EMAIL',
|
|
115
|
-
'GITHUB_TRIGGERING_ACTOR',
|
|
116
|
-
], // ${{ github.event.head_commit.committer.email }}
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
}) as PushBlockParams;
|
|
120
|
-
|
|
121
|
-
await cli.PushBlock(blockRequest);
|
|
122
|
-
|
|
123
|
-
// console.log(process.env);
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
return push;
|
|
127
|
-
};
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import mapJson from 'jsonpath-mapper';
|
|
3
|
+
import { PushBlockParams } from 'migratortron';
|
|
4
|
+
import { cliCommand } from '~/services/ContensisCliService';
|
|
5
|
+
|
|
6
|
+
export const makePushCommand = () => {
|
|
7
|
+
const push = new Command()
|
|
8
|
+
.command('push')
|
|
9
|
+
.description('push command')
|
|
10
|
+
.addHelpText('after', `\n`)
|
|
11
|
+
.showHelpAfterError(true)
|
|
12
|
+
.exitOverride();
|
|
13
|
+
|
|
14
|
+
push
|
|
15
|
+
.command('block')
|
|
16
|
+
.description('push a block')
|
|
17
|
+
.argument('<block-id>', 'the name of the block to push to')
|
|
18
|
+
.argument(
|
|
19
|
+
'<image uri:tag>',
|
|
20
|
+
'the uri and tag of the container image to push as a block (tag default: latest)'
|
|
21
|
+
)
|
|
22
|
+
.argument('[branch]', 'the branch we are pushing to')
|
|
23
|
+
.option(
|
|
24
|
+
'-r, --release',
|
|
25
|
+
'whether to release the pushed block version',
|
|
26
|
+
false
|
|
27
|
+
)
|
|
28
|
+
.option(
|
|
29
|
+
'-cid, --commit-id <commitId>',
|
|
30
|
+
'the id of the source git commit for the supplied image uri'
|
|
31
|
+
)
|
|
32
|
+
.option(
|
|
33
|
+
'-cmsg, --commit-message <commitMessage>',
|
|
34
|
+
'the git commit message for the supplied commit id'
|
|
35
|
+
)
|
|
36
|
+
.option(
|
|
37
|
+
'-cdt, --commit-datetime <commitDateTime>',
|
|
38
|
+
'the timestamp of the source git commit for the supplied image uri'
|
|
39
|
+
)
|
|
40
|
+
.option(
|
|
41
|
+
'-author, --author-email <authorEmail>',
|
|
42
|
+
'the git email address of the author of the source git commit'
|
|
43
|
+
)
|
|
44
|
+
.option(
|
|
45
|
+
'-committer, --committer-email <committerEmail>',
|
|
46
|
+
'the git email address of the commiter of the source git commit'
|
|
47
|
+
)
|
|
48
|
+
.option(
|
|
49
|
+
'-repo, --repository-url <repositoryUrl>',
|
|
50
|
+
'the url of the source repository for the supplied image uri'
|
|
51
|
+
)
|
|
52
|
+
.option(
|
|
53
|
+
'-pr, --provider <sourceProvider>',
|
|
54
|
+
'the url of the source repository for the supplied image uri'
|
|
55
|
+
)
|
|
56
|
+
.usage('<block-id> <image uri> [branch] [options]')
|
|
57
|
+
.addHelpText(
|
|
58
|
+
'after',
|
|
59
|
+
`
|
|
60
|
+
Example call:
|
|
61
|
+
> push block contensis-app ghcr.io/contensis/contensis-app/app:build-4359 master --release\n`
|
|
62
|
+
)
|
|
63
|
+
.action(async (blockId: string, imageUri: string, branch: string, opts) => {
|
|
64
|
+
const cli = cliCommand(['push', 'block', blockId], opts);
|
|
65
|
+
const mapSourceVars = {
|
|
66
|
+
blockId,
|
|
67
|
+
imageUri,
|
|
68
|
+
branch,
|
|
69
|
+
...opts,
|
|
70
|
+
...process.env,
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const blockRequest = mapJson(mapSourceVars, {
|
|
74
|
+
autoRelease: { $path: 'release', $default: () => false },
|
|
75
|
+
id: ['blockId'],
|
|
76
|
+
image: () => {
|
|
77
|
+
const lastIndexOfColon = imageUri.lastIndexOf(':');
|
|
78
|
+
return {
|
|
79
|
+
uri: imageUri.slice(0, lastIndexOfColon),
|
|
80
|
+
tag: imageUri.slice(lastIndexOfColon + 1) || 'latest',
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
projectId: () => cli.env.currentProject || '',
|
|
84
|
+
source: {
|
|
85
|
+
provider: {
|
|
86
|
+
$path: ['provider'],
|
|
87
|
+
$return: (provider: string, { GITHUB_ACTIONS, GITLAB_CI }) => {
|
|
88
|
+
if (provider) return provider;
|
|
89
|
+
if (GITHUB_ACTIONS) return 'Github';
|
|
90
|
+
else if (GITLAB_CI) return 'GitlabSelfHosted';
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
repositoryUrl: {
|
|
94
|
+
$path: ['repositoryUrl', 'CI_PROJECT_URL', 'GITHUB_REPOSITORY'],
|
|
95
|
+
$formatting: (url: string, { GITHUB_ACTIONS }) => {
|
|
96
|
+
if (GITHUB_ACTIONS) url = `https://github.com/${url}`;
|
|
97
|
+
|
|
98
|
+
if (url && !url.endsWith('.git')) return `${url}.git`;
|
|
99
|
+
return url;
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
branch: ['branch', 'CI_COMMIT_REF_NAME', 'GITHUB_REF_NAME'],
|
|
103
|
+
commit: {
|
|
104
|
+
id: ['commitId', 'CI_COMMIT_SHORT_SHA', 'GITHUB_SHA'],
|
|
105
|
+
message: {
|
|
106
|
+
$path: ['commitMessage', 'CI_COMMIT_MESSAGE'], // ${{ github.event.head_commit.message }}
|
|
107
|
+
$formatting: (msg?: string) =>
|
|
108
|
+
msg?.replace(/\\n/g, ' ').replace(/\\n/g, ' ').trim(),
|
|
109
|
+
},
|
|
110
|
+
dateTime: ['commitDatetime', 'CI_COMMIT_TIMESTAMP'], // ${{ github.event.head_commit.timestamp }}
|
|
111
|
+
authorEmail: ['authorEmail', 'GITLAB_USER_EMAIL', 'GITHUB_ACTOR'], // ${{ github.event.head_commit.author.email }}
|
|
112
|
+
committerEmail: [
|
|
113
|
+
'committerEmail',
|
|
114
|
+
'GITLAB_USER_EMAIL',
|
|
115
|
+
'GITHUB_TRIGGERING_ACTOR',
|
|
116
|
+
], // ${{ github.event.head_commit.committer.email }}
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
}) as PushBlockParams;
|
|
120
|
+
|
|
121
|
+
await cli.PushBlock(blockRequest);
|
|
122
|
+
|
|
123
|
+
// console.log(process.env);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
return push;
|
|
127
|
+
};
|
package/src/commands/release.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { cliCommand } from '~/services/ContensisCliService';
|
|
3
|
-
|
|
4
|
-
export const makeReleaseCommand = () => {
|
|
5
|
-
const release = new Command()
|
|
6
|
-
.command('release')
|
|
7
|
-
.description('release command')
|
|
8
|
-
.addHelpText('after', `\n`)
|
|
9
|
-
.showHelpAfterError(true)
|
|
10
|
-
.exitOverride();
|
|
11
|
-
|
|
12
|
-
release
|
|
13
|
-
.command('block')
|
|
14
|
-
.description('release a block version')
|
|
15
|
-
.argument('<block-id>', 'the name of the block to release')
|
|
16
|
-
.argument('<version>', 'the block version to release')
|
|
17
|
-
.usage('<block-id> <version>')
|
|
18
|
-
.addHelpText(
|
|
19
|
-
'after',
|
|
20
|
-
`
|
|
21
|
-
Example call:
|
|
22
|
-
> release block contensis-app 3\n`
|
|
23
|
-
)
|
|
24
|
-
.action(async (blockId: string, version: string, opts) => {
|
|
25
|
-
await cliCommand(['release', 'block', blockId], opts).ReleaseBlock(
|
|
26
|
-
blockId,
|
|
27
|
-
version
|
|
28
|
-
);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
return release;
|
|
32
|
-
};
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { cliCommand } from '~/services/ContensisCliService';
|
|
3
|
+
|
|
4
|
+
export const makeReleaseCommand = () => {
|
|
5
|
+
const release = new Command()
|
|
6
|
+
.command('release')
|
|
7
|
+
.description('release command')
|
|
8
|
+
.addHelpText('after', `\n`)
|
|
9
|
+
.showHelpAfterError(true)
|
|
10
|
+
.exitOverride();
|
|
11
|
+
|
|
12
|
+
release
|
|
13
|
+
.command('block')
|
|
14
|
+
.description('release a block version')
|
|
15
|
+
.argument('<block-id>', 'the name of the block to release')
|
|
16
|
+
.argument('<version>', 'the block version to release')
|
|
17
|
+
.usage('<block-id> <version>')
|
|
18
|
+
.addHelpText(
|
|
19
|
+
'after',
|
|
20
|
+
`
|
|
21
|
+
Example call:
|
|
22
|
+
> release block contensis-app 3\n`
|
|
23
|
+
)
|
|
24
|
+
.action(async (blockId: string, version: string, opts) => {
|
|
25
|
+
await cliCommand(['release', 'block', blockId], opts).ReleaseBlock(
|
|
26
|
+
blockId,
|
|
27
|
+
version
|
|
28
|
+
);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
return release;
|
|
32
|
+
};
|
package/src/commands/remove.ts
CHANGED
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { cliCommand } from '~/services/ContensisCliService';
|
|
3
|
-
import { shell } from '~/shell';
|
|
4
|
-
import { commit, mapContensisOpts, zenql } from './globalOptions';
|
|
5
|
-
|
|
6
|
-
export const makeRemoveCommand = () => {
|
|
7
|
-
const remove = new Command()
|
|
8
|
-
.command('remove')
|
|
9
|
-
.description('remove command')
|
|
10
|
-
.addHelpText('after', `\n`)
|
|
11
|
-
.showHelpAfterError(true)
|
|
12
|
-
.exitOverride();
|
|
13
|
-
|
|
14
|
-
remove
|
|
15
|
-
.command('project')
|
|
16
|
-
.description('remove an entire project')
|
|
17
|
-
.argument('<projectId>', 'the project id to delete')
|
|
18
|
-
.usage('<projectId>')
|
|
19
|
-
.addHelpText('after', `\n`)
|
|
20
|
-
.action(async (projectId, opts) => {
|
|
21
|
-
const project = await cliCommand(
|
|
22
|
-
['remove', 'project', projectId],
|
|
23
|
-
opts
|
|
24
|
-
).SetProject(projectId);
|
|
25
|
-
if (project) await shell().restart();
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
remove
|
|
29
|
-
.command('key')
|
|
30
|
-
.description('remove api key')
|
|
31
|
-
.argument('<id>', 'the id of the API key to delete')
|
|
32
|
-
.usage('<id>')
|
|
33
|
-
.addHelpText(
|
|
34
|
-
'after',
|
|
35
|
-
`
|
|
36
|
-
Example call:
|
|
37
|
-
> remove key 4ceb9575-28d3-4d5b-a77b-5e5221e603dd
|
|
38
|
-
`
|
|
39
|
-
)
|
|
40
|
-
.action(async (id, opts) => {
|
|
41
|
-
await cliCommand(['remove', 'key', id], opts).RemoveApiKey(id);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
remove
|
|
45
|
-
.command('components')
|
|
46
|
-
.description('delete components')
|
|
47
|
-
.argument('<id...>', 'the id(s) of the components to delete')
|
|
48
|
-
.addOption(commit)
|
|
49
|
-
.usage('<id> [--commit]')
|
|
50
|
-
.addHelpText(
|
|
51
|
-
'after',
|
|
52
|
-
`
|
|
53
|
-
Example call:
|
|
54
|
-
> remove components addressComponent
|
|
55
|
-
`
|
|
56
|
-
)
|
|
57
|
-
.action(async (id: string[], opts) => {
|
|
58
|
-
await cliCommand(
|
|
59
|
-
['remove', 'components', id.join(' ')],
|
|
60
|
-
opts
|
|
61
|
-
).RemoveComponents(id, opts.commit);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
remove
|
|
65
|
-
.command('contenttypes')
|
|
66
|
-
.description('delete content types')
|
|
67
|
-
.argument('<id...>', 'the id(s) of the content types to delete')
|
|
68
|
-
.addOption(commit)
|
|
69
|
-
.usage('<id> [--commit]')
|
|
70
|
-
.addHelpText(
|
|
71
|
-
'after',
|
|
72
|
-
`
|
|
73
|
-
Example call:
|
|
74
|
-
> remove contenttypes blogPost
|
|
75
|
-
`
|
|
76
|
-
)
|
|
77
|
-
.action(async (id: string[], opts) => {
|
|
78
|
-
await cliCommand(
|
|
79
|
-
['remove', 'contenttypes', id.join(' ')],
|
|
80
|
-
opts
|
|
81
|
-
).RemoveContentTypes(id, opts.commit);
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
return remove;
|
|
85
|
-
};
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { cliCommand } from '~/services/ContensisCliService';
|
|
3
|
+
import { shell } from '~/shell';
|
|
4
|
+
import { commit, mapContensisOpts, zenql } from './globalOptions';
|
|
5
|
+
|
|
6
|
+
export const makeRemoveCommand = () => {
|
|
7
|
+
const remove = new Command()
|
|
8
|
+
.command('remove')
|
|
9
|
+
.description('remove command')
|
|
10
|
+
.addHelpText('after', `\n`)
|
|
11
|
+
.showHelpAfterError(true)
|
|
12
|
+
.exitOverride();
|
|
13
|
+
|
|
14
|
+
remove
|
|
15
|
+
.command('project')
|
|
16
|
+
.description('remove an entire project')
|
|
17
|
+
.argument('<projectId>', 'the project id to delete')
|
|
18
|
+
.usage('<projectId>')
|
|
19
|
+
.addHelpText('after', `\n`)
|
|
20
|
+
.action(async (projectId, opts) => {
|
|
21
|
+
const project = await cliCommand(
|
|
22
|
+
['remove', 'project', projectId],
|
|
23
|
+
opts
|
|
24
|
+
).SetProject(projectId);
|
|
25
|
+
if (project) await shell().restart();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
remove
|
|
29
|
+
.command('key')
|
|
30
|
+
.description('remove api key')
|
|
31
|
+
.argument('<id>', 'the id of the API key to delete')
|
|
32
|
+
.usage('<id>')
|
|
33
|
+
.addHelpText(
|
|
34
|
+
'after',
|
|
35
|
+
`
|
|
36
|
+
Example call:
|
|
37
|
+
> remove key 4ceb9575-28d3-4d5b-a77b-5e5221e603dd
|
|
38
|
+
`
|
|
39
|
+
)
|
|
40
|
+
.action(async (id, opts) => {
|
|
41
|
+
await cliCommand(['remove', 'key', id], opts).RemoveApiKey(id);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
remove
|
|
45
|
+
.command('components')
|
|
46
|
+
.description('delete components')
|
|
47
|
+
.argument('<id...>', 'the id(s) of the components to delete')
|
|
48
|
+
.addOption(commit)
|
|
49
|
+
.usage('<id> [--commit]')
|
|
50
|
+
.addHelpText(
|
|
51
|
+
'after',
|
|
52
|
+
`
|
|
53
|
+
Example call:
|
|
54
|
+
> remove components addressComponent
|
|
55
|
+
`
|
|
56
|
+
)
|
|
57
|
+
.action(async (id: string[], opts) => {
|
|
58
|
+
await cliCommand(
|
|
59
|
+
['remove', 'components', id.join(' ')],
|
|
60
|
+
opts
|
|
61
|
+
).RemoveComponents(id, opts.commit);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
remove
|
|
65
|
+
.command('contenttypes')
|
|
66
|
+
.description('delete content types')
|
|
67
|
+
.argument('<id...>', 'the id(s) of the content types to delete')
|
|
68
|
+
.addOption(commit)
|
|
69
|
+
.usage('<id> [--commit]')
|
|
70
|
+
.addHelpText(
|
|
71
|
+
'after',
|
|
72
|
+
`
|
|
73
|
+
Example call:
|
|
74
|
+
> remove contenttypes blogPost
|
|
75
|
+
`
|
|
76
|
+
)
|
|
77
|
+
.action(async (id: string[], opts) => {
|
|
78
|
+
await cliCommand(
|
|
79
|
+
['remove', 'contenttypes', id.join(' ')],
|
|
80
|
+
opts
|
|
81
|
+
).RemoveContentTypes(id, opts.commit);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
return remove;
|
|
85
|
+
};
|