nexusapp-cli 2.1.1 → 3.0.0

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.
Files changed (56) hide show
  1. package/dist/index.js +8 -0
  2. package/package.json +8 -2
  3. package/src/commands/bucket.ts +261 -0
  4. package/src/commands/database.ts +35 -0
  5. package/src/commands/deploy.ts +138 -4
  6. package/src/commands/exec.ts +154 -0
  7. package/src/commands/managedDb.ts +170 -0
  8. package/src/commands/volume.ts +113 -0
  9. package/src/index.ts +8 -0
  10. package/dist/client.d.ts +0 -6
  11. package/dist/client.d.ts.map +0 -1
  12. package/dist/client.js +0 -63
  13. package/dist/client.js.map +0 -1
  14. package/dist/commands/auth.d.ts +0 -3
  15. package/dist/commands/auth.d.ts.map +0 -1
  16. package/dist/commands/auth.js +0 -178
  17. package/dist/commands/auth.js.map +0 -1
  18. package/dist/commands/database.d.ts +0 -3
  19. package/dist/commands/database.d.ts.map +0 -1
  20. package/dist/commands/database.js +0 -312
  21. package/dist/commands/database.js.map +0 -1
  22. package/dist/commands/deploy.d.ts +0 -3
  23. package/dist/commands/deploy.d.ts.map +0 -1
  24. package/dist/commands/deploy.js +0 -868
  25. package/dist/commands/deploy.js.map +0 -1
  26. package/dist/commands/domain.d.ts +0 -3
  27. package/dist/commands/domain.d.ts.map +0 -1
  28. package/dist/commands/domain.js +0 -174
  29. package/dist/commands/domain.js.map +0 -1
  30. package/dist/commands/member.d.ts +0 -3
  31. package/dist/commands/member.d.ts.map +0 -1
  32. package/dist/commands/member.js +0 -175
  33. package/dist/commands/member.js.map +0 -1
  34. package/dist/commands/project.d.ts +0 -3
  35. package/dist/commands/project.d.ts.map +0 -1
  36. package/dist/commands/project.js +0 -92
  37. package/dist/commands/project.js.map +0 -1
  38. package/dist/commands/secret.d.ts +0 -3
  39. package/dist/commands/secret.d.ts.map +0 -1
  40. package/dist/commands/secret.js +0 -121
  41. package/dist/commands/secret.js.map +0 -1
  42. package/dist/commands/token.d.ts +0 -3
  43. package/dist/commands/token.d.ts.map +0 -1
  44. package/dist/commands/token.js +0 -179
  45. package/dist/commands/token.js.map +0 -1
  46. package/dist/config.d.ts +0 -10
  47. package/dist/config.d.ts.map +0 -1
  48. package/dist/config.js +0 -53
  49. package/dist/config.js.map +0 -1
  50. package/dist/index.d.ts +0 -3
  51. package/dist/index.d.ts.map +0 -1
  52. package/dist/index.js.map +0 -1
  53. package/dist/output.d.ts +0 -9
  54. package/dist/output.d.ts.map +0 -1
  55. package/dist/output.js +0 -71
  56. package/dist/output.js.map +0 -1
@@ -1,178 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerAuth = registerAuth;
7
- const http_1 = __importDefault(require("http"));
8
- const child_process_1 = require("child_process");
9
- const axios_1 = __importDefault(require("axios"));
10
- const config_js_1 = require("../config.js");
11
- const client_js_1 = require("../client.js");
12
- const output_js_1 = require("../output.js");
13
- function openBrowser(url) {
14
- const platform = process.platform;
15
- if (platform === 'darwin') {
16
- (0, child_process_1.execFile)('open', [url], () => { });
17
- }
18
- else if (platform === 'win32') {
19
- (0, child_process_1.execFile)('cmd', ['/c', 'start', '', url], () => { });
20
- }
21
- else {
22
- (0, child_process_1.execFile)('xdg-open', [url], () => { });
23
- }
24
- }
25
- function successHtml(webUrl) {
26
- return `<!DOCTYPE html><html><head><meta charset="utf-8"><title>NEXUS AI CLI</title>
27
- <style>
28
- *{box-sizing:border-box;margin:0;padding:0}
29
- body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;display:flex;align-items:center;justify-content:center;height:100vh;background:#0b0c12;color:#e5e7eb}
30
- .box{text-align:center;padding:2.5rem 3rem;background:#ffffff08;border:1px solid #ffffff14;border-radius:1.25rem;max-width:360px;width:90%}
31
- .logo{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:2rem}
32
- .logo img{height:2.25rem;width:2.25rem}
33
- .logo-name{font-size:1rem;font-weight:600;color:#fff;letter-spacing:-.01em}
34
- .check{width:2.75rem;height:2.75rem;background:#0ea5e920;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
35
- .check svg{width:1.25rem;height:1.25rem;stroke:#38bdf8;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
36
- .title{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.4rem}
37
- .sub{color:#6b7280;font-size:.85rem;line-height:1.5}
38
- </style></head>
39
- <body><div class="box">
40
- <div class="logo">
41
- <img src="${webUrl}/logo.svg" alt="NEXUS AI" onerror="this.style.display='none'">
42
- <span class="logo-name">NEXUS AI</span>
43
- </div>
44
- <div class="check"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
45
- <div class="title">Authorization successful</div>
46
- <div class="sub">You can close this tab and return to your terminal.</div>
47
- </div></body></html>`;
48
- }
49
- function waitForCallback(server, webUrl) {
50
- return new Promise((resolve, reject) => {
51
- const timeout = setTimeout(() => {
52
- server.close();
53
- reject(new Error('Timed out waiting for browser authorization (2 minutes).'));
54
- }, 120000);
55
- server.on('request', (req, res) => {
56
- const url = new URL(req.url, `http://localhost`);
57
- const token = url.searchParams.get('token');
58
- const tokenId = url.searchParams.get('tokenId') || '';
59
- const email = url.searchParams.get('email') || '';
60
- res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
61
- res.end(successHtml(webUrl));
62
- clearTimeout(timeout);
63
- server.close();
64
- if (!token) {
65
- reject(new Error('No token received from browser.'));
66
- }
67
- else {
68
- resolve({ token, tokenId, email });
69
- }
70
- });
71
- });
72
- }
73
- function registerAuth(program) {
74
- const auth = program.command('auth').description('Authentication commands');
75
- // login
76
- auth
77
- .command('login')
78
- .description('Log in to NEXUS AI via browser')
79
- .option('--api-url <url>', 'Backend API base URL (e.g. http://localhost:3001)')
80
- .option('--web-url <url>', 'Frontend URL (e.g. http://localhost:3002)')
81
- .option('--token <token>', 'Use an existing nxk_* access token directly')
82
- .action(async (opts) => {
83
- const apiUrl = opts.apiUrl || process.env.NEXUSAI_API_URL || 'https://nexusai.run';
84
- const webUrl = opts.webUrl || process.env.NEXUSAI_WEB_URL
85
- || apiUrl.replace(':3001', ':3002').replace('api.nexusai.run', 'nexusai.run');
86
- // --token shortcut: skip browser
87
- if (opts.token) {
88
- try {
89
- const res = await axios_1.default.get(`${apiUrl}/api/auth/verify`, {
90
- headers: { Authorization: `Bearer ${opts.token}` },
91
- });
92
- const user = res.data;
93
- (0, config_js_1.saveConfig)({ apiUrl, token: opts.token, tokenId: '' });
94
- (0, output_js_1.success)(`Logged in as ${user.email || user.user?.email}`);
95
- }
96
- catch (err) {
97
- (0, output_js_1.errorMsg)('Token verification failed: ' + (0, client_js_1.apiError)(err));
98
- process.exit(1);
99
- }
100
- return;
101
- }
102
- // Start local callback server on a random port
103
- const server = http_1.default.createServer();
104
- await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve));
105
- const port = server.address().port;
106
- const callbackUrl = `http://localhost:${port}`;
107
- const authUrl = `${webUrl}/cli-auth?callback=${encodeURIComponent(callbackUrl)}`;
108
- console.log('');
109
- console.log('Opening your browser to complete login...');
110
- console.log('');
111
- console.log(` ${authUrl}`);
112
- console.log('');
113
- console.log('If the browser did not open, copy the URL above into your browser.');
114
- console.log('');
115
- openBrowser(authUrl);
116
- const spin = (0, output_js_1.spinner)('Waiting for browser authorization...');
117
- try {
118
- const { token, tokenId, email } = await waitForCallback(server, webUrl);
119
- (0, config_js_1.saveConfig)({ apiUrl, token, tokenId });
120
- spin.stop();
121
- (0, output_js_1.success)(`Logged in as ${email}`);
122
- }
123
- catch (err) {
124
- spin.fail(err instanceof Error ? err.message : String(err));
125
- process.exit(1);
126
- }
127
- });
128
- // logout
129
- auth
130
- .command('logout')
131
- .description('Log out and revoke access token')
132
- .action(async () => {
133
- const config = (0, config_js_1.getConfig)();
134
- if (!config.token) {
135
- console.log('Not logged in.');
136
- return;
137
- }
138
- if (config.tokenId) {
139
- try {
140
- await client_js_1.client.post(`/api/tokens/${config.tokenId}/revoke`);
141
- }
142
- catch {
143
- // best-effort revocation
144
- }
145
- }
146
- (0, config_js_1.clearConfig)();
147
- (0, output_js_1.success)('Logged out.');
148
- });
149
- // whoami
150
- auth
151
- .command('whoami')
152
- .description('Show current authenticated user')
153
- .option('--json', 'Output raw JSON')
154
- .action(async (opts) => {
155
- try {
156
- const res = await client_js_1.client.get('/api/auth/verify');
157
- const user = (0, client_js_1.unwrap)(res.data);
158
- if (opts.json) {
159
- (0, output_js_1.printJson)(user);
160
- return;
161
- }
162
- const u = user.user || user;
163
- const email = u.email || 'unknown';
164
- const org = u.organization?.name || u.organizationId || '—';
165
- const role = u.role || '—';
166
- (0, output_js_1.printTable)(['Field', 'Value'], [
167
- ['Email', email],
168
- ['Organization', org],
169
- ['Role', role],
170
- ]);
171
- }
172
- catch (err) {
173
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
174
- process.exit(1);
175
- }
176
- });
177
- }
178
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerDatabase(program: Command): void;
3
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/commands/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgPvD"}
@@ -1,312 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.registerDatabase = registerDatabase;
40
- const inquirer_1 = __importDefault(require("inquirer"));
41
- const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
43
- const client_js_1 = require("../client.js");
44
- const output_js_1 = require("../output.js");
45
- function formatBytes(bytes) {
46
- const n = typeof bytes === 'bigint' ? Number(bytes) : bytes;
47
- if (n < 1024)
48
- return `${n} B`;
49
- if (n < 1024 * 1024)
50
- return `${(n / 1024).toFixed(1)} KB`;
51
- if (n < 1024 * 1024 * 1024)
52
- return `${(n / (1024 * 1024)).toFixed(1)} MB`;
53
- return `${(n / (1024 * 1024 * 1024)).toFixed(2)} GB`;
54
- }
55
- const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
56
- /** Resolve a deployment name or UUID to its ID, or return undefined to list all services. */
57
- async function resolveDeploymentId(nameOrId) {
58
- if (!nameOrId)
59
- return undefined;
60
- if (UUID_RE.test(nameOrId))
61
- return nameOrId;
62
- const listRes = await client_js_1.client.get('/api/deployments');
63
- const raw = (0, client_js_1.unwrap)(listRes.data);
64
- const all = Array.isArray(raw) ? raw : raw.deployments || [];
65
- const match = all.find((d) => d.name === nameOrId || d.displayName === nameOrId);
66
- if (!match)
67
- throw new Error(`Deployment not found: "${nameOrId}"`);
68
- return match.id;
69
- }
70
- function registerDatabase(program) {
71
- const db = program
72
- .command('db')
73
- .description('Database service and backup commands (run `nexus db services` to list service IDs)');
74
- // services (list)
75
- db
76
- .command('services [deployment-name-or-id]')
77
- .description('List database services and their IDs (optionally filtered by deployment)')
78
- .option('--json', 'Output raw JSON')
79
- .action(async (deployment, opts) => {
80
- try {
81
- const deploymentId = await resolveDeploymentId(deployment);
82
- const res = await client_js_1.client.get('/api/deployment-services', {
83
- params: deploymentId ? { deployment: deploymentId } : {},
84
- });
85
- const services = (0, client_js_1.unwrap)(res.data) || [];
86
- if (opts.json) {
87
- (0, output_js_1.printJson)(services);
88
- return;
89
- }
90
- if (!services.length) {
91
- console.log('No database services found. Provision one with `nexus deploy source ... --services postgresql,redis`.');
92
- return;
93
- }
94
- (0, output_js_1.printTable)(['SERVICE ID', 'TYPE', 'NAME', 'DEPLOYMENT', 'STATUS', 'AUTO-BACKUP'], services.map((s) => [
95
- s.id,
96
- s.serviceType || '—',
97
- s.displayName || s.serviceName || '—',
98
- s.deployment?.displayName || s.deployment?.name || s.deploymentId || '—',
99
- s.status || '—',
100
- s.backupEnabled ? 'on' : 'off',
101
- ]));
102
- }
103
- catch (err) {
104
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
105
- process.exit(1);
106
- }
107
- });
108
- // backup
109
- db
110
- .command('backup <service-id>')
111
- .description('Create a database backup for a deployment service')
112
- .option('--json', 'Output raw JSON')
113
- .action(async (serviceId, opts) => {
114
- const spin = (0, output_js_1.spinner)('Creating backup...');
115
- try {
116
- const res = await client_js_1.client.post(`/api/deployment-services/${serviceId}/backup`);
117
- const backup = (0, client_js_1.unwrap)(res.data);
118
- spin.stop();
119
- if (opts.json) {
120
- (0, output_js_1.printJson)(backup);
121
- return;
122
- }
123
- (0, output_js_1.printTable)(['ID', 'TYPE', 'SIZE', 'CREATED'], [[
124
- backup.id,
125
- backup.serviceType || '—',
126
- backup.fileSizeBytes != null ? formatBytes(backup.fileSizeBytes) : '—',
127
- backup.createdAt ? (0, output_js_1.timeAgo)(backup.createdAt) : '—',
128
- ]]);
129
- }
130
- catch (err) {
131
- spin.stop();
132
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
133
- process.exit(1);
134
- }
135
- });
136
- // backups (list)
137
- db
138
- .command('backups <service-id>')
139
- .description('List backups for a deployment service')
140
- .option('--json', 'Output raw JSON')
141
- .action(async (serviceId, opts) => {
142
- try {
143
- const res = await client_js_1.client.get(`/api/deployment-services/${serviceId}/backups`);
144
- const raw = (0, client_js_1.unwrap)(res.data);
145
- const backups = Array.isArray(raw) ? raw : raw.backups || [];
146
- if (opts.json) {
147
- (0, output_js_1.printJson)(backups);
148
- return;
149
- }
150
- if (!backups.length) {
151
- console.log('No backups found.');
152
- return;
153
- }
154
- (0, output_js_1.printTable)(['ID', 'TYPE', 'SIZE', 'STATUS', 'CREATED'], backups.map((b) => [
155
- b.id,
156
- b.serviceType || '—',
157
- b.fileSizeBytes != null ? formatBytes(b.fileSizeBytes) : '—',
158
- b.status || '—',
159
- b.createdAt ? (0, output_js_1.timeAgo)(b.createdAt) : '—',
160
- ]));
161
- }
162
- catch (err) {
163
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
164
- process.exit(1);
165
- }
166
- });
167
- // restore
168
- db
169
- .command('restore <service-id> <backup-id>')
170
- .description('Restore a deployment service from a backup')
171
- .option('--yes', 'Skip confirmation prompt')
172
- .option('--json', 'Output raw JSON')
173
- .action(async (serviceId, backupId, opts) => {
174
- if (!opts.yes) {
175
- const { confirm } = await inquirer_1.default.prompt([
176
- {
177
- type: 'confirm',
178
- name: 'confirm',
179
- message: 'Restore will overwrite current data. Continue?',
180
- default: false,
181
- },
182
- ]);
183
- if (!confirm) {
184
- console.log('Cancelled.');
185
- return;
186
- }
187
- }
188
- const spin = (0, output_js_1.spinner)('Restoring database...');
189
- try {
190
- const res = await client_js_1.client.post(`/api/deployment-services/${serviceId}/restore`, { backupId });
191
- const result = (0, client_js_1.unwrap)(res.data);
192
- spin.stop();
193
- if (opts.json) {
194
- (0, output_js_1.printJson)(result);
195
- return;
196
- }
197
- (0, output_js_1.success)('Database restored successfully.');
198
- }
199
- catch (err) {
200
- spin.stop();
201
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
202
- process.exit(1);
203
- }
204
- });
205
- // backup-download
206
- db
207
- .command('backup-download <service-id> <backup-id>')
208
- .description('Download a backup file to your local machine (works for offline restore)')
209
- .option('--out <path>', 'Output file path (default: ./<original-filename>)')
210
- .option('--share', 'Print a short-lived signed URL instead of downloading directly')
211
- .option('--ttl <seconds>', 'Lifetime for --share URL in seconds (30-3600, default 300)', '300')
212
- .option('--json', 'Output raw JSON (only meaningful with --share)')
213
- .action(async (serviceId, backupId, opts) => {
214
- try {
215
- if (opts.share) {
216
- const res = await client_js_1.client.post(`/api/deployment-services/${serviceId}/backups/${backupId}/download-url`, { ttlSeconds: parseInt(opts.ttl, 10) || 300 });
217
- const data = (0, client_js_1.unwrap)(res.data);
218
- if (opts.json) {
219
- (0, output_js_1.printJson)(data);
220
- return;
221
- }
222
- console.log(`URL: ${data.url}`);
223
- console.log(`File: ${data.fileName}`);
224
- console.log(`Size: ${formatBytes(data.fileSizeBytes)}`);
225
- console.log(`Expires at: ${data.expiresAt}`);
226
- console.log('');
227
- console.log('Anyone with this URL can download the backup until it expires.');
228
- return;
229
- }
230
- const spin = (0, output_js_1.spinner)('Downloading backup...');
231
- const res = await client_js_1.client.get(`/api/deployment-services/${serviceId}/backups/${backupId}/download`, { responseType: 'stream' });
232
- const disposition = res.headers['content-disposition'] || '';
233
- const matched = disposition.match(/filename="?([^"]+)"?/);
234
- const fileName = matched?.[1] || `backup-${backupId}`;
235
- const outPath = path.resolve(opts.out || fileName);
236
- const dir = path.dirname(outPath);
237
- if (!fs.existsSync(dir))
238
- fs.mkdirSync(dir, { recursive: true });
239
- await new Promise((resolve, reject) => {
240
- const writer = fs.createWriteStream(outPath);
241
- res.data.pipe(writer);
242
- writer.on('finish', () => resolve());
243
- writer.on('error', reject);
244
- res.data.on('error', reject);
245
- });
246
- const size = fs.statSync(outPath).size;
247
- spin.stop();
248
- (0, output_js_1.success)(`Downloaded ${formatBytes(size)} → ${outPath}`);
249
- }
250
- catch (err) {
251
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
252
- process.exit(1);
253
- }
254
- });
255
- // backup-delete
256
- db
257
- .command('backup-delete <service-id> <backup-id>')
258
- .description('Delete a backup')
259
- .option('--yes', 'Skip confirmation prompt')
260
- .action(async (serviceId, backupId, opts) => {
261
- if (!opts.yes) {
262
- const { confirm } = await inquirer_1.default.prompt([
263
- {
264
- type: 'confirm',
265
- name: 'confirm',
266
- message: 'Permanently delete this backup?',
267
- default: false,
268
- },
269
- ]);
270
- if (!confirm) {
271
- console.log('Cancelled.');
272
- return;
273
- }
274
- }
275
- try {
276
- await client_js_1.client.delete(`/api/deployment-services/${serviceId}/backups/${backupId}`);
277
- (0, output_js_1.success)('Backup deleted.');
278
- }
279
- catch (err) {
280
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
281
- process.exit(1);
282
- }
283
- });
284
- // backup-schedule
285
- db
286
- .command('backup-schedule <service-id>')
287
- .description('Enable or disable daily automatic backups for a deployment service')
288
- .option('--enable', 'Enable daily auto-backups')
289
- .option('--disable', 'Disable daily auto-backups')
290
- .option('--json', 'Output raw JSON')
291
- .action(async (serviceId, opts) => {
292
- if (!opts.enable && !opts.disable) {
293
- (0, output_js_1.errorMsg)('Specify either --enable or --disable.');
294
- process.exit(1);
295
- }
296
- const enabled = Boolean(opts.enable);
297
- try {
298
- const res = await client_js_1.client.patch(`/api/deployment-services/${serviceId}/backup/schedule`, { enabled });
299
- const result = (0, client_js_1.unwrap)(res.data);
300
- if (opts.json) {
301
- (0, output_js_1.printJson)(result);
302
- return;
303
- }
304
- (0, output_js_1.success)(enabled ? 'Daily backups enabled.' : 'Daily backups disabled.');
305
- }
306
- catch (err) {
307
- (0, output_js_1.errorMsg)((0, client_js_1.apiError)(err));
308
- process.exit(1);
309
- }
310
- });
311
- }
312
- //# sourceMappingURL=database.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/commands/database.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerDeploy(program: Command): void;
3
- //# sourceMappingURL=deploy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuqBrD"}