gazill 2.1.0 → 2.3.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 (73) hide show
  1. package/dist/commands/autoscale.d.ts +5 -0
  2. package/dist/commands/autoscale.d.ts.map +1 -0
  3. package/dist/commands/autoscale.js +140 -0
  4. package/dist/commands/autoscale.js.map +1 -0
  5. package/dist/commands/blob.d.ts +19 -0
  6. package/dist/commands/blob.d.ts.map +1 -0
  7. package/dist/commands/blob.js +383 -0
  8. package/dist/commands/blob.js.map +1 -0
  9. package/dist/commands/cron.d.ts +27 -0
  10. package/dist/commands/cron.d.ts.map +1 -0
  11. package/dist/commands/cron.js +333 -0
  12. package/dist/commands/cron.js.map +1 -0
  13. package/dist/commands/db.d.ts +21 -0
  14. package/dist/commands/db.d.ts.map +1 -0
  15. package/dist/commands/db.js +567 -0
  16. package/dist/commands/db.js.map +1 -0
  17. package/dist/commands/domains.d.ts +5 -0
  18. package/dist/commands/domains.d.ts.map +1 -0
  19. package/dist/commands/domains.js +239 -0
  20. package/dist/commands/domains.js.map +1 -0
  21. package/dist/commands/env.d.ts +4 -0
  22. package/dist/commands/env.d.ts.map +1 -0
  23. package/dist/commands/env.js +180 -0
  24. package/dist/commands/env.js.map +1 -0
  25. package/dist/commands/health.d.ts +7 -0
  26. package/dist/commands/health.d.ts.map +1 -0
  27. package/dist/commands/health.js +189 -0
  28. package/dist/commands/health.js.map +1 -0
  29. package/dist/commands/limits.d.ts +2 -0
  30. package/dist/commands/limits.d.ts.map +1 -0
  31. package/dist/commands/limits.js +186 -0
  32. package/dist/commands/limits.js.map +1 -0
  33. package/dist/commands/mysql.d.ts +15 -0
  34. package/dist/commands/mysql.d.ts.map +1 -0
  35. package/dist/commands/mysql.js +413 -0
  36. package/dist/commands/mysql.js.map +1 -0
  37. package/dist/commands/new.d.ts.map +1 -1
  38. package/dist/commands/new.js +29 -3
  39. package/dist/commands/new.js.map +1 -1
  40. package/dist/commands/promote.d.ts.map +1 -1
  41. package/dist/commands/promote.js +36 -9
  42. package/dist/commands/promote.js.map +1 -1
  43. package/dist/commands/redis.d.ts +15 -0
  44. package/dist/commands/redis.d.ts.map +1 -0
  45. package/dist/commands/redis.js +402 -0
  46. package/dist/commands/redis.js.map +1 -0
  47. package/dist/commands/rollback.d.ts +9 -0
  48. package/dist/commands/rollback.d.ts.map +1 -0
  49. package/dist/commands/rollback.js +154 -0
  50. package/dist/commands/rollback.js.map +1 -0
  51. package/dist/commands/status.d.ts.map +1 -1
  52. package/dist/commands/status.js +24 -1
  53. package/dist/commands/status.js.map +1 -1
  54. package/dist/commands/usage.d.ts.map +1 -1
  55. package/dist/commands/usage.js +20 -11
  56. package/dist/commands/usage.js.map +1 -1
  57. package/dist/commands/worker.d.ts +31 -0
  58. package/dist/commands/worker.d.ts.map +1 -0
  59. package/dist/commands/worker.js +380 -0
  60. package/dist/commands/worker.js.map +1 -0
  61. package/dist/index.js +362 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/lib/api.d.ts +46 -2
  64. package/dist/lib/api.d.ts.map +1 -1
  65. package/dist/lib/api.js +16 -0
  66. package/dist/lib/api.js.map +1 -1
  67. package/dist/shared/constants.d.ts +10 -0
  68. package/dist/shared/constants.d.ts.map +1 -1
  69. package/dist/shared/constants.js +11 -0
  70. package/dist/shared/constants.js.map +1 -1
  71. package/dist/shared/types.d.ts +40 -1
  72. package/dist/shared/types.d.ts.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,567 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import inquirer from 'inquirer';
4
+ import { promises as fs } from 'fs';
5
+ import { getAuth, getApiUrl } from '../lib/config.js';
6
+ import { listProjects } from '../lib/api.js';
7
+ // API helper for database routes
8
+ async function dbApiRequest(endpoint, options = { method: 'GET' }) {
9
+ const apiUrl = await getApiUrl();
10
+ const auth = await getAuth();
11
+ if (!auth?.token) {
12
+ throw new Error('Not authenticated');
13
+ }
14
+ const response = await fetch(`${apiUrl}${endpoint}`, {
15
+ method: options.method,
16
+ headers: {
17
+ 'Content-Type': 'application/json',
18
+ Authorization: `Bearer ${auth.token}`,
19
+ },
20
+ body: options.body ? JSON.stringify(options.body) : undefined,
21
+ });
22
+ const data = await response.json();
23
+ if (!response.ok) {
24
+ throw new Error(data.message || 'Request failed');
25
+ }
26
+ return data;
27
+ }
28
+ // Get current project ID from .gazill file
29
+ async function getProjectId() {
30
+ try {
31
+ const content = await fs.readFile('.gazill', 'utf-8');
32
+ const data = JSON.parse(content);
33
+ return data.projectId || null;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
39
+ // Find project by name
40
+ async function findProjectByName(name) {
41
+ const response = await listProjects();
42
+ return response.projects.find((p) => p.name === name) || null;
43
+ }
44
+ // Format bytes to human-readable string
45
+ function formatBytes(bytes) {
46
+ if (bytes === 0)
47
+ return '0 B';
48
+ const k = 1024;
49
+ const sizes = ['B', 'KB', 'MB', 'GB'];
50
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
51
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
52
+ }
53
+ // Create a new database
54
+ export async function dbCreateCommand(name, options) {
55
+ const auth = await getAuth();
56
+ if (!auth?.token) {
57
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
58
+ return;
59
+ }
60
+ // Get database name
61
+ let dbName = name;
62
+ if (!dbName) {
63
+ const answers = await inquirer.prompt([
64
+ {
65
+ type: 'input',
66
+ name: 'name',
67
+ message: 'Database name:',
68
+ default: 'main',
69
+ validate: (input) => {
70
+ if (!/^[a-z][a-z0-9-]*$/.test(input)) {
71
+ return 'Name must start with a letter and contain only lowercase letters, numbers, and hyphens';
72
+ }
73
+ return true;
74
+ },
75
+ },
76
+ ]);
77
+ dbName = answers.name;
78
+ }
79
+ // Get size
80
+ let size = options?.size;
81
+ if (!size) {
82
+ const answers = await inquirer.prompt([
83
+ {
84
+ type: 'list',
85
+ name: 'size',
86
+ message: 'Database size:',
87
+ choices: [
88
+ { name: 'Small (512MB, 5GB storage, 20 connections) - $0.01/hr', value: 'small' },
89
+ { name: 'Medium (1GB, 10GB storage, 50 connections) - $0.02/hr', value: 'medium' },
90
+ { name: 'Large (2GB, 25GB storage, 100 connections) - $0.04/hr', value: 'large' },
91
+ { name: 'XL (4GB, 50GB storage, 200 connections) - $0.08/hr', value: 'xl' },
92
+ ],
93
+ default: 'small',
94
+ },
95
+ ]);
96
+ size = answers.size;
97
+ }
98
+ const spinner = ora('Creating database...').start();
99
+ try {
100
+ // Get project ID
101
+ let projectId = await getProjectId();
102
+ if (!projectId && !options?.project) {
103
+ spinner.stop();
104
+ console.log(chalk.red('No project specified. Run from a project directory or use --project <name>.'));
105
+ return;
106
+ }
107
+ // If project name specified, look it up
108
+ if (options?.project) {
109
+ const project = await findProjectByName(options.project);
110
+ if (!project) {
111
+ spinner.fail(`Project "${options.project}" not found.`);
112
+ return;
113
+ }
114
+ projectId = project.id;
115
+ }
116
+ const response = await dbApiRequest(`/api/projects/${projectId}/databases`, {
117
+ method: 'POST',
118
+ body: { name: dbName, size },
119
+ });
120
+ spinner.succeed(`Created database ${chalk.cyan(response.database.name)}`);
121
+ console.log();
122
+ console.log(chalk.gray(' Status:'), chalk.green(response.database.status));
123
+ console.log(chalk.gray(' Size:'), response.database.size);
124
+ console.log(chalk.gray(' Port:'), response.database.port);
125
+ console.log();
126
+ console.log(chalk.gray('Use `gazill db connect` to view connection details.'));
127
+ }
128
+ catch (error) {
129
+ spinner.fail('Failed to create database');
130
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
131
+ }
132
+ }
133
+ // List databases for a project
134
+ export async function dbListCommand(projectName) {
135
+ const auth = await getAuth();
136
+ if (!auth?.token) {
137
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
138
+ return;
139
+ }
140
+ const spinner = ora('Fetching databases...').start();
141
+ try {
142
+ // Get project ID
143
+ let projectId = await getProjectId();
144
+ if (!projectId && !projectName) {
145
+ spinner.stop();
146
+ console.log(chalk.red('No project specified. Run from a project directory or specify project name.'));
147
+ return;
148
+ }
149
+ // If project name specified, look it up
150
+ if (projectName) {
151
+ const project = await findProjectByName(projectName);
152
+ if (!project) {
153
+ spinner.fail(`Project "${projectName}" not found.`);
154
+ return;
155
+ }
156
+ projectId = project.id;
157
+ }
158
+ const response = await dbApiRequest(`/api/projects/${projectId}/databases`);
159
+ spinner.stop();
160
+ if (response.databases.length === 0) {
161
+ console.log(chalk.yellow('No databases found.'));
162
+ console.log(chalk.gray('Use `gazill db create` to create one.'));
163
+ return;
164
+ }
165
+ console.log(chalk.bold('\nDatabases:\n'));
166
+ for (const db of response.databases) {
167
+ const statusColor = db.status === 'running' ? chalk.green : db.status === 'stopped' ? chalk.yellow : chalk.red;
168
+ console.log(` ${chalk.cyan(db.name)}`);
169
+ console.log(` Status: ${statusColor(db.status)}`);
170
+ console.log(` Size: ${db.size} (${formatBytes(db.storage.usedBytes)} / ${db.storage.limitGb}GB)`);
171
+ console.log(` Port: ${db.port}`);
172
+ console.log(` Connections: ${db.maxConnections} max`);
173
+ console.log();
174
+ }
175
+ }
176
+ catch (error) {
177
+ spinner.fail('Failed to fetch databases');
178
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
179
+ }
180
+ }
181
+ // Show connection details for a database
182
+ export async function dbConnectCommand(name, options) {
183
+ const auth = await getAuth();
184
+ if (!auth?.token) {
185
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
186
+ return;
187
+ }
188
+ const spinner = ora('Fetching connection details...').start();
189
+ try {
190
+ // Get project ID
191
+ let projectId = await getProjectId();
192
+ if (!projectId && !options?.project) {
193
+ spinner.stop();
194
+ console.log(chalk.red('No project specified. Run from a project directory or use --project <name>.'));
195
+ return;
196
+ }
197
+ // If project name specified, look it up
198
+ if (options?.project) {
199
+ const project = await findProjectByName(options.project);
200
+ if (!project) {
201
+ spinner.fail(`Project "${options.project}" not found.`);
202
+ return;
203
+ }
204
+ projectId = project.id;
205
+ }
206
+ // Get databases to find by name
207
+ const listResponse = await dbApiRequest(`/api/projects/${projectId}/databases`);
208
+ if (listResponse.databases.length === 0) {
209
+ spinner.fail('No databases found.');
210
+ return;
211
+ }
212
+ // Find database by name or use first one
213
+ let database;
214
+ if (name) {
215
+ database = listResponse.databases.find((d) => d.name === name);
216
+ if (!database) {
217
+ spinner.fail(`Database "${name}" not found.`);
218
+ return;
219
+ }
220
+ }
221
+ else if (listResponse.databases.length === 1) {
222
+ database = listResponse.databases[0];
223
+ }
224
+ else {
225
+ spinner.stop();
226
+ const answers = await inquirer.prompt([
227
+ {
228
+ type: 'list',
229
+ name: 'database',
230
+ message: 'Select a database:',
231
+ choices: listResponse.databases.map((d) => ({ name: d.name, value: d.id })),
232
+ },
233
+ ]);
234
+ database = listResponse.databases.find((d) => d.id === answers.database);
235
+ spinner.start('Fetching connection details...');
236
+ }
237
+ const response = await dbApiRequest(`/api/projects/${projectId}/databases/${database.id}`);
238
+ spinner.stop();
239
+ console.log(chalk.bold(`\nConnection details for ${chalk.cyan(response.database.name)}:\n`));
240
+ console.log(chalk.gray(' Host:'), response.connection.host);
241
+ console.log(chalk.gray(' Port:'), response.connection.port);
242
+ console.log(chalk.gray(' Database:'), response.connection.database);
243
+ console.log(chalk.gray(' Username:'), response.connection.username);
244
+ console.log(chalk.gray(' Password:'), response.connection.password);
245
+ console.log();
246
+ console.log(chalk.bold('Connection URL:'));
247
+ console.log(` ${chalk.cyan(response.connection.url)}`);
248
+ console.log();
249
+ console.log(chalk.bold('psql command:'));
250
+ console.log(` ${chalk.gray(response.connection.psqlCommand)}`);
251
+ console.log();
252
+ }
253
+ catch (error) {
254
+ spinner.fail('Failed to fetch connection details');
255
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
256
+ }
257
+ }
258
+ // Delete a database
259
+ export async function dbDeleteCommand(name, options) {
260
+ const auth = await getAuth();
261
+ if (!auth?.token) {
262
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
263
+ return;
264
+ }
265
+ try {
266
+ // Get project ID
267
+ let projectId = await getProjectId();
268
+ if (!projectId && !options?.project) {
269
+ console.log(chalk.red('No project specified. Run from a project directory or use --project <name>.'));
270
+ return;
271
+ }
272
+ // If project name specified, look it up
273
+ if (options?.project) {
274
+ const project = await findProjectByName(options.project);
275
+ if (!project) {
276
+ console.log(chalk.red(`Project "${options.project}" not found.`));
277
+ return;
278
+ }
279
+ projectId = project.id;
280
+ }
281
+ // Get databases to find by name
282
+ const listResponse = await dbApiRequest(`/api/projects/${projectId}/databases`);
283
+ if (listResponse.databases.length === 0) {
284
+ console.log(chalk.yellow('No databases found.'));
285
+ return;
286
+ }
287
+ // Find database by name or prompt
288
+ let database;
289
+ if (name) {
290
+ database = listResponse.databases.find((d) => d.name === name);
291
+ if (!database) {
292
+ console.log(chalk.red(`Database "${name}" not found.`));
293
+ return;
294
+ }
295
+ }
296
+ else {
297
+ const answers = await inquirer.prompt([
298
+ {
299
+ type: 'list',
300
+ name: 'database',
301
+ message: 'Select a database to delete:',
302
+ choices: listResponse.databases.map((d) => ({ name: d.name, value: d.id })),
303
+ },
304
+ ]);
305
+ database = listResponse.databases.find((d) => d.id === answers.database);
306
+ }
307
+ // Confirm deletion
308
+ const { confirmed } = await inquirer.prompt([
309
+ {
310
+ type: 'confirm',
311
+ name: 'confirmed',
312
+ message: `Delete database ${chalk.cyan(database.name)}? This cannot be undone.`,
313
+ default: false,
314
+ },
315
+ ]);
316
+ if (!confirmed) {
317
+ console.log(chalk.gray('Cancelled.'));
318
+ return;
319
+ }
320
+ const spinner = ora('Deleting database...').start();
321
+ await dbApiRequest(`/api/projects/${projectId}/databases/${database.id}`, { method: 'DELETE' });
322
+ spinner.succeed(`Deleted database ${chalk.cyan(database.name)}`);
323
+ }
324
+ catch (error) {
325
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
326
+ }
327
+ }
328
+ // Create a backup
329
+ export async function dbBackupCreateCommand(name, options) {
330
+ const auth = await getAuth();
331
+ if (!auth?.token) {
332
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
333
+ return;
334
+ }
335
+ try {
336
+ // Get project ID
337
+ let projectId = await getProjectId();
338
+ if (!projectId && !options?.project) {
339
+ console.log(chalk.red('No project specified. Run from a project directory or use --project <name>.'));
340
+ return;
341
+ }
342
+ // If project name specified, look it up
343
+ if (options?.project) {
344
+ const project = await findProjectByName(options.project);
345
+ if (!project) {
346
+ console.log(chalk.red(`Project "${options.project}" not found.`));
347
+ return;
348
+ }
349
+ projectId = project.id;
350
+ }
351
+ // Get databases to find by name
352
+ const listResponse = await dbApiRequest(`/api/projects/${projectId}/databases`);
353
+ if (listResponse.databases.length === 0) {
354
+ console.log(chalk.yellow('No databases found.'));
355
+ return;
356
+ }
357
+ // Find database by name or prompt
358
+ let database;
359
+ if (name) {
360
+ database = listResponse.databases.find((d) => d.name === name);
361
+ if (!database) {
362
+ console.log(chalk.red(`Database "${name}" not found.`));
363
+ return;
364
+ }
365
+ }
366
+ else if (listResponse.databases.length === 1) {
367
+ database = listResponse.databases[0];
368
+ }
369
+ else {
370
+ const answers = await inquirer.prompt([
371
+ {
372
+ type: 'list',
373
+ name: 'database',
374
+ message: 'Select a database:',
375
+ choices: listResponse.databases.map((d) => ({ name: d.name, value: d.id })),
376
+ },
377
+ ]);
378
+ database = listResponse.databases.find((d) => d.id === answers.database);
379
+ }
380
+ const spinner = ora('Creating backup...').start();
381
+ const response = await dbApiRequest(`/api/projects/${projectId}/databases/${database.id}/backups`, { method: 'POST' });
382
+ spinner.succeed(`Created backup: ${chalk.cyan(response.backup.filename)}`);
383
+ }
384
+ catch (error) {
385
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
386
+ }
387
+ }
388
+ // List backups
389
+ export async function dbBackupListCommand(name, options) {
390
+ const auth = await getAuth();
391
+ if (!auth?.token) {
392
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
393
+ return;
394
+ }
395
+ const spinner = ora('Fetching backups...').start();
396
+ try {
397
+ // Get project ID
398
+ let projectId = await getProjectId();
399
+ if (!projectId && !options?.project) {
400
+ spinner.stop();
401
+ console.log(chalk.red('No project specified. Run from a project directory or use --project <name>.'));
402
+ return;
403
+ }
404
+ // If project name specified, look it up
405
+ if (options?.project) {
406
+ const project = await findProjectByName(options.project);
407
+ if (!project) {
408
+ spinner.fail(`Project "${options.project}" not found.`);
409
+ return;
410
+ }
411
+ projectId = project.id;
412
+ }
413
+ // Get databases to find by name
414
+ const listResponse = await dbApiRequest(`/api/projects/${projectId}/databases`);
415
+ if (listResponse.databases.length === 0) {
416
+ spinner.fail('No databases found.');
417
+ return;
418
+ }
419
+ // Find database by name or prompt
420
+ let database;
421
+ if (name) {
422
+ database = listResponse.databases.find((d) => d.name === name);
423
+ if (!database) {
424
+ spinner.fail(`Database "${name}" not found.`);
425
+ return;
426
+ }
427
+ }
428
+ else if (listResponse.databases.length === 1) {
429
+ database = listResponse.databases[0];
430
+ }
431
+ else {
432
+ spinner.stop();
433
+ const answers = await inquirer.prompt([
434
+ {
435
+ type: 'list',
436
+ name: 'database',
437
+ message: 'Select a database:',
438
+ choices: listResponse.databases.map((d) => ({ name: d.name, value: d.id })),
439
+ },
440
+ ]);
441
+ database = listResponse.databases.find((d) => d.id === answers.database);
442
+ spinner.start('Fetching backups...');
443
+ }
444
+ const response = await dbApiRequest(`/api/projects/${projectId}/databases/${database.id}/backups`);
445
+ spinner.stop();
446
+ if (response.backups.length === 0) {
447
+ console.log(chalk.yellow('No backups found.'));
448
+ console.log(chalk.gray('Use `gazill db backup create` to create one.'));
449
+ return;
450
+ }
451
+ console.log(chalk.bold(`\nBackups for ${chalk.cyan(database.name)}:\n`));
452
+ for (const backup of response.backups) {
453
+ const date = new Date(backup.createdAt).toLocaleString();
454
+ console.log(` ${chalk.gray(backup.filename)}`);
455
+ console.log(` Type: ${backup.type}`);
456
+ console.log(` Size: ${formatBytes(backup.sizeBytes)}`);
457
+ console.log(` Created: ${date}`);
458
+ console.log();
459
+ }
460
+ }
461
+ catch (error) {
462
+ spinner.fail('Failed to fetch backups');
463
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
464
+ }
465
+ }
466
+ // Resize a database
467
+ export async function dbResizeCommand(size, name, options) {
468
+ const auth = await getAuth();
469
+ if (!auth?.token) {
470
+ console.log(chalk.red('Not logged in. Run `gazill login` first.'));
471
+ return;
472
+ }
473
+ // Validate size
474
+ const validSizes = ['small', 'medium', 'large', 'xl'];
475
+ if (!validSizes.includes(size)) {
476
+ console.log(chalk.red(`Invalid size. Must be one of: ${validSizes.join(', ')}`));
477
+ return;
478
+ }
479
+ try {
480
+ // Get project ID
481
+ let projectId = await getProjectId();
482
+ if (!projectId && !options?.project) {
483
+ console.log(chalk.red('No project specified. Run from a project directory or use --project <name>.'));
484
+ return;
485
+ }
486
+ // If project name specified, look it up
487
+ if (options?.project) {
488
+ const project = await findProjectByName(options.project);
489
+ if (!project) {
490
+ console.log(chalk.red(`Project "${options.project}" not found.`));
491
+ return;
492
+ }
493
+ projectId = project.id;
494
+ }
495
+ // Get databases to find by name
496
+ const listResponse = await dbApiRequest(`/api/projects/${projectId}/databases`);
497
+ if (listResponse.databases.length === 0) {
498
+ console.log(chalk.yellow('No databases found.'));
499
+ return;
500
+ }
501
+ // Find database by name or prompt
502
+ let database;
503
+ if (name) {
504
+ database = listResponse.databases.find((d) => d.name === name);
505
+ if (!database) {
506
+ console.log(chalk.red(`Database "${name}" not found.`));
507
+ return;
508
+ }
509
+ }
510
+ else if (listResponse.databases.length === 1) {
511
+ database = listResponse.databases[0];
512
+ }
513
+ else {
514
+ const answers = await inquirer.prompt([
515
+ {
516
+ type: 'list',
517
+ name: 'database',
518
+ message: 'Select a database to resize:',
519
+ choices: listResponse.databases.map((d) => ({ name: `${d.name} (${d.size})`, value: d.id })),
520
+ },
521
+ ]);
522
+ database = listResponse.databases.find((d) => d.id === answers.database);
523
+ }
524
+ if (database.size === size) {
525
+ console.log(chalk.yellow(`Database is already ${size}.`));
526
+ return;
527
+ }
528
+ // Confirm resize
529
+ const sizeInfo = {
530
+ small: '512MB RAM, 5GB storage, 20 connections - $0.01/hr',
531
+ medium: '1GB RAM, 10GB storage, 50 connections - $0.02/hr',
532
+ large: '2GB RAM, 25GB storage, 100 connections - $0.04/hr',
533
+ xl: '4GB RAM, 50GB storage, 200 connections - $0.08/hr',
534
+ };
535
+ console.log();
536
+ console.log(`Current size: ${chalk.cyan(database.size)}`);
537
+ console.log(`New size: ${chalk.cyan(size)} (${sizeInfo[size]})`);
538
+ console.log();
539
+ const { confirmed } = await inquirer.prompt([
540
+ {
541
+ type: 'confirm',
542
+ name: 'confirmed',
543
+ message: `Resize database ${chalk.cyan(database.name)} to ${size}?`,
544
+ default: true,
545
+ },
546
+ ]);
547
+ if (!confirmed) {
548
+ console.log(chalk.gray('Cancelled.'));
549
+ return;
550
+ }
551
+ const spinner = ora('Resizing database...').start();
552
+ const response = await dbApiRequest(`/api/projects/${projectId}/databases/${database.id}/resize`, {
553
+ method: 'PATCH',
554
+ body: { size },
555
+ });
556
+ spinner.succeed(`Resized ${chalk.cyan(response.database.name)} to ${chalk.green(response.database.size)}`);
557
+ console.log();
558
+ console.log(chalk.gray(' Storage limit:'), `${response.database.storage.limitGb}GB`);
559
+ console.log(chalk.gray(' Max connections:'), response.database.maxConnections);
560
+ console.log();
561
+ console.log(chalk.gray('Note: The database will restart with new resources.'));
562
+ }
563
+ catch (error) {
564
+ console.error(chalk.red(error instanceof Error ? error.message : 'Unknown error'));
565
+ }
566
+ }
567
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function domainsListCommand(projectName?: string): Promise<void>;
2
+ export declare function domainsAddCommand(domain: string, projectName?: string): Promise<void>;
3
+ export declare function domainsRemoveCommand(domain: string, projectName?: string): Promise<void>;
4
+ export declare function domainsVerifyCommand(domain: string, projectName?: string): Promise<void>;
5
+ //# sourceMappingURL=domains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/commands/domains.ts"],"names":[],"mappings":"AAqGA,wBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E;AAGD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD3F;AAGD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsD9F;AAGD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C9F"}