dbdock 1.1.24 → 1.2.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 (139) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +87 -728
  3. package/dist/alerts/alert-templates.d.ts +1 -1
  4. package/dist/alerts/alert-templates.js +6 -2
  5. package/dist/alerts/alert-templates.js.map +1 -1
  6. package/dist/alerts/alert.service.js +24 -11
  7. package/dist/alerts/alert.service.js.map +1 -1
  8. package/dist/alerts/alert.types.d.ts +1 -1
  9. package/dist/backup/backup.service.js.map +1 -1
  10. package/dist/cli/commands/analyze.js.map +1 -1
  11. package/dist/cli/commands/backup.js +10 -4
  12. package/dist/cli/commands/backup.js.map +1 -1
  13. package/dist/cli/commands/cleanup.js +12 -6
  14. package/dist/cli/commands/cleanup.js.map +1 -1
  15. package/dist/cli/commands/copydb.js +78 -37
  16. package/dist/cli/commands/copydb.js.map +1 -1
  17. package/dist/cli/commands/cross-migrate.js +9 -10
  18. package/dist/cli/commands/cross-migrate.js.map +1 -1
  19. package/dist/cli/commands/delete.js +46 -37
  20. package/dist/cli/commands/delete.js.map +1 -1
  21. package/dist/cli/commands/driver-copy.js +150 -40
  22. package/dist/cli/commands/driver-copy.js.map +1 -1
  23. package/dist/cli/commands/init.js +35 -13
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/migrate-config.js +11 -6
  26. package/dist/cli/commands/migrate-config.js.map +1 -1
  27. package/dist/cli/commands/restore.js +14 -148
  28. package/dist/cli/commands/restore.js.map +1 -1
  29. package/dist/cli/commands/schedule.js +1 -1
  30. package/dist/cli/commands/schedule.js.map +1 -1
  31. package/dist/cli/commands/start.js +19 -14
  32. package/dist/cli/commands/start.js.map +1 -1
  33. package/dist/cli/commands/status.js +5 -2
  34. package/dist/cli/commands/status.js.map +1 -1
  35. package/dist/cli/commands/test.js +3 -38
  36. package/dist/cli/commands/test.js.map +1 -1
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/cli/utils/config.d.ts +7 -0
  39. package/dist/cli/utils/config.js.map +1 -1
  40. package/dist/cli/utils/progress.js.map +1 -1
  41. package/dist/cli/utils/retention.js +6 -1
  42. package/dist/cli/utils/retention.js.map +1 -1
  43. package/dist/config/config.schema.d.ts +8 -0
  44. package/dist/config/config.schema.js +42 -0
  45. package/dist/config/config.schema.js.map +1 -1
  46. package/dist/config/config.service.js +99 -63
  47. package/dist/config/config.service.js.map +1 -1
  48. package/dist/config/env-url.helper.js +5 -2
  49. package/dist/config/env-url.helper.js.map +1 -1
  50. package/dist/config/permissions.checker.js +5 -7
  51. package/dist/config/permissions.checker.js.map +1 -1
  52. package/dist/config/pgpass.helper.js.map +1 -1
  53. package/dist/config/secrets.validator.js +3 -1
  54. package/dist/config/secrets.validator.js.map +1 -1
  55. package/dist/crypto/crypto.service.js +1 -1
  56. package/dist/crypto/crypto.service.js.map +1 -1
  57. package/dist/dbdock.js.map +1 -1
  58. package/dist/engines/engine.types.d.ts +32 -0
  59. package/dist/engines/engine.types.js +3 -0
  60. package/dist/engines/engine.types.js.map +1 -0
  61. package/dist/engines/index.d.ts +4 -0
  62. package/dist/engines/index.js +30 -0
  63. package/dist/engines/index.js.map +1 -0
  64. package/dist/engines/mssql.engine.d.ts +2 -0
  65. package/dist/engines/mssql.engine.js +198 -0
  66. package/dist/engines/mssql.engine.js.map +1 -0
  67. package/dist/engines/mysql.engine.d.ts +2 -0
  68. package/dist/engines/mysql.engine.js +184 -0
  69. package/dist/engines/mysql.engine.js.map +1 -0
  70. package/dist/engines/postgres.engine.d.ts +2 -0
  71. package/dist/engines/postgres.engine.js +257 -0
  72. package/dist/engines/postgres.engine.js.map +1 -0
  73. package/dist/engines/redis-worker.d.ts +1 -0
  74. package/dist/engines/redis-worker.js +80 -0
  75. package/dist/engines/redis-worker.js.map +1 -0
  76. package/dist/engines/redis.engine.d.ts +2 -0
  77. package/dist/engines/redis.engine.js +124 -0
  78. package/dist/engines/redis.engine.js.map +1 -0
  79. package/dist/index.d.ts +7 -0
  80. package/dist/index.js +8 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/main.js +1 -1
  83. package/dist/main.js.map +1 -1
  84. package/dist/migration/analyzers/mongodb.analyzer.js +15 -7
  85. package/dist/migration/analyzers/mongodb.analyzer.js.map +1 -1
  86. package/dist/migration/analyzers/postgres.analyzer.js +1 -1
  87. package/dist/migration/analyzers/postgres.analyzer.js.map +1 -1
  88. package/dist/migration/config.manager.js.map +1 -1
  89. package/dist/migration/engines/migration.engine.js +1 -1
  90. package/dist/migration/engines/migration.engine.js.map +1 -1
  91. package/dist/migration/engines/mongo-to-postgres.engine.js +34 -16
  92. package/dist/migration/engines/mongo-to-postgres.engine.js.map +1 -1
  93. package/dist/migration/engines/postgres-to-mongo.engine.js +8 -10
  94. package/dist/migration/engines/postgres-to-mongo.engine.js.map +1 -1
  95. package/dist/migration/mappers/mongo-to-postgres.mapper.js +3 -6
  96. package/dist/migration/mappers/mongo-to-postgres.mapper.js.map +1 -1
  97. package/dist/migration/mappers/postgres-to-mongo.mapper.js +5 -3
  98. package/dist/migration/mappers/postgres-to-mongo.mapper.js.map +1 -1
  99. package/dist/migration/reference.detector.js.map +1 -1
  100. package/dist/migration/row.types.d.ts +12 -0
  101. package/dist/migration/row.types.js +3 -0
  102. package/dist/migration/row.types.js.map +1 -0
  103. package/dist/migration/type.mapper.d.ts +3 -3
  104. package/dist/migration/type.mapper.js +29 -14
  105. package/dist/migration/type.mapper.js.map +1 -1
  106. package/dist/migration/types.d.ts +1 -1
  107. package/dist/scheduler/schedule-manager.js +4 -1
  108. package/dist/scheduler/schedule-manager.js.map +1 -1
  109. package/dist/scheduler/scheduler.service.js +11 -6
  110. package/dist/scheduler/scheduler.service.js.map +1 -1
  111. package/dist/standalone/backup-standalone.js +17 -118
  112. package/dist/standalone/backup-standalone.js.map +1 -1
  113. package/dist/standalone/restore-standalone.d.ts +10 -0
  114. package/dist/standalone/restore-standalone.js +167 -0
  115. package/dist/standalone/restore-standalone.js.map +1 -0
  116. package/dist/storage/adapters/cloudinary.adapter.js +12 -7
  117. package/dist/storage/adapters/cloudinary.adapter.js.map +1 -1
  118. package/dist/storage/adapters/local.adapter.js +15 -12
  119. package/dist/storage/adapters/local.adapter.js.map +1 -1
  120. package/dist/storage/adapters/s3.adapter.d.ts +2 -1
  121. package/dist/storage/adapters/s3.adapter.js +23 -2
  122. package/dist/storage/adapters/s3.adapter.js.map +1 -1
  123. package/dist/storage/deletion-guard.d.ts +37 -0
  124. package/dist/storage/deletion-guard.js +102 -0
  125. package/dist/storage/deletion-guard.js.map +1 -0
  126. package/dist/storage/safe-storage.adapter.d.ts +35 -0
  127. package/dist/storage/safe-storage.adapter.js +161 -0
  128. package/dist/storage/safe-storage.adapter.js.map +1 -0
  129. package/dist/storage/storage.interface.d.ts +6 -0
  130. package/dist/storage/storage.service.d.ts +3 -0
  131. package/dist/storage/storage.service.js +18 -3
  132. package/dist/storage/storage.service.js.map +1 -1
  133. package/dist/utils/logger.js +32 -8
  134. package/dist/utils/logger.js.map +1 -1
  135. package/dist/wal/retention.service.js +23 -8
  136. package/dist/wal/retention.service.js.map +1 -1
  137. package/dist/wal/wal-archiver.service.js +7 -4
  138. package/dist/wal/wal-archiver.service.js.map +1 -1
  139. package/package.json +6 -4
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBackupStandalone = createBackupStandalone;
4
- const child_process_1 = require("child_process");
5
4
  const stream_1 = require("stream");
6
5
  const fs_1 = require("fs");
7
6
  const path_1 = require("path");
@@ -12,18 +11,14 @@ const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
12
11
  const lib_storage_1 = require("@aws-sdk/lib-storage");
13
12
  const cloudinary_1 = require("cloudinary");
14
13
  const format_1 = require("../utils/format");
14
+ const engines_1 = require("../engines");
15
15
  async function createBackupStandalone(config, callbacks) {
16
16
  const startTime = Date.now();
17
17
  const backupId = (0, crypto_1.randomBytes)(16).toString('hex');
18
18
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
19
+ const engine = (0, engines_1.getEngine)(config.database.type);
19
20
  const format = config.backup?.format || 'custom';
20
- const extensionMap = {
21
- custom: 'sql',
22
- plain: 'sql',
23
- directory: 'dir',
24
- tar: 'tar',
25
- };
26
- const extension = extensionMap[format] || 'sql';
21
+ const extension = engine.fileExtension(format);
27
22
  const filename = `backup-${timestamp}-${backupId}.${extension}`;
28
23
  let storageKey = config.storage.provider === 'local'
29
24
  ? (0, path_1.join)(config.storage.local?.path || './backups', filename)
@@ -33,34 +28,12 @@ async function createBackupStandalone(config, callbacks) {
33
28
  (0, fs_1.mkdirSync)(dir, { recursive: true });
34
29
  }
35
30
  const dbConfig = config.database;
36
- const formatMap = {
37
- custom: 'c',
38
- plain: 'p',
39
- directory: 'd',
40
- tar: 't',
41
- };
42
- const pgDumpArgs = [
43
- '-h',
44
- dbConfig.host || 'localhost',
45
- '-p',
46
- String(dbConfig.port || 5432),
47
- '-U',
48
- dbConfig.user || dbConfig.username || process.env.DBDOCK_DB_USER || 'postgres',
49
- '-d',
50
- dbConfig.database || 'postgres',
51
- '-F',
52
- formatMap[format] || 'c',
53
- '--no-password',
54
- ];
55
- const env = {
56
- ...process.env,
57
- PGPASSWORD: dbConfig.password || process.env.DBDOCK_DB_PASSWORD,
58
- };
59
31
  if (callbacks?.onStage) {
60
32
  callbacks.onStage('Dumping database');
61
33
  }
62
- const pgDumpProcess = (0, child_process_1.spawn)('pg_dump', pgDumpArgs, { env });
63
- let stream = pgDumpProcess.stdout;
34
+ const dump = engine.spawnDump(dbConfig, { format });
35
+ const pgDumpProcess = dump.process;
36
+ let stream = dump.stdout;
64
37
  const streams = [stream];
65
38
  const pgDumpErrorMessages = [];
66
39
  let pgDumpExitCode = null;
@@ -119,10 +92,10 @@ async function createBackupStandalone(config, callbacks) {
119
92
  await new Promise((resolve, reject) => {
120
93
  writeStream.on('finish', () => {
121
94
  if (pgDumpExitCode !== null && pgDumpExitCode !== 0) {
122
- reject(new Error(formatPgDumpError(pgDumpExitCode, pgDumpErrorMessages, dbConfig)));
95
+ reject(new Error(engine.formatDumpError(pgDumpExitCode, pgDumpErrorMessages, dbConfig)));
123
96
  }
124
97
  else if (pgDumpErrorMessages.length > 0 && totalSize === 0) {
125
- reject(new Error(formatPgDumpError(1, pgDumpErrorMessages, dbConfig)));
98
+ reject(new Error(engine.formatDumpError(1, pgDumpErrorMessages, dbConfig)));
126
99
  }
127
100
  else {
128
101
  resolve();
@@ -130,7 +103,7 @@ async function createBackupStandalone(config, callbacks) {
130
103
  });
131
104
  writeStream.on('error', reject);
132
105
  pgDumpProcess.on('error', (err) => {
133
- reject(new Error(`Failed to execute pg_dump: ${err.message}\n\nPlease ensure PostgreSQL client tools are installed:\n macOS: brew install postgresql\n Ubuntu/Debian: sudo apt-get install postgresql-client`));
106
+ reject(new Error(`Failed to start the database dump: ${err.message}\n\n${engine.clientToolHint}`));
134
107
  });
135
108
  });
136
109
  }
@@ -168,10 +141,10 @@ async function createBackupStandalone(config, callbacks) {
168
141
  .then(() => {
169
142
  uploadCompleted = true;
170
143
  if (pgDumpExitCode !== null && pgDumpExitCode !== 0) {
171
- reject(new Error(formatPgDumpError(pgDumpExitCode, pgDumpErrorMessages, dbConfig)));
144
+ reject(new Error(engine.formatDumpError(pgDumpExitCode, pgDumpErrorMessages, dbConfig)));
172
145
  }
173
146
  else if (pgDumpErrorMessages.length > 0 && totalSize === 0) {
174
- reject(new Error(formatPgDumpError(1, pgDumpErrorMessages, dbConfig)));
147
+ reject(new Error(engine.formatDumpError(1, pgDumpErrorMessages, dbConfig)));
175
148
  }
176
149
  else {
177
150
  resolve();
@@ -179,13 +152,13 @@ async function createBackupStandalone(config, callbacks) {
179
152
  })
180
153
  .catch(reject);
181
154
  pgDumpProcess.on('error', (err) => {
182
- reject(new Error(`Failed to execute pg_dump: ${err.message}\n\nPlease ensure PostgreSQL client tools are installed:\n macOS: brew install postgresql\n Ubuntu/Debian: sudo apt-get install postgresql-client`));
155
+ reject(new Error(`Failed to start the database dump: ${err.message}\n\n${engine.clientToolHint}`));
183
156
  });
184
157
  pgDumpProcess.on('close', (code) => {
185
158
  if (code !== null && code !== 0 && !uploadCompleted) {
186
159
  setTimeout(() => {
187
160
  if (!uploadCompleted) {
188
- reject(new Error(formatPgDumpError(code, pgDumpErrorMessages, dbConfig)));
161
+ reject(new Error(engine.formatDumpError(code, pgDumpErrorMessages, dbConfig)));
189
162
  }
190
163
  }, 1000);
191
164
  }
@@ -217,10 +190,10 @@ async function createBackupStandalone(config, callbacks) {
217
190
  reject(new Error(error.message));
218
191
  }
219
192
  else if (pgDumpExitCode !== null && pgDumpExitCode !== 0) {
220
- reject(new Error(formatPgDumpError(pgDumpExitCode, pgDumpErrorMessages, dbConfig)));
193
+ reject(new Error(engine.formatDumpError(pgDumpExitCode, pgDumpErrorMessages, dbConfig)));
221
194
  }
222
195
  else if (pgDumpErrorMessages.length > 0 && totalSize === 0) {
223
- reject(new Error(formatPgDumpError(1, pgDumpErrorMessages, dbConfig)));
196
+ reject(new Error(engine.formatDumpError(1, pgDumpErrorMessages, dbConfig)));
224
197
  }
225
198
  else {
226
199
  if (result?.public_id) {
@@ -231,13 +204,13 @@ async function createBackupStandalone(config, callbacks) {
231
204
  });
232
205
  stream.pipe(uploadStream);
233
206
  pgDumpProcess.on('error', (err) => {
234
- reject(new Error(`Failed to execute pg_dump: ${err.message}\n\nPlease ensure PostgreSQL client tools are installed:\n macOS: brew install postgresql\n Ubuntu/Debian: sudo apt-get install postgresql-client`));
207
+ reject(new Error(`Failed to start the database dump: ${err.message}\n\n${engine.clientToolHint}`));
235
208
  });
236
209
  pgDumpProcess.on('close', (code) => {
237
210
  if (code !== null && code !== 0 && !uploadCompleted) {
238
211
  setTimeout(() => {
239
212
  if (!uploadCompleted) {
240
- reject(new Error(formatPgDumpError(code, pgDumpErrorMessages, dbConfig)));
213
+ reject(new Error(engine.formatDumpError(code, pgDumpErrorMessages, dbConfig)));
241
214
  }
242
215
  }, 1000);
243
216
  }
@@ -289,78 +262,4 @@ async function createBackupStandalone(config, callbacks) {
289
262
  downloadUrl,
290
263
  };
291
264
  }
292
- function formatPgDumpError(exitCode, errorMessages, dbConfig) {
293
- const errorMessage = errorMessages.join('\n');
294
- const host = dbConfig.host || 'localhost';
295
- const port = dbConfig.port || 5432;
296
- const username = dbConfig.username || 'postgres';
297
- const database = dbConfig.database || 'postgres';
298
- if (errorMessage.includes('database') &&
299
- errorMessage.includes('does not exist')) {
300
- const dbMatch = errorMessage.match(/database "([^"]+)" does not exist/);
301
- const dbName = dbMatch ? dbMatch[1] : database;
302
- return (`Database "${dbName}" does not exist\n\n` +
303
- `Connection details:\n` +
304
- ` Host: ${host}\n` +
305
- ` Port: ${port}\n` +
306
- ` Database: ${dbName}\n\n` +
307
- `Please verify:\n` +
308
- ` • Database name is correct in dbdock.config.json\n` +
309
- ` • Database exists on the server\n` +
310
- ` • You can connect: psql -h ${host} -p ${port} -U ${username} -d ${dbName}`);
311
- }
312
- if (errorMessage.includes('could not connect') ||
313
- errorMessage.includes('Connection refused') ||
314
- errorMessage.includes('ECONNREFUSED')) {
315
- return (`Cannot connect to PostgreSQL server\n\n` +
316
- `Connection details:\n` +
317
- ` Host: ${host}\n` +
318
- ` Port: ${port}\n\n` +
319
- `Please verify:\n` +
320
- ` • PostgreSQL server is running\n` +
321
- ` • Host and port are correct in dbdock.config.json\n` +
322
- ` • Network/firewall allows connection\n` +
323
- ` • Test connection: psql -h ${host} -p ${port} -U ${username} -d ${database}`);
324
- }
325
- if (errorMessage.includes('authentication failed') ||
326
- errorMessage.includes('password authentication failed')) {
327
- return (`Authentication failed for user "${username}"\n\n` +
328
- `Connection details:\n` +
329
- ` Host: ${host}\n` +
330
- ` Port: ${port}\n` +
331
- ` Username: ${username}\n` +
332
- ` Database: ${database}\n\n` +
333
- `Please verify:\n` +
334
- ` • Username is correct in dbdock.config.json\n` +
335
- ` • Password is correct in dbdock.config.json\n` +
336
- ` • User exists and has access to the database\n` +
337
- ` • Test connection: psql -h ${host} -p ${port} -U ${username} -d ${database}`);
338
- }
339
- if (errorMessage.includes('permission denied')) {
340
- return (`Permission denied for user "${username}"\n\n` +
341
- `The user does not have sufficient privileges to perform backup.\n\n` +
342
- `Please verify:\n` +
343
- ` • User has read permissions on the database\n` +
344
- ` • User has necessary privileges for pg_dump\n` +
345
- ` • Grant access: GRANT SELECT ON ALL TABLES IN SCHEMA public TO ${username};`);
346
- }
347
- if (errorMessage.includes('no password supplied')) {
348
- return (`No password provided for user "${username}"\n\n` +
349
- `Please add the database password to dbdock.config.json:\n` +
350
- ` "database": {\n` +
351
- ` "password": "your-database-password"\n` +
352
- ` }`);
353
- }
354
- if (errorMessages.length > 0) {
355
- return (`pg_dump failed with exit code ${exitCode}\n\n` +
356
- `Error details:\n${errorMessage}\n\n` +
357
- `Connection settings:\n` +
358
- ` Host: ${host}\n` +
359
- ` Port: ${port}\n` +
360
- ` Username: ${username}\n` +
361
- ` Database: ${database}\n\n` +
362
- `Please check your configuration and database connection.`);
363
- }
364
- return `pg_dump failed with exit code ${exitCode}. Please check your database configuration.`;
365
- }
366
265
  //# sourceMappingURL=backup-standalone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-standalone.js","sourceRoot":"","sources":["../../src/standalone/backup-standalone.ts"],"names":[],"mappings":";;AA2BA,wDA4WC;AAtYD,iDAAsC;AACtC,mCAA0D;AAC1D,2BAAkD;AAClD,+BAAqC;AACrC,mCAAqD;AACrD,+BAA4C;AAC5C,kDAAgE;AAChE,wEAA6D;AAC7D,sDAA8C;AAC9C,2CAA8C;AAC9C,4CAAiD;AAgB1C,KAAK,UAAU,sBAAsB,CAC1C,MAAiB,EACjB,SAAkC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,CAAC;IACjD,MAAM,YAAY,GAA2B;QAC3C,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,KAAK;KACX,CAAC;IACF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,SAAS,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;IAEhE,IAAI,UAAU,GACZ,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAA,WAAI,EAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,CAAC;QAC3D,CAAC,CAAC,kBAAkB,QAAQ,EAAE,CAAC;IAEnC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;QAChC,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,MAAM,SAAS,GAA2B;QACxC,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,GAAG;QACd,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,QAAQ,CAAC,IAAI,IAAI,WAAW;QAC5B,IAAI;QACJ,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;QAC7B,IAAI;QACJ,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,UAAU;QAC9E,IAAI;QACJ,QAAQ,CAAC,QAAQ,IAAI,UAAU;QAC/B,IAAI;QACJ,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG;QACxB,eAAe;KAChB,CAAC;IAEF,MAAM,GAAG,GAAG;QACV,GAAG,OAAO,CAAC,GAAG;QACd,UAAU,EAAE,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;KAChE,CAAC;IAEF,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAE5D,IAAI,MAAM,GAAyB,aAAa,CAAC,MAAM,CAAC;IACxD,MAAM,OAAO,GAA6B,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACvC,MAAM,OAAO,GAAI,IAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3C,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACjC,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACxC,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,2BAAoB,EAAC;YAC1C,MAAM,EAAE;gBACN,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;aAC1C;SACF,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACvE,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEnE,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,kCAAkC,SAAS,CAAC,MAAM,gCAAgC;gBAChF,cAAc,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,kBAAkB;gBACrG,eAAe;gBACf,2EAA2E;gBAC3E,sGAAsG;gBACtG,mEAAmE,CACtE,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;QAC1B,IAAI,SAAS,EAAE,UAAU,EAAE,CAAC;YAC1B,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,WAAW,GAAG,IAAA,sBAAiB,EAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAC5B,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBACpD,MAAM,CACJ,IAAI,KAAK,CACP,iBAAiB,CAAC,cAAc,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CACjE,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC7D,MAAM,CACJ,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,MAAM,CACJ,IAAI,KAAK,CACP,8BAA8B,GAAG,CAAC,OAAO,qJAAqJ,CAC/L,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IACL,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;QAChC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAChC,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,CACf,gBAAgB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CACxD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,oBAAQ,CAAC;YAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,WAAW;YACtC,WAAW,EAAE;gBACX,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;aAC1C;YACD,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,WAAW;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,MAAM;iBACH,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE;gBACT,eAAe,GAAG,IAAI,CAAC;gBACvB,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBACpD,MAAM,CACJ,IAAI,KAAK,CACP,iBAAiB,CACf,cAAc,EACd,mBAAmB,EACnB,QAAQ,CACT,CACF,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC7D,MAAM,CACJ,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;YAEjB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,MAAM,CACJ,IAAI,KAAK,CACP,8BAA8B,GAAG,CAAC,OAAO,qJAAqJ,CAC/L,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACpD,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,MAAM,CACJ,IAAI,KAAK,CACP,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CACvD,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC,EAAE,IAAI,CAAC,CAAC;gBACX,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACpD,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,eAAU,CAAC,MAAM,CAAC;YAChB,UAAU,EAAE,gBAAgB,CAAC,SAAS;YACtC,OAAO,EAAE,gBAAgB,CAAC,MAAM;YAChC,UAAU,EAAE,gBAAgB,CAAC,SAAS;SACvC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,MAAM,YAAY,GAAG,eAAU,CAAC,QAAQ,CAAC,aAAa,CACpD;gBACE,aAAa,EAAE,KAAK;gBACpB,MAAM,EAAE,gBAAgB;gBACxB,SAAS,EAAE,UAAU,SAAS,IAAI,QAAQ,EAAE;aAC7C,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChB,eAAe,GAAG,IAAI,CAAC;gBACvB,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBAC3D,MAAM,CACJ,IAAI,KAAK,CACP,iBAAiB,CACf,cAAc,EACd,mBAAmB,EACnB,QAAQ,CACT,CACF,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC7D,MAAM,CACJ,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;wBACtB,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;oBAChC,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CACF,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,MAAM,CACJ,IAAI,KAAK,CACP,8BAA8B,GAAG,CAAC,OAAO,qJAAqJ,CAC/L,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACpD,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,MAAM,CACJ,IAAI,KAAK,CACP,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CACvD,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC,EAAE,IAAI,CAAC,CAAC;gBACX,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,oBAAoB,MAAM,CAAC,OAAO,CAAC,QAAQ,yCAAyC,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,IAAI,WAA+B,CAAC;IAEpC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,IAAI,oBAAQ,CAAC;oBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,WAAW;oBACtC,WAAW,EAAE;wBACX,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;qBAC1C;oBACD,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBAC1D,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;oBACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,GAAG,EAAE,UAAU;iBAChB,CAAC,CAAC;gBAEH,WAAW,GAAG,MAAM,IAAA,mCAAY,EAAC,QAAQ,EAAE,OAAO,EAAE;oBAClD,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACpD,WAAW,GAAG,eAAU,CAAC,GAAG,CAAC,UAAU,EAAE;YACvC,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ;QACR,UAAU;QACV,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC;QACxC,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,aAAuB,EACvB,QAA+B;IAE/B,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,WAAW,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU,CAAC;IAEjD,IACE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACjC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACvC,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/C,OAAO,CACL,aAAa,MAAM,sBAAsB;YACzC,uBAAuB;YACvB,WAAW,IAAI,IAAI;YACnB,WAAW,IAAI,IAAI;YACnB,eAAe,MAAM,MAAM;YAC3B,kBAAkB;YAClB,sDAAsD;YACtD,qCAAqC;YACrC,gCAAgC,IAAI,OAAO,IAAI,OAAO,QAAQ,OAAO,MAAM,EAAE,CAC9E,CAAC;IACJ,CAAC;IAED,IACE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1C,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3C,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EACrC,CAAC;QACD,OAAO,CACL,yCAAyC;YACzC,uBAAuB;YACvB,WAAW,IAAI,IAAI;YACnB,WAAW,IAAI,MAAM;YACrB,kBAAkB;YAClB,oCAAoC;YACpC,uDAAuD;YACvD,0CAA0C;YAC1C,gCAAgC,IAAI,OAAO,IAAI,OAAO,QAAQ,OAAO,QAAQ,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,IACE,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC9C,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EACvD,CAAC;QACD,OAAO,CACL,mCAAmC,QAAQ,OAAO;YAClD,uBAAuB;YACvB,WAAW,IAAI,IAAI;YACnB,WAAW,IAAI,IAAI;YACnB,eAAe,QAAQ,IAAI;YAC3B,eAAe,QAAQ,MAAM;YAC7B,kBAAkB;YAClB,iDAAiD;YACjD,iDAAiD;YACjD,kDAAkD;YAClD,gCAAgC,IAAI,OAAO,IAAI,OAAO,QAAQ,OAAO,QAAQ,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,OAAO,CACL,+BAA+B,QAAQ,OAAO;YAC9C,qEAAqE;YACrE,kBAAkB;YAClB,iDAAiD;YACjD,iDAAiD;YACjD,oEAAoE,QAAQ,GAAG,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAClD,OAAO,CACL,kCAAkC,QAAQ,OAAO;YACjD,2DAA2D;YAC3D,mBAAmB;YACnB,4CAA4C;YAC5C,KAAK,CACN,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,iCAAiC,QAAQ,MAAM;YAC/C,mBAAmB,YAAY,MAAM;YACrC,wBAAwB;YACxB,WAAW,IAAI,IAAI;YACnB,WAAW,IAAI,IAAI;YACnB,eAAe,QAAQ,IAAI;YAC3B,eAAe,QAAQ,MAAM;YAC7B,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,iCAAiC,QAAQ,6CAA6C,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"backup-standalone.js","sourceRoot":"","sources":["../../src/standalone/backup-standalone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { CLIConfig } from '../cli/utils/config';
2
+ export interface RestoreProgressCallback {
3
+ onProgress?: (bytesProcessed: number) => void;
4
+ onStage?: (stage: string) => void;
5
+ }
6
+ export interface RestoreStandaloneOptions {
7
+ storageKey: string;
8
+ target?: CLIConfig['database'];
9
+ }
10
+ export declare function restoreBackupStandalone(config: CLIConfig, options: RestoreStandaloneOptions, callbacks?: RestoreProgressCallback): Promise<void>;
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.restoreBackupStandalone = restoreBackupStandalone;
4
+ const fs_1 = require("fs");
5
+ const os_1 = require("os");
6
+ const path_1 = require("path");
7
+ const crypto_1 = require("crypto");
8
+ const zlib_1 = require("zlib");
9
+ const crypto_2 = require("crypto");
10
+ const s3_adapter_1 = require("../storage/adapters/s3.adapter");
11
+ const r2_adapter_1 = require("../storage/adapters/r2.adapter");
12
+ const cloudinary_adapter_1 = require("../storage/adapters/cloudinary.adapter");
13
+ const engines_1 = require("../engines");
14
+ function buildRemoteAdapter(storage) {
15
+ switch (storage.provider) {
16
+ case 's3': {
17
+ if (!storage.s3?.accessKeyId || !storage.s3?.secretAccessKey) {
18
+ throw new Error('S3 credentials are required');
19
+ }
20
+ return new s3_adapter_1.S3StorageAdapter({
21
+ endpoint: storage.s3.endpoint,
22
+ region: storage.s3.region,
23
+ bucket: storage.s3.bucket || '',
24
+ accessKeyId: storage.s3.accessKeyId,
25
+ secretAccessKey: storage.s3.secretAccessKey,
26
+ });
27
+ }
28
+ case 'r2': {
29
+ if (!storage.s3?.accessKeyId || !storage.s3?.secretAccessKey) {
30
+ throw new Error('R2 credentials are required');
31
+ }
32
+ if (!storage.s3?.endpoint) {
33
+ throw new Error('R2 endpoint is required');
34
+ }
35
+ const accountId = storage.s3.endpoint.match(/https:\/\/([^.]+)/)?.[1];
36
+ if (!accountId) {
37
+ throw new Error('Invalid R2 endpoint format');
38
+ }
39
+ return new r2_adapter_1.R2StorageAdapter({
40
+ accountId,
41
+ bucket: storage.s3.bucket || '',
42
+ accessKeyId: storage.s3.accessKeyId,
43
+ secretAccessKey: storage.s3.secretAccessKey,
44
+ });
45
+ }
46
+ case 'cloudinary': {
47
+ if (!storage.cloudinary?.cloudName ||
48
+ !storage.cloudinary?.apiKey ||
49
+ !storage.cloudinary?.apiSecret) {
50
+ throw new Error('Cloudinary credentials are required');
51
+ }
52
+ return new cloudinary_adapter_1.CloudinaryStorageAdapter({
53
+ cloudName: storage.cloudinary.cloudName,
54
+ apiKey: storage.cloudinary.apiKey,
55
+ apiSecret: storage.cloudinary.apiSecret,
56
+ folder: 'dbdock_backups',
57
+ });
58
+ }
59
+ default:
60
+ throw new Error(`Unknown storage provider: ${storage.provider}`);
61
+ }
62
+ }
63
+ async function openSourceStream(config, storageKey, callbacks, tempFiles) {
64
+ if (callbacks?.onStage) {
65
+ callbacks.onStage('Downloading backup');
66
+ }
67
+ if (config.storage.provider === 'local') {
68
+ const localPath = storageKey.includes('/')
69
+ ? storageKey
70
+ : (0, path_1.join)(config.storage.local?.path || './backups', storageKey);
71
+ if (!(0, fs_1.existsSync)(localPath)) {
72
+ throw new Error(`Backup file not found: ${localPath}`);
73
+ }
74
+ return (0, fs_1.createReadStream)(localPath);
75
+ }
76
+ const adapter = buildRemoteAdapter(config.storage);
77
+ const tempFilePath = (0, path_1.join)((0, os_1.tmpdir)(), `dbdock-restore-${(0, crypto_1.randomBytes)(8).toString('hex')}.bin`);
78
+ tempFiles.push(tempFilePath);
79
+ const downloadStream = await adapter.downloadStream({ key: storageKey });
80
+ const tempWriteStream = (0, fs_1.createWriteStream)(tempFilePath);
81
+ let downloadedBytes = 0;
82
+ downloadStream.on('data', (chunk) => {
83
+ downloadedBytes += chunk.length;
84
+ if (callbacks?.onProgress) {
85
+ callbacks.onProgress(downloadedBytes);
86
+ }
87
+ });
88
+ await new Promise((resolve, reject) => {
89
+ downloadStream.pipe(tempWriteStream);
90
+ downloadStream.on('error', reject);
91
+ tempWriteStream.on('error', reject);
92
+ tempWriteStream.on('finish', resolve);
93
+ });
94
+ return (0, fs_1.createReadStream)(tempFilePath);
95
+ }
96
+ async function restoreBackupStandalone(config, options, callbacks) {
97
+ const engine = (0, engines_1.getEngine)(config.database.type);
98
+ const target = options.target || config.database;
99
+ const tempFiles = [];
100
+ const cleanup = () => {
101
+ for (const file of tempFiles) {
102
+ if ((0, fs_1.existsSync)(file)) {
103
+ (0, fs_1.unlinkSync)(file);
104
+ }
105
+ }
106
+ };
107
+ try {
108
+ let stream = await openSourceStream(config, options.storageKey, callbacks, tempFiles);
109
+ if (config.backup?.encryption?.enabled && config.backup.encryption.key) {
110
+ if (callbacks?.onStage) {
111
+ callbacks.onStage('Decrypting backup');
112
+ }
113
+ const keyBuffer = Buffer.from(config.backup.encryption.key, 'hex');
114
+ if (keyBuffer.length !== 32) {
115
+ throw new Error(`Invalid encryption key length: ${keyBuffer.length} bytes (expected 32 bytes)`);
116
+ }
117
+ const iv = Buffer.alloc(16);
118
+ const decipher = (0, crypto_2.createDecipheriv)('aes-256-cbc', keyBuffer, iv);
119
+ stream = stream.pipe(decipher);
120
+ }
121
+ if (config.backup?.compression?.enabled) {
122
+ if (callbacks?.onStage) {
123
+ callbacks.onStage('Decompressing backup');
124
+ }
125
+ stream = stream.pipe((0, zlib_1.createBrotliDecompress)());
126
+ }
127
+ if (callbacks?.onStage) {
128
+ callbacks.onStage('Restoring to database');
129
+ }
130
+ const restoreProcess = engine.spawnRestore(target);
131
+ stream.pipe(restoreProcess.stdin);
132
+ await new Promise((resolve, reject) => {
133
+ let errorOutput = '';
134
+ let hasWarnings = false;
135
+ stream.on('error', (err) => {
136
+ reject(new Error(`Failed to read backup data: ${err.message}`));
137
+ });
138
+ restoreProcess.stderr.on('data', (data) => {
139
+ const message = data.toString();
140
+ if (engine.shouldIgnoreRestoreMessage(message)) {
141
+ hasWarnings = true;
142
+ }
143
+ else if (message.trim()) {
144
+ errorOutput += message;
145
+ }
146
+ });
147
+ restoreProcess.on('error', (err) => {
148
+ reject(new Error(`Failed to start the restore process: ${err.message}\n\n${engine.clientToolHint}`));
149
+ });
150
+ restoreProcess.on('close', (code) => {
151
+ if (code === 0 || (code === 1 && !errorOutput && hasWarnings)) {
152
+ resolve();
153
+ }
154
+ else if (errorOutput) {
155
+ reject(new Error(engine.formatRestoreError(errorOutput)));
156
+ }
157
+ else {
158
+ reject(new Error(`Restore exited with code ${code}`));
159
+ }
160
+ });
161
+ });
162
+ }
163
+ finally {
164
+ cleanup();
165
+ }
166
+ }
167
+ //# sourceMappingURL=restore-standalone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-standalone.js","sourceRoot":"","sources":["../../src/standalone/restore-standalone.ts"],"names":[],"mappings":"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"}
@@ -114,14 +114,16 @@ let CloudinaryStorageAdapter = CloudinaryStorageAdapter_1 = class CloudinaryStor
114
114
  }
115
115
  async listObjects(options) {
116
116
  try {
117
- const searchPrefix = options?.prefix ? `${this.folder}/${options.prefix}` : this.folder;
118
- const result = await cloudinary_1.v2.api.resources({
117
+ const searchPrefix = options?.prefix
118
+ ? `${this.folder}/${options.prefix}`
119
+ : this.folder;
120
+ const result = (await cloudinary_1.v2.api.resources({
119
121
  type: 'upload',
120
122
  resource_type: 'raw',
121
123
  prefix: searchPrefix,
122
124
  max_results: options?.maxKeys || 500,
123
125
  next_cursor: options?.startAfter,
124
- });
126
+ }));
125
127
  if (!result.resources || result.resources.length === 0) {
126
128
  this.logger.warn(`No resources found with prefix: ${searchPrefix}`);
127
129
  return [];
@@ -155,13 +157,13 @@ let CloudinaryStorageAdapter = CloudinaryStorageAdapter_1 = class CloudinaryStor
155
157
  throw cleanError;
156
158
  }
157
159
  }
158
- async generatePresignedUrl(options) {
160
+ generatePresignedUrl(options) {
159
161
  try {
160
162
  const url = cloudinary_1.v2.url(options.key, {
161
163
  resource_type: 'raw',
162
164
  type: 'upload',
163
165
  });
164
- return url;
166
+ return Promise.resolve(url);
165
167
  }
166
168
  catch (error) {
167
169
  const friendlyMessage = this.getFriendlyError(error);
@@ -179,7 +181,8 @@ let CloudinaryStorageAdapter = CloudinaryStorageAdapter_1 = class CloudinaryStor
179
181
  return true;
180
182
  }
181
183
  catch (error) {
182
- if (error.error?.http_code === 404) {
184
+ const e = error;
185
+ if (e.error?.http_code === 404) {
183
186
  return false;
184
187
  }
185
188
  throw error;
@@ -189,7 +192,9 @@ let CloudinaryStorageAdapter = CloudinaryStorageAdapter_1 = class CloudinaryStor
189
192
  const err = error;
190
193
  const message = err?.message || '';
191
194
  const httpCode = err?.error?.http_code;
192
- if (httpCode === 401 || message.includes('Invalid API key') || message.includes('authentication')) {
195
+ if (httpCode === 401 ||
196
+ message.includes('Invalid API key') ||
197
+ message.includes('authentication')) {
193
198
  return 'Invalid storage configuration: Authentication failed. Please verify your Cloudinary API key and secret are correct.';
194
199
  }
195
200
  if (httpCode === 403) {
@@ -1 +1 @@
1
- {"version":3,"file":"cloudinary.adapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/cloudinary.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudinary.adapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/cloudinary.adapter.ts"],"names":[],"mappings":"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"}
@@ -57,14 +57,15 @@ let LocalStorageAdapter = LocalStorageAdapter_1 = class LocalStorageAdapter {
57
57
  basePath;
58
58
  constructor(basePath) {
59
59
  this.basePath = basePath;
60
- this.ensureBasePathExists();
60
+ void this.ensureBasePathExists();
61
61
  }
62
62
  async ensureBasePathExists() {
63
63
  try {
64
64
  await mkdir(this.basePath, { recursive: true });
65
65
  }
66
66
  catch (error) {
67
- this.logger.error(`Failed to create base path: ${error.message}`);
67
+ const msg = error instanceof Error ? error.message : String(error);
68
+ this.logger.error(`Failed to create base path: ${msg}`);
68
69
  throw error;
69
70
  }
70
71
  }
@@ -113,16 +114,18 @@ let LocalStorageAdapter = LocalStorageAdapter_1 = class LocalStorageAdapter {
113
114
  resolve({ key: options.key });
114
115
  }
115
116
  catch (error) {
116
- reject(error);
117
+ reject(error instanceof Error ? error : new Error(String(error)));
117
118
  }
118
119
  };
119
120
  stream.on('error', handleError);
120
121
  writeStream.on('error', handleError);
121
- writeStream.on('finish', handleFinish);
122
+ writeStream.on('finish', () => {
123
+ void handleFinish();
124
+ });
122
125
  writeStream.on('close', () => {
123
126
  if (!finished && !hasError) {
124
127
  this.logger.warn('WriteStream closed without finish event');
125
- handleFinish();
128
+ void handleFinish();
126
129
  }
127
130
  });
128
131
  const pipe = stream.pipe(writeStream);
@@ -132,12 +135,12 @@ let LocalStorageAdapter = LocalStorageAdapter_1 = class LocalStorageAdapter {
132
135
  });
133
136
  });
134
137
  }
135
- async downloadStream(options) {
138
+ downloadStream(options) {
136
139
  const fullPath = this.getFullPath(options.key);
137
140
  if (!fs.existsSync(fullPath)) {
138
- throw new Error(`Object not found: ${options.key}`);
141
+ return Promise.reject(new Error(`Object not found: ${options.key}`));
139
142
  }
140
- return fs.createReadStream(fullPath);
143
+ return Promise.resolve(fs.createReadStream(fullPath));
141
144
  }
142
145
  async listObjects(options) {
143
146
  const prefix = options?.prefix || '';
@@ -197,13 +200,13 @@ let LocalStorageAdapter = LocalStorageAdapter_1 = class LocalStorageAdapter {
197
200
  await unlink(metadataPath);
198
201
  }
199
202
  }
200
- async generatePresignedUrl(options) {
203
+ generatePresignedUrl(options) {
201
204
  const fullPath = this.getFullPath(options.key);
202
- return `file://${fullPath}`;
205
+ return Promise.resolve(`file://${fullPath}`);
203
206
  }
204
- async objectExists(key) {
207
+ objectExists(key) {
205
208
  const fullPath = this.getFullPath(key);
206
- return fs.existsSync(fullPath);
209
+ return Promise.resolve(fs.existsSync(fullPath));
207
210
  }
208
211
  };
209
212
  exports.LocalStorageAdapter = LocalStorageAdapter;