bdy 1.17.4-dev → 1.17.6-dev
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/distTs/package.json +1 -1
- package/distTs/src/api/client.js +19 -4
- package/distTs/src/command/agent/install.js +24 -32
- package/distTs/src/command/api/info.js +1 -4
- package/distTs/src/command/api/list.js +1 -4
- package/distTs/src/command/api/request.js +1 -4
- package/distTs/src/command/login.js +3 -6
- package/distTs/src/command/logout.js +1 -7
- package/distTs/src/command/package/create.js +2 -5
- package/distTs/src/command/package/delete.js +1 -4
- package/distTs/src/command/package/docker/login.js +3 -6
- package/distTs/src/command/package/download.js +1 -4
- package/distTs/src/command/package/get.js +7 -10
- package/distTs/src/command/package/list.js +1 -4
- package/distTs/src/command/package/publish.js +4 -7
- package/distTs/src/command/package/version/delete.js +1 -4
- package/distTs/src/command/package/version/get.js +1 -4
- package/distTs/src/command/package/version/list.js +1 -4
- package/distTs/src/command/pipeline/run.js +2 -5
- package/distTs/src/command/project/git/credential.js +89 -0
- package/distTs/src/command/project/git.js +11 -0
- package/distTs/src/command/project/link.js +178 -0
- package/distTs/src/command/project/list.js +1 -4
- package/distTs/src/command/project/set.js +5 -16
- package/distTs/src/command/project.js +4 -0
- package/distTs/src/command/sandbox/cp.js +1 -4
- package/distTs/src/command/sandbox/create.js +1 -4
- package/distTs/src/command/sandbox/destroy.js +1 -4
- package/distTs/src/command/sandbox/endpoint/add.js +1 -1
- package/distTs/src/command/sandbox/endpoint/delete.js +1 -4
- package/distTs/src/command/sandbox/endpoint/get.js +1 -4
- package/distTs/src/command/sandbox/endpoint/list.js +1 -4
- package/distTs/src/command/sandbox/exec/command.js +1 -4
- package/distTs/src/command/sandbox/exec/kill.js +1 -4
- package/distTs/src/command/sandbox/exec/list.js +1 -4
- package/distTs/src/command/sandbox/exec/logs.js +1 -4
- package/distTs/src/command/sandbox/exec/status.js +1 -4
- package/distTs/src/command/sandbox/get.js +1 -4
- package/distTs/src/command/sandbox/list.js +1 -4
- package/distTs/src/command/sandbox/restart.js +1 -4
- package/distTs/src/command/sandbox/snapshot/create.js +1 -4
- package/distTs/src/command/sandbox/snapshot/delete.js +1 -4
- package/distTs/src/command/sandbox/snapshot/get.js +1 -4
- package/distTs/src/command/sandbox/snapshot/list.js +1 -4
- package/distTs/src/command/sandbox/start.js +1 -4
- package/distTs/src/command/sandbox/status.js +1 -4
- package/distTs/src/command/sandbox/stop.js +1 -4
- package/distTs/src/command/tunnel/http.js +2 -2
- package/distTs/src/command/tunnel/start.js +5 -2
- package/distTs/src/command/tunnel/tcp.js +2 -2
- package/distTs/src/command/tunnel/tls.js +2 -2
- package/distTs/src/command/whoami.js +9 -29
- package/distTs/src/command/workspace/list.js +2 -5
- package/distTs/src/command/workspace/set.js +2 -5
- package/distTs/src/input.js +40 -56
- package/distTs/src/output.js +46 -23
- package/distTs/src/project/cfg.js +52 -0
- package/distTs/src/texts.js +34 -11
- package/distTs/src/tunnel/cfg.js +3 -18
- package/distTs/src/tunnel/tunnel.js +25 -16
- package/distTs/src/utils.js +28 -7
- package/package.json +1 -1
package/distTs/package.json
CHANGED
package/distTs/src/api/client.js
CHANGED
|
@@ -248,7 +248,15 @@ class ApiClient {
|
|
|
248
248
|
parseResponseBody: true,
|
|
249
249
|
});
|
|
250
250
|
}
|
|
251
|
-
async
|
|
251
|
+
async createProject(workspace, body) {
|
|
252
|
+
return await this.request({
|
|
253
|
+
method: 'POST',
|
|
254
|
+
path: `/workspaces/${encodeURIComponent(workspace)}/projects`,
|
|
255
|
+
body,
|
|
256
|
+
parseResponseBody: true
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
async pipelineRun(workspace, project, pipelineId, body) {
|
|
252
260
|
return await this.request({
|
|
253
261
|
method: 'POST',
|
|
254
262
|
path: `/workspaces/${encodeURIComponent(workspace)}/projects/${encodeURIComponent(project)}/pipelines/${encodeURIComponent(pipelineId)}/executions`,
|
|
@@ -534,6 +542,13 @@ class ApiClient {
|
|
|
534
542
|
parseResponseBody: true,
|
|
535
543
|
});
|
|
536
544
|
}
|
|
545
|
+
async getProject(workspace, project) {
|
|
546
|
+
return await this.request({
|
|
547
|
+
method: 'GET',
|
|
548
|
+
path: `/workspaces/${encodeURIComponent(workspace)}/projects/${encodeURIComponent(project)}`,
|
|
549
|
+
parseResponseBody: true
|
|
550
|
+
});
|
|
551
|
+
}
|
|
537
552
|
async getProjects(workspace, page = 1, perPage = 100) {
|
|
538
553
|
const query = {
|
|
539
554
|
page: page.toString(),
|
|
@@ -628,7 +643,7 @@ class ApiClient {
|
|
|
628
643
|
rawResponseBody: true,
|
|
629
644
|
});
|
|
630
645
|
}
|
|
631
|
-
async
|
|
646
|
+
async createPackageVersion(workspace, pkgId, version) {
|
|
632
647
|
return await this.request({
|
|
633
648
|
method: 'POST',
|
|
634
649
|
path: `/workspaces/${encodeURIComponent(workspace)}/packages/${encodeURIComponent(pkgId)}/versions`,
|
|
@@ -638,7 +653,7 @@ class ApiClient {
|
|
|
638
653
|
parseResponseBody: true,
|
|
639
654
|
});
|
|
640
655
|
}
|
|
641
|
-
async
|
|
656
|
+
async createPackageVersionZip(workspace, pkgId, versionId, file) {
|
|
642
657
|
const form = new undici_1.FormData();
|
|
643
658
|
form.append('file', file);
|
|
644
659
|
return await this.request({
|
|
@@ -648,7 +663,7 @@ class ApiClient {
|
|
|
648
663
|
parseResponseBody: true,
|
|
649
664
|
});
|
|
650
665
|
}
|
|
651
|
-
async
|
|
666
|
+
async createPackage(workspace, data) {
|
|
652
667
|
return await this.request({
|
|
653
668
|
method: 'POST',
|
|
654
669
|
path: `/workspaces/${encodeURIComponent(workspace)}/packages`,
|
|
@@ -64,40 +64,36 @@ const installService = async (options) => {
|
|
|
64
64
|
if (!isSupported) {
|
|
65
65
|
output_1.default.exitError(texts_1.ERR_AGENT_NOT_SUPPORTED);
|
|
66
66
|
}
|
|
67
|
+
const { token, host } = await input_1.default.tunnelToken(options.token);
|
|
67
68
|
let id = '';
|
|
68
|
-
let
|
|
69
|
+
let agentToken = '';
|
|
69
70
|
let agent;
|
|
70
71
|
const port = input_1.default.port(options.port);
|
|
71
72
|
const target = !!options.target;
|
|
72
|
-
if (options.id && options.
|
|
73
|
+
if (options.id && options.agentToken) {
|
|
73
74
|
// if id & token passed set as it is
|
|
74
75
|
id = options.id;
|
|
75
|
-
|
|
76
|
+
agentToken = options.agentToken;
|
|
76
77
|
try {
|
|
77
|
-
agent = await buddy_1.default.fetchAgent(id,
|
|
78
|
+
agent = await buddy_1.default.fetchAgent(id, host, agentToken);
|
|
78
79
|
}
|
|
79
80
|
catch {
|
|
80
81
|
output_1.default.exitError(texts_1.ERR_AGENT_NOT_FOUND);
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
|
-
else {
|
|
84
|
-
// set global token if passed
|
|
85
|
-
await input_1.default.tunnelToken(options.token);
|
|
86
|
-
}
|
|
87
|
-
const host = cfg_1.default.getTokenHost();
|
|
88
84
|
if (!agent) {
|
|
89
85
|
const tags = prepareTags(options.tag);
|
|
90
|
-
agent = await buddy_1.default.register(true, target, host,
|
|
86
|
+
agent = await buddy_1.default.register(true, target, host, token, tags, (region) => {
|
|
91
87
|
cfg_1.default.setRegionIfNotSet(region);
|
|
92
88
|
});
|
|
93
89
|
id = agent.id;
|
|
94
|
-
|
|
90
|
+
agentToken = agent.token;
|
|
95
91
|
agent.destroy();
|
|
96
92
|
agent = null;
|
|
97
93
|
}
|
|
98
|
-
const saved = manager_1.default.system.saveSystemConfig(id, host,
|
|
94
|
+
const saved = manager_1.default.system.saveSystemConfig(id, host, agentToken, port, false, !!options.debug);
|
|
99
95
|
if (!saved) {
|
|
100
|
-
await removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host,
|
|
96
|
+
await removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, agentToken);
|
|
101
97
|
}
|
|
102
98
|
try {
|
|
103
99
|
manager_1.default.system.clearAgentFiles();
|
|
@@ -113,22 +109,22 @@ const installService = async (options) => {
|
|
|
113
109
|
}
|
|
114
110
|
await output_1.default.spinner(texts_1.TXT_ENABLING_AGENT);
|
|
115
111
|
try {
|
|
116
|
-
await manager_1.default.system.install(id, host,
|
|
112
|
+
await manager_1.default.system.install(id, host, agentToken, port, !!options.start, options.user, options.pass, !!options.debug);
|
|
117
113
|
}
|
|
118
114
|
catch {
|
|
119
|
-
await removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host,
|
|
115
|
+
await removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, agentToken);
|
|
120
116
|
}
|
|
121
117
|
if (options.start) {
|
|
122
118
|
const api = new agent_1.default(port);
|
|
123
119
|
await (0, wait_1.default)(api, 15000, () => {
|
|
124
|
-
removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host,
|
|
120
|
+
removeAllAndExit(texts_1.ERR_SWW_AGENT_ENABLING, id, host, agentToken);
|
|
125
121
|
}, () => {
|
|
126
122
|
output_1.default.exitSuccess(texts_1.TXT_AGENT_INSTALLED);
|
|
127
123
|
});
|
|
128
124
|
}
|
|
129
125
|
else {
|
|
130
126
|
try {
|
|
131
|
-
await buddy_1.default.markAgentAsInactive(id, host,
|
|
127
|
+
await buddy_1.default.markAgentAsInactive(id, host, agentToken);
|
|
132
128
|
}
|
|
133
129
|
catch {
|
|
134
130
|
// do nothing
|
|
@@ -141,26 +137,24 @@ const installApp = async (options) => {
|
|
|
141
137
|
logger_1.default.setDebug(true);
|
|
142
138
|
}
|
|
143
139
|
let id;
|
|
144
|
-
let
|
|
145
|
-
let token;
|
|
140
|
+
let agentToken;
|
|
146
141
|
const port = input_1.default.port(options.port);
|
|
147
|
-
if (options.id) {
|
|
142
|
+
if (options.id && options.agentToken) {
|
|
148
143
|
id = options.id;
|
|
149
|
-
|
|
144
|
+
agentToken = options.agentToken;
|
|
150
145
|
}
|
|
146
|
+
const { token, host } = await input_1.default.tunnelToken(options.token);
|
|
151
147
|
if (!id) {
|
|
152
|
-
await input_1.default.tunnelToken(options.token);
|
|
153
|
-
host = cfg_1.default.getTokenHost();
|
|
154
148
|
const tags = prepareTags(options.tag);
|
|
155
149
|
try {
|
|
156
150
|
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERING, false);
|
|
157
|
-
const agent = await buddy_1.default.register(true, !!options.target, host,
|
|
151
|
+
const agent = await buddy_1.default.register(true, !!options.target, host, token, tags, (region) => {
|
|
158
152
|
cfg_1.default.setRegionIfNotSet(region);
|
|
159
153
|
});
|
|
160
154
|
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERED);
|
|
161
155
|
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_REGISTERED);
|
|
162
156
|
id = agent.id;
|
|
163
|
-
|
|
157
|
+
agentToken = agent.token;
|
|
164
158
|
agent.destroy();
|
|
165
159
|
}
|
|
166
160
|
catch (err) {
|
|
@@ -171,13 +165,10 @@ const installApp = async (options) => {
|
|
|
171
165
|
}
|
|
172
166
|
}
|
|
173
167
|
else {
|
|
174
|
-
if (!host) {
|
|
175
|
-
host = cfg_1.default.getTokenHost();
|
|
176
|
-
}
|
|
177
168
|
try {
|
|
178
169
|
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHING);
|
|
179
170
|
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHING, false);
|
|
180
|
-
const agent = await buddy_1.default.fetchAgent(id, host,
|
|
171
|
+
const agent = await buddy_1.default.fetchAgent(id, host, agentToken);
|
|
181
172
|
agent.destroy();
|
|
182
173
|
logger_1.default.info(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHED);
|
|
183
174
|
output_1.default.normal(texts_1.TXT_AGENT_STANDALONE_AGENT_FETCHED);
|
|
@@ -189,7 +180,7 @@ const installApp = async (options) => {
|
|
|
189
180
|
output_1.default.exitError(err);
|
|
190
181
|
}
|
|
191
182
|
}
|
|
192
|
-
const saved = manager_1.default.system.saveSystemConfig(id, host,
|
|
183
|
+
const saved = manager_1.default.system.saveSystemConfig(id, host, agentToken, port, true, !!options.debug);
|
|
193
184
|
if (!saved) {
|
|
194
185
|
output_1.default.exitError(texts_1.ERR_SWW_AGENT_ENABLING);
|
|
195
186
|
}
|
|
@@ -198,7 +189,7 @@ const installApp = async (options) => {
|
|
|
198
189
|
}
|
|
199
190
|
else {
|
|
200
191
|
try {
|
|
201
|
-
await buddy_1.default.markAgentAsInactive(id, host,
|
|
192
|
+
await buddy_1.default.markAgentAsInactive(id, host, agentToken);
|
|
202
193
|
}
|
|
203
194
|
catch {
|
|
204
195
|
// do nothing
|
|
@@ -209,7 +200,8 @@ const installApp = async (options) => {
|
|
|
209
200
|
const commandAgentInstall = (0, utils_1.newCommand)('install', texts_1.DESC_COMMAND_AGENT_INSTALL);
|
|
210
201
|
commandAgentInstall.option('-s, --start [true|false]', texts_1.OPTION_AGENT_START, 'true');
|
|
211
202
|
commandAgentInstall.option('-i, --id <id>', texts_1.OPTION_AGENT_ID);
|
|
212
|
-
commandAgentInstall.option('-
|
|
203
|
+
commandAgentInstall.option('--agent-token <agent-token>', texts_1.OPTION_AGENT_TOKEN);
|
|
204
|
+
commandAgentInstall.option('-t, --token <token>', texts_1.OPTION_TOKEN);
|
|
213
205
|
commandAgentInstall.option('-p, --port <port>', texts_1.OPTION_AGENT_PORT, '7456');
|
|
214
206
|
commandAgentInstall.option('-u, --user <user>', texts_1.OPTION_USER);
|
|
215
207
|
commandAgentInstall.option('-a,--app', texts_1.OPTION_APP);
|
|
@@ -288,9 +288,6 @@ const outputUrl = (url, method, data, workspace, project, requestSchema, respons
|
|
|
288
288
|
output_1.default.exitNormal();
|
|
289
289
|
};
|
|
290
290
|
const commandApiInfo = (0, utils_1.newCommand)('info', texts_1.DESC_COMMAND_API_INFO);
|
|
291
|
-
commandApiInfo.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
292
|
-
commandApiInfo.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
293
|
-
commandApiInfo.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
294
291
|
commandApiInfo.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
295
292
|
commandApiInfo.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
296
293
|
commandApiInfo.option('--request-schema <schema>', texts_1.OPT_COMMAND_API_INFO_SCHEMA);
|
|
@@ -301,7 +298,7 @@ commandApiInfo.action(async (fm, filterUrl, options) => {
|
|
|
301
298
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
302
299
|
const project = input_1.default.restApiProject(options.project, true);
|
|
303
300
|
const filterMethod = input_1.default.restApiMethod(fm, false);
|
|
304
|
-
const client = input_1.default.restApiTokenClient(
|
|
301
|
+
const client = input_1.default.restApiTokenClient(true);
|
|
305
302
|
const schema = await (0, utils_1.fetchOpenApiSchema)(client.baseUrl);
|
|
306
303
|
const paths = schema.paths || {};
|
|
307
304
|
Object.keys(paths).forEach((url) => {
|
|
@@ -27,9 +27,6 @@ const outputUrl = (url, method, data, workspace, project) => {
|
|
|
27
27
|
};
|
|
28
28
|
const commandApiList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_API_LIST);
|
|
29
29
|
commandApiList.alias('ls');
|
|
30
|
-
commandApiList.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
31
|
-
commandApiList.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
32
|
-
commandApiList.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
33
30
|
commandApiList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
34
31
|
commandApiList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
35
32
|
commandApiList.option('-m, --method <method>', texts_1.OPT_COMMAND_API_LIST_METHOD);
|
|
@@ -39,7 +36,7 @@ commandApiList.action(async (options) => {
|
|
|
39
36
|
const project = input_1.default.restApiProject(options.project, true);
|
|
40
37
|
const filterMethod = input_1.default.restApiMethod(options.method);
|
|
41
38
|
const filter = options.search;
|
|
42
|
-
const client = input_1.default.restApiTokenClient(
|
|
39
|
+
const client = input_1.default.restApiTokenClient(true);
|
|
43
40
|
const schema = await (0, utils_1.fetchOpenApiSchema)(client.baseUrl);
|
|
44
41
|
const paths = schema.paths || {};
|
|
45
42
|
Object.keys(paths).forEach((url) => {
|
|
@@ -81,7 +81,7 @@ const request = async (method, url, options) => {
|
|
|
81
81
|
output_1.default.handleSignals();
|
|
82
82
|
const workspace = input_1.default.restApiWorkspace(options.workspace, true);
|
|
83
83
|
const project = input_1.default.restApiProject(options.project, true);
|
|
84
|
-
const client = input_1.default.restApiTokenClient(
|
|
84
|
+
const client = input_1.default.restApiTokenClient();
|
|
85
85
|
const query = {};
|
|
86
86
|
if (options.query) {
|
|
87
87
|
options.query.forEach((q) => {
|
|
@@ -149,9 +149,6 @@ const newApiRequestCommand = (method, description, allowBody) => {
|
|
|
149
149
|
const command = (0, utils_1.newCommand)(method, description);
|
|
150
150
|
command.hideVersionUpdate = true;
|
|
151
151
|
command.alias(method.toUpperCase());
|
|
152
|
-
command.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
153
|
-
command.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
154
|
-
command.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
155
152
|
command.option('-w, --workspace <domain>', texts_1.DESC_COMMAND_API_WORKSPACE);
|
|
156
153
|
command.option('-p, --project <name>', texts_1.DESC_COMMAND_API_PROJECT);
|
|
157
154
|
command.option('-q, --query <key:val...>', texts_1.DESC_COMMAND_API_REQUEST_QUERY);
|
|
@@ -31,7 +31,7 @@ const OAUTH_CLIENT_APP_SCOPES = [
|
|
|
31
31
|
'SANDBOX_MANAGE',
|
|
32
32
|
'PACKAGE_MANAGE',
|
|
33
33
|
'TUNNEL_MANAGE',
|
|
34
|
-
'UNIT_TEST_MANAGE'
|
|
34
|
+
'UNIT_TEST_MANAGE',
|
|
35
35
|
];
|
|
36
36
|
function normalizeBaseUrl(url) {
|
|
37
37
|
let normalized = url.trim();
|
|
@@ -161,14 +161,11 @@ async function authorizeToken(api, token, refreshToken, clientId, clientSecret,
|
|
|
161
161
|
workspace = await output_1.default.selectWorkspace(w.workspaces);
|
|
162
162
|
}
|
|
163
163
|
cfg_1.default.setWorkspace(workspace);
|
|
164
|
-
const p = await client.getProjects(workspace);
|
|
165
164
|
if (project) {
|
|
166
|
-
|
|
167
|
-
if (!found) {
|
|
168
|
-
output_1.default.exitError(texts_1.ERR_LOGIN_NO_PROJECT_FOUND);
|
|
169
|
-
}
|
|
165
|
+
await client.getProject(workspace, project);
|
|
170
166
|
}
|
|
171
167
|
else {
|
|
168
|
+
const p = await client.getProjects(workspace);
|
|
172
169
|
project = await output_1.default.selectProject(p.projects);
|
|
173
170
|
}
|
|
174
171
|
cfg_1.default.setProject(project);
|
|
@@ -7,18 +7,12 @@ const cfg_1 = __importDefault(require("../tunnel/cfg"));
|
|
|
7
7
|
const output_1 = __importDefault(require("../output"));
|
|
8
8
|
const texts_1 = require("../texts");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
|
-
const client_1 = __importDefault(require("../api/client"));
|
|
11
10
|
const input_1 = __importDefault(require("../input"));
|
|
12
11
|
const commandLogout = (0, utils_1.newCommand)('logout', texts_1.DESC_COMMAND_LOGOUT);
|
|
13
12
|
const tryRemovingApp = async () => {
|
|
14
13
|
try {
|
|
15
|
-
const token = cfg_1.default.getApiToken();
|
|
16
|
-
const refreshToken = cfg_1.default.getApiRefreshApiToken();
|
|
17
14
|
const clientId = cfg_1.default.getApiClientId();
|
|
18
|
-
const
|
|
19
|
-
const clientToken = cfg_1.default.getApiClientToken();
|
|
20
|
-
const baseUrl = input_1.default.restApiBaseUrl();
|
|
21
|
-
const client = new client_1.default(baseUrl, token, refreshToken, clientId, clientSecret, clientToken);
|
|
15
|
+
const client = input_1.default.restApiTokenClient(true);
|
|
22
16
|
await client.deleteApp(clientId);
|
|
23
17
|
}
|
|
24
18
|
catch {
|
|
@@ -10,9 +10,6 @@ const output_1 = __importDefault(require("../../output"));
|
|
|
10
10
|
const human_id_1 = __importDefault(require("human-id"));
|
|
11
11
|
const commandPackageCreate = (0, utils_1.newCommand)('create', texts_1.DESC_COMMAND_PACKAGE_CREATE);
|
|
12
12
|
commandPackageCreate.alias('add');
|
|
13
|
-
commandPackageCreate.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
14
|
-
commandPackageCreate.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
15
|
-
commandPackageCreate.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
16
13
|
commandPackageCreate.option('-i, --identifier <identifier>', texts_1.OPT_COMMAND_PACKAGE_CREATE_IDENTIFIER);
|
|
17
14
|
commandPackageCreate.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
18
15
|
commandPackageCreate.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
@@ -24,7 +21,7 @@ commandPackageCreate.addHelpText('after', texts_1.EXAMPLE_PACKAGE_CREATE);
|
|
|
24
21
|
commandPackageCreate.action(async (name, options) => {
|
|
25
22
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
26
23
|
const project = input_1.default.restApiProject(options.project, true);
|
|
27
|
-
const client = input_1.default.restApiTokenClient(
|
|
24
|
+
const client = input_1.default.restApiTokenClient();
|
|
28
25
|
const type = input_1.default.packageType(options.type);
|
|
29
26
|
const scope = input_1.default.packageScope(project);
|
|
30
27
|
if (!name) {
|
|
@@ -61,7 +58,7 @@ commandPackageCreate.action(async (name, options) => {
|
|
|
61
58
|
type: utils_1.PACKAGE_AUTH_TYPE.BUDDY,
|
|
62
59
|
};
|
|
63
60
|
}
|
|
64
|
-
const result = await client.
|
|
61
|
+
const result = await client.createPackage(workspace, data);
|
|
65
62
|
output_1.default.exitSuccess((0, texts_1.TXT_PACKAGE_CREATED)(client.baseUrl, workspace, result));
|
|
66
63
|
});
|
|
67
64
|
exports.default = commandPackageCreate;
|
|
@@ -9,16 +9,13 @@ const input_1 = __importDefault(require("../../input"));
|
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
10
|
const commandPackageDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_PACKAGE_DELETE);
|
|
11
11
|
commandPackageDelete.alias('rm');
|
|
12
|
-
commandPackageDelete.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
13
|
-
commandPackageDelete.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
14
|
-
commandPackageDelete.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
15
12
|
commandPackageDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
16
13
|
commandPackageDelete.option('-f, --force', texts_1.OPTION_CONFIRM_FORCE);
|
|
17
14
|
commandPackageDelete.argument('<identifier>', texts_1.OPT_COMMAND_PACKAGE_IDENTIFIER);
|
|
18
15
|
commandPackageDelete.addHelpText('after', texts_1.EXAMPLE_PACKAGE_DELETE);
|
|
19
16
|
commandPackageDelete.action(async (identifier, options) => {
|
|
20
17
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
21
|
-
const client = input_1.default.restApiTokenClient(
|
|
18
|
+
const client = input_1.default.restApiTokenClient();
|
|
22
19
|
const data = await client.getPackageVersionByIdentifier(workspace, null, identifier);
|
|
23
20
|
if (!data || !data.domain) {
|
|
24
21
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -8,15 +8,12 @@ const texts_1 = require("../../../texts");
|
|
|
8
8
|
const output_1 = __importDefault(require("../../../output"));
|
|
9
9
|
const input_1 = __importDefault(require("../../../input"));
|
|
10
10
|
const commandPackageDockerLogin = (0, utils_1.newCommand)('login', texts_1.DESC_COMMAND_PACKAGE_DOCKER_LOGIN);
|
|
11
|
-
commandPackageDockerLogin.
|
|
12
|
-
|
|
13
|
-
commandPackageDockerLogin.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
14
|
-
commandPackageDockerLogin.action(async (options) => {
|
|
15
|
-
const client = input_1.default.restApiTokenClient(options.api, options.region, options.token);
|
|
11
|
+
commandPackageDockerLogin.action(async () => {
|
|
12
|
+
const client = input_1.default.restApiTokenClient();
|
|
16
13
|
await client.getInvoker();
|
|
17
14
|
const host = (0, utils_1.getDockerRegistryHostByApiBaseUrl)(client.baseUrl);
|
|
18
15
|
const output = await (0, utils_1.execLocally)(`docker login ${host} -u buddy -p "${client.token}"`);
|
|
19
|
-
if (/Login\sSucceeded/
|
|
16
|
+
if (/Login\sSucceeded/gi.test(output)) {
|
|
20
17
|
output_1.default.exitSuccess(texts_1.TXT_PACKAGE_DOCKER_LOGIN_SUCCESS);
|
|
21
18
|
}
|
|
22
19
|
else {
|
|
@@ -48,9 +48,6 @@ const promises_1 = __importDefault(require("node:stream/promises"));
|
|
|
48
48
|
const unzipper_1 = __importStar(require("../../unzipper"));
|
|
49
49
|
const commandPackageDownload = (0, utils_1.newCommand)('download', texts_1.DESC_COMMAND_PACKAGE_DOWNLOAD);
|
|
50
50
|
commandPackageDownload.alias('dd');
|
|
51
|
-
commandPackageDownload.option('-t, --token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
52
|
-
commandPackageDownload.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
53
|
-
commandPackageDownload.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
54
51
|
commandPackageDownload.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
55
52
|
commandPackageDownload.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
56
53
|
commandPackageDownload.option('-m, --merge', texts_1.OPTION_PACKAGE_DOWNLOAD_MERGE);
|
|
@@ -59,7 +56,7 @@ commandPackageDownload.argument('<identifier>', texts_1.OPTION_PACKAGE_ID);
|
|
|
59
56
|
commandPackageDownload.argument('<directory>', texts_1.OPTION_PACKAGE_DOWNLOAD_PATH);
|
|
60
57
|
commandPackageDownload.addHelpText('after', texts_1.EXAMPLE_PACKAGE_DOWNLOAD);
|
|
61
58
|
commandPackageDownload.action(async (id, path, options) => {
|
|
62
|
-
const client = input_1.default.restApiTokenClient(
|
|
59
|
+
const client = input_1.default.restApiTokenClient();
|
|
63
60
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
64
61
|
const project = input_1.default.restApiProject(options.project, true);
|
|
65
62
|
// eslint-disable-next-line prefer-const
|
|
@@ -8,16 +8,13 @@ const texts_1 = require("../../texts");
|
|
|
8
8
|
const input_1 = __importDefault(require("../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../output"));
|
|
10
10
|
const commandSandboxGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_PACKAGE_GET);
|
|
11
|
-
commandSandboxGet.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
12
|
-
commandSandboxGet.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
13
|
-
commandSandboxGet.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
14
11
|
commandSandboxGet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
15
12
|
commandSandboxGet.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
16
13
|
commandSandboxGet.argument('<identifier>', texts_1.OPTION_SANDBOX_IDENTIFIER);
|
|
17
14
|
commandSandboxGet.action(async (identifier, options) => {
|
|
18
15
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
19
16
|
const project = input_1.default.restApiProject(options.project, true);
|
|
20
|
-
const client = input_1.default.restApiTokenClient(
|
|
17
|
+
const client = input_1.default.restApiTokenClient();
|
|
21
18
|
const data = await client.getPackageVersionByIdentifier(workspace, project, identifier);
|
|
22
19
|
if (!data || !data.domain) {
|
|
23
20
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -27,12 +24,12 @@ commandSandboxGet.action(async (identifier, options) => {
|
|
|
27
24
|
}
|
|
28
25
|
const pkg = await client.getPackage(workspace, data.pkg_id);
|
|
29
26
|
output_1.default.object({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
Name: pkg.name,
|
|
28
|
+
Identifier: pkg.identifier,
|
|
29
|
+
Type: pkg.type,
|
|
30
|
+
Scope: pkg.scope,
|
|
31
|
+
Size: (0, utils_1.formatBytes)(pkg.size || 0),
|
|
32
|
+
Created: pkg.created_date,
|
|
36
33
|
});
|
|
37
34
|
output_1.default.exitNormal(`\n${(0, texts_1.TXT_PACKAGE_PUBLISH)(client.baseUrl, workspace, pkg)}`);
|
|
38
35
|
});
|
|
@@ -8,16 +8,13 @@ const texts_1 = require("../../texts");
|
|
|
8
8
|
const utils_1 = require("../../utils");
|
|
9
9
|
const input_1 = __importDefault(require("../../input"));
|
|
10
10
|
const commandPackageList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_PACKAGE_LIST);
|
|
11
|
-
commandPackageList.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
12
|
-
commandPackageList.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
13
|
-
commandPackageList.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
14
11
|
commandPackageList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
15
12
|
commandPackageList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
16
13
|
commandPackageList.alias('ls');
|
|
17
14
|
commandPackageList.action(async (options) => {
|
|
18
15
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
19
16
|
const project = input_1.default.restApiProject(options.project, true);
|
|
20
|
-
const client = input_1.default.restApiTokenClient(
|
|
17
|
+
const client = input_1.default.restApiTokenClient();
|
|
21
18
|
const response = await client.getPackages(workspace, project);
|
|
22
19
|
if (!response.packages || response.packages.length === 0) {
|
|
23
20
|
output_1.default.exitError(texts_1.ERR_COMMAND_PACKAGE_NO_PROJECTS);
|
|
@@ -14,9 +14,6 @@ const path_1 = require("path");
|
|
|
14
14
|
const uuid_1 = require("uuid");
|
|
15
15
|
const commandPackagePublish = (0, utils_1.newCommand)('publish', texts_1.DESC_COMMAND_PACKAGE_PUBLISH);
|
|
16
16
|
commandPackagePublish.alias('pub');
|
|
17
|
-
commandPackagePublish.option('-t, --token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
18
|
-
commandPackagePublish.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
19
|
-
commandPackagePublish.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
20
17
|
commandPackagePublish.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
21
18
|
commandPackagePublish.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
22
19
|
commandPackagePublish.option('-c, --create', texts_1.OPTION_PACKAGE_PUBLISH_CREATE);
|
|
@@ -32,7 +29,7 @@ commandPackagePublish.action(async (id, path, options) => {
|
|
|
32
29
|
let { identifier, version } = input_1.default.packageSplitIdentifier(id);
|
|
33
30
|
if (!version)
|
|
34
31
|
version = (0, uuid_1.v4)();
|
|
35
|
-
const client = input_1.default.restApiTokenClient(
|
|
32
|
+
const client = input_1.default.restApiTokenClient();
|
|
36
33
|
const data = await client.getPackageVersionByIdentifier(workspace, project, identifier, version);
|
|
37
34
|
if (!data || !data.domain) {
|
|
38
35
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -58,7 +55,7 @@ commandPackagePublish.action(async (id, path, options) => {
|
|
|
58
55
|
name: project,
|
|
59
56
|
};
|
|
60
57
|
}
|
|
61
|
-
const d = await client.
|
|
58
|
+
const d = await client.createPackage(workspace, data);
|
|
62
59
|
packageId = d.id;
|
|
63
60
|
}
|
|
64
61
|
else {
|
|
@@ -71,7 +68,7 @@ commandPackagePublish.action(async (id, path, options) => {
|
|
|
71
68
|
output_1.default.exitError(texts_1.ERR_PACKAGE_VERSION_EXISTS);
|
|
72
69
|
}
|
|
73
70
|
if (!packageVersionId) {
|
|
74
|
-
const d = await client.
|
|
71
|
+
const d = await client.createPackageVersion(workspace, packageId, version);
|
|
75
72
|
url = d.version_url;
|
|
76
73
|
packageVersionId = d.id;
|
|
77
74
|
}
|
|
@@ -144,7 +141,7 @@ commandPackagePublish.action(async (id, path, options) => {
|
|
|
144
141
|
}
|
|
145
142
|
try {
|
|
146
143
|
output_1.default.normal(texts_1.TXT_PACKAGE_UPLOADING);
|
|
147
|
-
await client.
|
|
144
|
+
await client.createPackageVersionZip(workspace, packageId, packageVersionId, blob);
|
|
148
145
|
output_1.default.clearPreviousLine();
|
|
149
146
|
output_1.default.normal(texts_1.TXT_PACKAGE_UPLOADED);
|
|
150
147
|
clearZip();
|
|
@@ -9,9 +9,6 @@ const input_1 = __importDefault(require("../../../input"));
|
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
10
|
const commandPackageVersionDelete = (0, utils_1.newCommand)('delete', texts_1.DESC_COMMAND_PACKAGE_VERSION_DELETE);
|
|
11
11
|
commandPackageVersionDelete.alias('rm');
|
|
12
|
-
commandPackageVersionDelete.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
13
|
-
commandPackageVersionDelete.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
14
|
-
commandPackageVersionDelete.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
15
12
|
commandPackageVersionDelete.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
16
13
|
commandPackageVersionDelete.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
17
14
|
commandPackageVersionDelete.argument('<identifier>', texts_1.OPT_COMMAND_PACKAGE_IDENTIFIER);
|
|
@@ -21,7 +18,7 @@ commandPackageVersionDelete.addHelpText('after', texts_1.EXAMPLE_PACKAGE_VERSION
|
|
|
21
18
|
commandPackageVersionDelete.action(async (identifier, version, options) => {
|
|
22
19
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
23
20
|
const project = input_1.default.restApiProject(options.project, true);
|
|
24
|
-
const client = input_1.default.restApiTokenClient(
|
|
21
|
+
const client = input_1.default.restApiTokenClient();
|
|
25
22
|
const data = await client.getPackageVersionByIdentifier(workspace, project, identifier, version);
|
|
26
23
|
if (!data || !data.domain) {
|
|
27
24
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -8,9 +8,6 @@ const texts_1 = require("../../../texts");
|
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
10
|
const commandPackageVersionGet = (0, utils_1.newCommand)('get', texts_1.DESC_COMMAND_PACKAGE_VERSION_GET);
|
|
11
|
-
commandPackageVersionGet.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
12
|
-
commandPackageVersionGet.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
13
|
-
commandPackageVersionGet.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
14
11
|
commandPackageVersionGet.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
15
12
|
commandPackageVersionGet.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
16
13
|
commandPackageVersionGet.argument('<identifier>', texts_1.OPT_COMMAND_PACKAGE_IDENTIFIER);
|
|
@@ -19,7 +16,7 @@ commandPackageVersionGet.addHelpText('after', texts_1.EXAMPLE_PACKAGE_VERSION_GE
|
|
|
19
16
|
commandPackageVersionGet.action(async (identifier, version, options) => {
|
|
20
17
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
21
18
|
const project = input_1.default.restApiProject(options.project, true);
|
|
22
|
-
const client = input_1.default.restApiTokenClient(
|
|
19
|
+
const client = input_1.default.restApiTokenClient();
|
|
23
20
|
const data = await client.getPackageVersionByIdentifier(workspace, project, identifier, version);
|
|
24
21
|
if (!data || !data.domain) {
|
|
25
22
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -8,9 +8,6 @@ const texts_1 = require("../../../texts");
|
|
|
8
8
|
const input_1 = __importDefault(require("../../../input"));
|
|
9
9
|
const output_1 = __importDefault(require("../../../output"));
|
|
10
10
|
const commandPackageVersionList = (0, utils_1.newCommand)('list', texts_1.DESC_COMMAND_PACKAGE_VERSION_LIST);
|
|
11
|
-
commandPackageVersionList.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
12
|
-
commandPackageVersionList.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
13
|
-
commandPackageVersionList.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
14
11
|
commandPackageVersionList.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
15
12
|
commandPackageVersionList.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
16
13
|
commandPackageVersionList.option('--page <number>', texts_1.OPTION_REST_API_PAGE, '1');
|
|
@@ -23,7 +20,7 @@ commandPackageVersionList.action(async (identifier, options) => {
|
|
|
23
20
|
const perPage = input_1.default.restApiPerPage(options.perPage);
|
|
24
21
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
25
22
|
const project = input_1.default.restApiProject(options.project, true);
|
|
26
|
-
const client = input_1.default.restApiTokenClient(
|
|
23
|
+
const client = input_1.default.restApiTokenClient();
|
|
27
24
|
const data = await client.getPackageVersionByIdentifier(workspace, project, identifier);
|
|
28
25
|
if (!data || !data.domain) {
|
|
29
26
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -9,9 +9,6 @@ const output_1 = __importDefault(require("../../output"));
|
|
|
9
9
|
const input_1 = __importDefault(require("../../input"));
|
|
10
10
|
const format_1 = __importDefault(require("../../format"));
|
|
11
11
|
const commandPipelineRun = (0, utils_1.newCommand)('run', texts_1.DESC_COMMAND_PIPELINE_RUN);
|
|
12
|
-
commandPipelineRun.option('--token <token>', texts_1.OPTION_REST_API_TOKEN);
|
|
13
|
-
commandPipelineRun.option('--api <url>', texts_1.OPTION_REST_API_ENDPOINT);
|
|
14
|
-
commandPipelineRun.option('--region <region>', texts_1.OPTION_REST_API_REGION);
|
|
15
12
|
commandPipelineRun.option('-w, --workspace <domain>', texts_1.OPTION_REST_API_WORKSPACE);
|
|
16
13
|
commandPipelineRun.option('-p, --project <name>', texts_1.OPTION_REST_API_PROJECT);
|
|
17
14
|
commandPipelineRun.option('-b, --branch <branch>', texts_1.OPTION_PIPELINE_RUN_BRANCH);
|
|
@@ -33,7 +30,7 @@ commandPipelineRun.addHelpText('after', texts_1.EXAMPLE_PIPELINE_RUN);
|
|
|
33
30
|
commandPipelineRun.action(async (identifier, options) => {
|
|
34
31
|
const workspace = input_1.default.restApiWorkspace(options.workspace);
|
|
35
32
|
const project = input_1.default.restApiProject(options.project);
|
|
36
|
-
const client = input_1.default.restApiTokenClient(
|
|
33
|
+
const client = input_1.default.restApiTokenClient();
|
|
37
34
|
const data = await client.getPipelineByIdentifier(workspace, project, identifier);
|
|
38
35
|
if (!data || !data.domain) {
|
|
39
36
|
output_1.default.exitError(texts_1.ERR_WORKSPACE_NOT_FOUND);
|
|
@@ -93,7 +90,7 @@ commandPipelineRun.action(async (identifier, options) => {
|
|
|
93
90
|
if (actions) {
|
|
94
91
|
body.actions_to_run = actions;
|
|
95
92
|
}
|
|
96
|
-
const result = await client.
|
|
93
|
+
const result = await client.pipelineRun(workspace, project, data.pipeline_id, body);
|
|
97
94
|
if (options.wait) {
|
|
98
95
|
const minutes = input_1.default.pipelineRunWaitTime(options.wait);
|
|
99
96
|
wait(minutes, workspace, project, data.pipeline_id, result.id, result.html_url, client);
|