casker-cli 0.0.0-stage → 1.0.2

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 (195) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -3
  3. package/dist/backup/application/commands/CreateBackupCommand.d.ts +8 -0
  4. package/dist/backup/application/commands/CreateBackupCommand.d.ts.map +1 -0
  5. package/dist/backup/application/commands/CreateBackupCommand.js +2 -0
  6. package/dist/backup/application/commands/CreateBackupCommand.js.map +1 -0
  7. package/dist/backup/application/commands/CreateBackupCommandHandler.d.ts +13 -0
  8. package/dist/backup/application/commands/CreateBackupCommandHandler.d.ts.map +1 -0
  9. package/dist/backup/application/commands/CreateBackupCommandHandler.js +31 -0
  10. package/dist/backup/application/commands/CreateBackupCommandHandler.js.map +1 -0
  11. package/dist/backup/application/queries/ListBackupQuery.d.ts +18 -0
  12. package/dist/backup/application/queries/ListBackupQuery.d.ts.map +1 -0
  13. package/dist/backup/application/queries/ListBackupQuery.js +2 -0
  14. package/dist/backup/application/queries/ListBackupQuery.js.map +1 -0
  15. package/dist/backup/application/queries/ListBackupQueryHandler.d.ts +9 -0
  16. package/dist/backup/application/queries/ListBackupQueryHandler.d.ts.map +1 -0
  17. package/dist/backup/application/queries/ListBackupQueryHandler.js +22 -0
  18. package/dist/backup/application/queries/ListBackupQueryHandler.js.map +1 -0
  19. package/dist/backup/composition/CreateBackupHandler.d.ts +3 -0
  20. package/dist/backup/composition/CreateBackupHandler.d.ts.map +1 -0
  21. package/dist/backup/composition/CreateBackupHandler.js +11 -0
  22. package/dist/backup/composition/CreateBackupHandler.js.map +1 -0
  23. package/dist/backup/composition/CreateListBackupHandler.d.ts +3 -0
  24. package/dist/backup/composition/CreateListBackupHandler.d.ts.map +1 -0
  25. package/dist/backup/composition/CreateListBackupHandler.js +7 -0
  26. package/dist/backup/composition/CreateListBackupHandler.js.map +1 -0
  27. package/dist/backup/domain/entities/BackupResult.d.ts +25 -0
  28. package/dist/backup/domain/entities/BackupResult.d.ts.map +1 -0
  29. package/dist/backup/domain/entities/BackupResult.js +52 -0
  30. package/dist/backup/domain/entities/BackupResult.js.map +1 -0
  31. package/dist/backup/domain/errors/BackupFailedError.d.ts +6 -0
  32. package/dist/backup/domain/errors/BackupFailedError.d.ts.map +1 -0
  33. package/dist/backup/domain/errors/BackupFailedError.js +11 -0
  34. package/dist/backup/domain/errors/BackupFailedError.js.map +1 -0
  35. package/dist/backup/domain/factories/BackupEngineFactory.d.ts +6 -0
  36. package/dist/backup/domain/factories/BackupEngineFactory.d.ts.map +1 -0
  37. package/dist/backup/domain/factories/BackupEngineFactory.js +3 -0
  38. package/dist/backup/domain/factories/BackupEngineFactory.js.map +1 -0
  39. package/dist/backup/domain/interfaces/BackupEngine.d.ts +10 -0
  40. package/dist/backup/domain/interfaces/BackupEngine.d.ts.map +1 -0
  41. package/dist/backup/domain/interfaces/BackupEngine.js +10 -0
  42. package/dist/backup/domain/interfaces/BackupEngine.js.map +1 -0
  43. package/dist/backup/domain/repositories/BackupResultRepository.d.ts +7 -0
  44. package/dist/backup/domain/repositories/BackupResultRepository.d.ts.map +1 -0
  45. package/dist/backup/domain/repositories/BackupResultRepository.js +3 -0
  46. package/dist/backup/domain/repositories/BackupResultRepository.js.map +1 -0
  47. package/dist/backup/infrastructure/engines/BaseBackupEngine.d.ts +10 -0
  48. package/dist/backup/infrastructure/engines/BaseBackupEngine.d.ts.map +1 -0
  49. package/dist/backup/infrastructure/engines/BaseBackupEngine.js +26 -0
  50. package/dist/backup/infrastructure/engines/BaseBackupEngine.js.map +1 -0
  51. package/dist/backup/infrastructure/engines/MySqlBackupEngine.d.ts +8 -0
  52. package/dist/backup/infrastructure/engines/MySqlBackupEngine.d.ts.map +1 -0
  53. package/dist/backup/infrastructure/engines/MySqlBackupEngine.js +24 -0
  54. package/dist/backup/infrastructure/engines/MySqlBackupEngine.js.map +1 -0
  55. package/dist/backup/infrastructure/engines/PostgresBackupEngine.d.ts +8 -0
  56. package/dist/backup/infrastructure/engines/PostgresBackupEngine.d.ts.map +1 -0
  57. package/dist/backup/infrastructure/engines/PostgresBackupEngine.js +24 -0
  58. package/dist/backup/infrastructure/engines/PostgresBackupEngine.js.map +1 -0
  59. package/dist/backup/infrastructure/factories/BackupEngineFactoryImpl.d.ts +12 -0
  60. package/dist/backup/infrastructure/factories/BackupEngineFactoryImpl.d.ts.map +1 -0
  61. package/dist/backup/infrastructure/factories/BackupEngineFactoryImpl.js +17 -0
  62. package/dist/backup/infrastructure/factories/BackupEngineFactoryImpl.js.map +1 -0
  63. package/dist/backup/infrastructure/persistance/entities/BackupResultModel.d.ts +11 -0
  64. package/dist/backup/infrastructure/persistance/entities/BackupResultModel.d.ts.map +1 -0
  65. package/dist/backup/infrastructure/persistance/entities/BackupResultModel.js +57 -0
  66. package/dist/backup/infrastructure/persistance/entities/BackupResultModel.js.map +1 -0
  67. package/dist/backup/infrastructure/persistance/mappers/BackupResultMapper.d.ts +7 -0
  68. package/dist/backup/infrastructure/persistance/mappers/BackupResultMapper.d.ts.map +1 -0
  69. package/dist/backup/infrastructure/persistance/mappers/BackupResultMapper.js +20 -0
  70. package/dist/backup/infrastructure/persistance/mappers/BackupResultMapper.js.map +1 -0
  71. package/dist/backup/infrastructure/persistance/migrations/1790597847025-InitialMigration.d.ts +7 -0
  72. package/dist/backup/infrastructure/persistance/migrations/1790597847025-InitialMigration.d.ts.map +1 -0
  73. package/dist/backup/infrastructure/persistance/migrations/1790597847025-InitialMigration.js +10 -0
  74. package/dist/backup/infrastructure/persistance/migrations/1790597847025-InitialMigration.js.map +1 -0
  75. package/dist/backup/infrastructure/persistance/migrations/1791226380321-AddDbName.d.ts +7 -0
  76. package/dist/backup/infrastructure/persistance/migrations/1791226380321-AddDbName.d.ts.map +1 -0
  77. package/dist/backup/infrastructure/persistance/migrations/1791226380321-AddDbName.js +16 -0
  78. package/dist/backup/infrastructure/persistance/migrations/1791226380321-AddDbName.js.map +1 -0
  79. package/dist/backup/infrastructure/persistance/repositories/BackupResultRepositoryImpl.d.ts +8 -0
  80. package/dist/backup/infrastructure/persistance/repositories/BackupResultRepositoryImpl.d.ts.map +1 -0
  81. package/dist/backup/infrastructure/persistance/repositories/BackupResultRepositoryImpl.js +28 -0
  82. package/dist/backup/infrastructure/persistance/repositories/BackupResultRepositoryImpl.js.map +1 -0
  83. package/dist/backup/presentation/cli/commands/CreateBackupCliCommand.d.ts +19 -0
  84. package/dist/backup/presentation/cli/commands/CreateBackupCliCommand.d.ts.map +1 -0
  85. package/dist/backup/presentation/cli/commands/CreateBackupCliCommand.js +66 -0
  86. package/dist/backup/presentation/cli/commands/CreateBackupCliCommand.js.map +1 -0
  87. package/dist/backup/presentation/cli/commands/ListBackupCliCommand.d.ts +17 -0
  88. package/dist/backup/presentation/cli/commands/ListBackupCliCommand.d.ts.map +1 -0
  89. package/dist/backup/presentation/cli/commands/ListBackupCliCommand.js +64 -0
  90. package/dist/backup/presentation/cli/commands/ListBackupCliCommand.js.map +1 -0
  91. package/dist/restore/application/commands/RestoreCommand.d.ts +8 -0
  92. package/dist/restore/application/commands/RestoreCommand.d.ts.map +1 -0
  93. package/dist/restore/application/commands/RestoreCommand.js +2 -0
  94. package/dist/restore/application/commands/RestoreCommand.js.map +1 -0
  95. package/dist/restore/application/commands/RestoreCommandHandler.d.ts +11 -0
  96. package/dist/restore/application/commands/RestoreCommandHandler.d.ts.map +1 -0
  97. package/dist/restore/application/commands/RestoreCommandHandler.js +14 -0
  98. package/dist/restore/application/commands/RestoreCommandHandler.js.map +1 -0
  99. package/dist/restore/composition/CreateBackupHandler.d.ts +3 -0
  100. package/dist/restore/composition/CreateBackupHandler.d.ts.map +1 -0
  101. package/dist/restore/composition/CreateBackupHandler.js +9 -0
  102. package/dist/restore/composition/CreateBackupHandler.js.map +1 -0
  103. package/dist/restore/domain/errors/RestoreFailedError.d.ts +5 -0
  104. package/dist/restore/domain/errors/RestoreFailedError.d.ts.map +1 -0
  105. package/dist/restore/domain/errors/RestoreFailedError.js +9 -0
  106. package/dist/restore/domain/errors/RestoreFailedError.js.map +1 -0
  107. package/dist/restore/domain/factories/RestoreEngineFactory.d.ts +6 -0
  108. package/dist/restore/domain/factories/RestoreEngineFactory.d.ts.map +1 -0
  109. package/dist/restore/domain/factories/RestoreEngineFactory.js +3 -0
  110. package/dist/restore/domain/factories/RestoreEngineFactory.js.map +1 -0
  111. package/dist/restore/domain/interfaces/RestoreEngine.d.ts +8 -0
  112. package/dist/restore/domain/interfaces/RestoreEngine.d.ts.map +1 -0
  113. package/dist/restore/domain/interfaces/RestoreEngine.js +7 -0
  114. package/dist/restore/domain/interfaces/RestoreEngine.js.map +1 -0
  115. package/dist/restore/infrastructure/engines/BaseRestoreEngine.d.ts +8 -0
  116. package/dist/restore/infrastructure/engines/BaseRestoreEngine.d.ts.map +1 -0
  117. package/dist/restore/infrastructure/engines/BaseRestoreEngine.js +14 -0
  118. package/dist/restore/infrastructure/engines/BaseRestoreEngine.js.map +1 -0
  119. package/dist/restore/infrastructure/engines/PostgresRestoreEngine.d.ts +7 -0
  120. package/dist/restore/infrastructure/engines/PostgresRestoreEngine.d.ts.map +1 -0
  121. package/dist/restore/infrastructure/engines/PostgresRestoreEngine.js +25 -0
  122. package/dist/restore/infrastructure/engines/PostgresRestoreEngine.js.map +1 -0
  123. package/dist/restore/infrastructure/factories/RestoreEngineFactoryImpl.d.ts +13 -0
  124. package/dist/restore/infrastructure/factories/RestoreEngineFactoryImpl.d.ts.map +1 -0
  125. package/dist/restore/infrastructure/factories/RestoreEngineFactoryImpl.js +16 -0
  126. package/dist/restore/infrastructure/factories/RestoreEngineFactoryImpl.js.map +1 -0
  127. package/dist/restore/presentation/cli/commands/RestoreCliCommand.d.ts +20 -0
  128. package/dist/restore/presentation/cli/commands/RestoreCliCommand.d.ts.map +1 -0
  129. package/dist/restore/presentation/cli/commands/RestoreCliCommand.js +65 -0
  130. package/dist/restore/presentation/cli/commands/RestoreCliCommand.js.map +1 -0
  131. package/dist/shared/application/handlers/CommandHandler.d.ts +4 -0
  132. package/dist/shared/application/handlers/CommandHandler.d.ts.map +1 -0
  133. package/dist/shared/application/handlers/CommandHandler.js +3 -0
  134. package/dist/shared/application/handlers/CommandHandler.js.map +1 -0
  135. package/dist/shared/application/handlers/QueryHandler.d.ts +4 -0
  136. package/dist/shared/application/handlers/QueryHandler.d.ts.map +1 -0
  137. package/dist/shared/application/handlers/QueryHandler.js +3 -0
  138. package/dist/shared/application/handlers/QueryHandler.js.map +1 -0
  139. package/dist/shared/composition/commands.d.ts +9 -0
  140. package/dist/shared/composition/commands.d.ts.map +1 -0
  141. package/dist/shared/composition/commands.js +9 -0
  142. package/dist/shared/composition/commands.js.map +1 -0
  143. package/dist/shared/domain/factories/CommandExecutorFactory.d.ts +11 -0
  144. package/dist/shared/domain/factories/CommandExecutorFactory.d.ts.map +1 -0
  145. package/dist/shared/domain/factories/CommandExecutorFactory.js +3 -0
  146. package/dist/shared/domain/factories/CommandExecutorFactory.js.map +1 -0
  147. package/dist/shared/domain/interfaces/CommandExecutor.d.ts +11 -0
  148. package/dist/shared/domain/interfaces/CommandExecutor.d.ts.map +1 -0
  149. package/dist/shared/domain/interfaces/CommandExecutor.js +3 -0
  150. package/dist/shared/domain/interfaces/CommandExecutor.js.map +1 -0
  151. package/dist/shared/domain/value-objects/ConnectionConfig.d.ts +24 -0
  152. package/dist/shared/domain/value-objects/ConnectionConfig.d.ts.map +1 -0
  153. package/dist/shared/domain/value-objects/ConnectionConfig.js +19 -0
  154. package/dist/shared/domain/value-objects/ConnectionConfig.js.map +1 -0
  155. package/dist/shared/domain/value-objects/ValueObject.d.ts +17 -0
  156. package/dist/shared/domain/value-objects/ValueObject.d.ts.map +1 -0
  157. package/dist/shared/domain/value-objects/ValueObject.js +34 -0
  158. package/dist/shared/domain/value-objects/ValueObject.js.map +1 -0
  159. package/dist/shared/infrastructure/config/data-source.d.ts +4 -0
  160. package/dist/shared/infrastructure/config/data-source.d.ts.map +1 -0
  161. package/dist/shared/infrastructure/config/data-source.js +13 -0
  162. package/dist/shared/infrastructure/config/data-source.js.map +1 -0
  163. package/dist/shared/infrastructure/executors/BaseCommandExecutor.d.ts +6 -0
  164. package/dist/shared/infrastructure/executors/BaseCommandExecutor.d.ts.map +1 -0
  165. package/dist/shared/infrastructure/executors/BaseCommandExecutor.js +37 -0
  166. package/dist/shared/infrastructure/executors/BaseCommandExecutor.js.map +1 -0
  167. package/dist/shared/infrastructure/executors/DockerCommandExecutor.d.ts +8 -0
  168. package/dist/shared/infrastructure/executors/DockerCommandExecutor.d.ts.map +1 -0
  169. package/dist/shared/infrastructure/executors/DockerCommandExecutor.js +13 -0
  170. package/dist/shared/infrastructure/executors/DockerCommandExecutor.js.map +1 -0
  171. package/dist/shared/infrastructure/executors/LocalCommandExecutor.d.ts +6 -0
  172. package/dist/shared/infrastructure/executors/LocalCommandExecutor.d.ts.map +1 -0
  173. package/dist/shared/infrastructure/executors/LocalCommandExecutor.js +7 -0
  174. package/dist/shared/infrastructure/executors/LocalCommandExecutor.js.map +1 -0
  175. package/dist/shared/infrastructure/factories/CommandExecutorFactoryImpl.d.ts +6 -0
  176. package/dist/shared/infrastructure/factories/CommandExecutorFactoryImpl.d.ts.map +1 -0
  177. package/dist/shared/infrastructure/factories/CommandExecutorFactoryImpl.js +13 -0
  178. package/dist/shared/infrastructure/factories/CommandExecutorFactoryImpl.js.map +1 -0
  179. package/dist/shared/presentation/bin/dev.d.ts +3 -0
  180. package/dist/shared/presentation/bin/dev.d.ts.map +1 -0
  181. package/dist/shared/presentation/bin/dev.js +4 -0
  182. package/dist/shared/presentation/bin/dev.js.map +1 -0
  183. package/dist/shared/presentation/bin/run.d.ts +3 -0
  184. package/dist/shared/presentation/bin/run.d.ts.map +1 -0
  185. package/dist/shared/presentation/bin/run.js +4 -0
  186. package/dist/shared/presentation/bin/run.js.map +1 -0
  187. package/dist/shared/presentation/hooks/init/DataSourceInitialize.d.ts +4 -0
  188. package/dist/shared/presentation/hooks/init/DataSourceInitialize.d.ts.map +1 -0
  189. package/dist/shared/presentation/hooks/init/DataSourceInitialize.js +7 -0
  190. package/dist/shared/presentation/hooks/init/DataSourceInitialize.js.map +1 -0
  191. package/dist/shared/utils/ErrorMessage.d.ts +2 -0
  192. package/dist/shared/utils/ErrorMessage.d.ts.map +1 -0
  193. package/dist/shared/utils/ErrorMessage.js +4 -0
  194. package/dist/shared/utils/ErrorMessage.js.map +1 -0
  195. package/package.json +96 -4
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 StenSOn27
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
1
+ # db-backup-cli
@@ -0,0 +1,8 @@
1
+ import type { ExecutionTarget } from '../../../shared/domain/factories/CommandExecutorFactory.js';
2
+ import type { DatabaseConnectionProps } from '../../../shared/domain/value-objects/ConnectionConfig.js';
3
+ export interface CreateBackupCommand {
4
+ connection: DatabaseConnectionProps;
5
+ execution: ExecutionTarget;
6
+ outputDir: string;
7
+ }
8
+ //# sourceMappingURL=CreateBackupCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateBackupCommand.d.ts","sourceRoot":"","sources":["../../../../src/backup/application/commands/CreateBackupCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAExG,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CreateBackupCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateBackupCommand.js","sourceRoot":"","sources":["../../../../src/backup/application/commands/CreateBackupCommand.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { CommandHandler } from '../../../shared/application/handlers/CommandHandler.js';
2
+ import { BackupResultRepository } from '../../domain/repositories/BackupResultRepository.js';
3
+ import type { CommandExecutorFactory } from '../../../shared/domain/factories/CommandExecutorFactory.js';
4
+ import type { CreateBackupCommand } from './CreateBackupCommand.js';
5
+ import type { BackupEngineFactory } from '../../domain/factories/BackupEngineFactory.js';
6
+ export declare class CreateBackupCommandHandler implements CommandHandler<CreateBackupCommand, string> {
7
+ private repository;
8
+ private engineFactory;
9
+ private executorFactory;
10
+ constructor(repository: BackupResultRepository, engineFactory: BackupEngineFactory, executorFactory: CommandExecutorFactory);
11
+ handle(command: CreateBackupCommand): Promise<string>;
12
+ }
13
+ //# sourceMappingURL=CreateBackupCommandHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateBackupCommandHandler.d.ts","sourceRoot":"","sources":["../../../../src/backup/application/commands/CreateBackupCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,qBAAa,0BAA2B,YAAW,cAAc,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAC5F,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAyB;gBAG9C,UAAU,EAAE,sBAAsB,EAClC,aAAa,EAAE,mBAAmB,EAClC,eAAe,EAAE,sBAAsB;IAOnC,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAuB5D"}
@@ -0,0 +1,31 @@
1
+ import { CommandHandler } from '../../../shared/application/handlers/CommandHandler.js';
2
+ import { BackupResultRepository } from '../../domain/repositories/BackupResultRepository.js';
3
+ import { BackupResult } from '../../domain/entities/BackupResult.js';
4
+ import { BackupFailedError } from '../../domain/errors/BackupFailedError.js';
5
+ export class CreateBackupCommandHandler {
6
+ repository;
7
+ engineFactory;
8
+ executorFactory;
9
+ constructor(repository, engineFactory, executorFactory) {
10
+ this.repository = repository;
11
+ this.engineFactory = engineFactory;
12
+ this.executorFactory = executorFactory;
13
+ }
14
+ async handle(command) {
15
+ const executor = await this.executorFactory.create(command.execution);
16
+ const backupEngine = await this.engineFactory.create(command.connection.type, executor);
17
+ try {
18
+ const backupResult = await backupEngine.backup(command.connection, command.outputDir);
19
+ await this.repository.create(backupResult);
20
+ return backupResult.getId();
21
+ }
22
+ catch (err) {
23
+ if (err instanceof BackupFailedError) {
24
+ const failed = BackupResult.create(command.connection.type, command.outputDir, 0, 'failed', command.connection.database, err.message);
25
+ await this.repository.create(failed);
26
+ }
27
+ throw err;
28
+ }
29
+ }
30
+ }
31
+ //# sourceMappingURL=CreateBackupCommandHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateBackupCommandHandler.js","sourceRoot":"","sources":["../../../../src/backup/application/commands/CreateBackupCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,MAAM,OAAO,0BAA0B;IAC7B,UAAU,CAAyB;IACnC,aAAa,CAAsB;IACnC,eAAe,CAAyB;IAEhD,YACE,UAAkC,EAClC,aAAkC,EAClC,eAAuC;QAEvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExF,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3C,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAChC,OAAO,CAAC,UAAU,CAAC,IAAI,EACvB,OAAO,CAAC,SAAS,EACjB,CAAC,EACD,QAAQ,EACR,OAAO,CAAC,UAAU,CAAC,QAAQ,EAC3B,GAAG,CAAC,OAAO,CACZ,CAAC;gBACF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import type { DriverType, Status } from '../../domain/entities/BackupResult.js';
2
+ export interface ListBackupQuery {
3
+ limit: number;
4
+ status?: Status | undefined;
5
+ driver?: DriverType | undefined;
6
+ all?: boolean | undefined;
7
+ }
8
+ export interface BackupListItem {
9
+ id: string;
10
+ driverType: DriverType;
11
+ filePath: string;
12
+ sizeBytes: number;
13
+ status: Status;
14
+ name: string;
15
+ createdAt: Date;
16
+ errorMessage?: string | undefined;
17
+ }
18
+ //# sourceMappingURL=ListBackupQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListBackupQuery.d.ts","sourceRoot":"","sources":["../../../../src/backup/application/queries/ListBackupQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ListBackupQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListBackupQuery.js","sourceRoot":"","sources":["../../../../src/backup/application/queries/ListBackupQuery.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { QueryHandler } from '../../../shared/application/handlers/QueryHandler.js';
2
+ import type { BackupResultRepository } from '../../domain/repositories/BackupResultRepository.js';
3
+ import type { BackupListItem, ListBackupQuery } from './ListBackupQuery.js';
4
+ export declare class ListBackupQueryHandler implements QueryHandler<ListBackupQuery, BackupListItem[]> {
5
+ private repository;
6
+ constructor(repository: BackupResultRepository);
7
+ handle(query: ListBackupQuery): Promise<BackupListItem[]>;
8
+ }
9
+ //# sourceMappingURL=ListBackupQueryHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListBackupQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/backup/application/queries/ListBackupQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5E,qBAAa,sBAAuB,YAAW,YAAY,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;IAC5F,OAAO,CAAC,UAAU,CAAyB;gBAE/B,UAAU,EAAE,sBAAsB;IAIxC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAgBhE"}
@@ -0,0 +1,22 @@
1
+ export class ListBackupQueryHandler {
2
+ repository;
3
+ constructor(repository) {
4
+ this.repository = repository;
5
+ }
6
+ async handle(query) {
7
+ const backupResults = query.all
8
+ ? await this.repository.getAll()
9
+ : await this.repository.find(query.limit, query.status, query.driver);
10
+ return backupResults.map((r) => ({
11
+ id: r.getId(),
12
+ driverType: r.getDriverType(),
13
+ filePath: r.getFilePath(),
14
+ sizeBytes: r.getSizeBytes(),
15
+ status: r.getStatus(),
16
+ name: r.getName(),
17
+ createdAt: r.getCreatedAt(),
18
+ errorMessage: r.getErrorMessage(),
19
+ }));
20
+ }
21
+ }
22
+ //# sourceMappingURL=ListBackupQueryHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListBackupQueryHandler.js","sourceRoot":"","sources":["../../../../src/backup/application/queries/ListBackupQueryHandler.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,sBAAsB;IACzB,UAAU,CAAyB;IAE3C,YAAY,UAAkC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG;YAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAChC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAExE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE;YACb,UAAU,EAAE,CAAC,CAAC,aAAa,EAAE;YAC7B,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE;YACzB,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE;YAC3B,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE;YACrB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;YACjB,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE;YAC3B,YAAY,EAAE,CAAC,CAAC,eAAe,EAAE;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ import { CreateBackupCommandHandler } from '../application/commands/CreateBackupCommandHandler.js';
2
+ export declare function createBackupHandler(): CreateBackupCommandHandler;
3
+ //# sourceMappingURL=CreateBackupHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateBackupHandler.d.ts","sourceRoot":"","sources":["../../../src/backup/composition/CreateBackupHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AAKnG,wBAAgB,mBAAmB,IAAI,0BAA0B,CAMhE"}
@@ -0,0 +1,11 @@
1
+ import { CreateBackupCommandHandler } from '../application/commands/CreateBackupCommandHandler.js';
2
+ import { BackupEngineFactoryImpl } from '../infrastructure/factories/BackupEngineFactoryImpl.js';
3
+ import { CommandExecutorFactoryImpl } from '../../shared/infrastructure/factories/CommandExecutorFactoryImpl.js';
4
+ import { BackupResultRepositoryImpl } from '../infrastructure/persistance/repositories/BackupResultRepositoryImpl.js';
5
+ export function createBackupHandler() {
6
+ const repository = new BackupResultRepositoryImpl();
7
+ const engineFactory = new BackupEngineFactoryImpl();
8
+ const executorFactory = new CommandExecutorFactoryImpl();
9
+ return new CreateBackupCommandHandler(repository, engineFactory, executorFactory);
10
+ }
11
+ //# sourceMappingURL=CreateBackupHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateBackupHandler.js","sourceRoot":"","sources":["../../../src/backup/composition/CreateBackupHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAC;AACjH,OAAO,EAAE,0BAA0B,EAAE,MAAM,0EAA0E,CAAC;AAEtH,MAAM,UAAU,mBAAmB;IACjC,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACpD,MAAM,eAAe,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAEzD,OAAO,IAAI,0BAA0B,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ListBackupQueryHandler } from '../application/queries/ListBackupQueryHandler.js';
2
+ export declare function createListBackupHandler(): ListBackupQueryHandler;
3
+ //# sourceMappingURL=CreateListBackupHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateListBackupHandler.d.ts","sourceRoot":"","sources":["../../../src/backup/composition/CreateListBackupHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAG1F,wBAAgB,uBAAuB,IAAI,sBAAsB,CAIhE"}
@@ -0,0 +1,7 @@
1
+ import { ListBackupQueryHandler } from '../application/queries/ListBackupQueryHandler.js';
2
+ import { BackupResultRepositoryImpl } from '../infrastructure/persistance/repositories/BackupResultRepositoryImpl.js';
3
+ export function createListBackupHandler() {
4
+ const repository = new BackupResultRepositoryImpl();
5
+ return new ListBackupQueryHandler(repository);
6
+ }
7
+ //# sourceMappingURL=CreateListBackupHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateListBackupHandler.js","sourceRoot":"","sources":["../../../src/backup/composition/CreateListBackupHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,0EAA0E,CAAC;AAEtH,MAAM,UAAU,uBAAuB;IACrC,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAEpD,OAAO,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { DatabaseConnectionProps } from '../../../shared/domain/value-objects/ConnectionConfig.js';
2
+ export type Status = 'success' | 'failed';
3
+ export type DriverType = DatabaseConnectionProps['type'];
4
+ export declare class BackupResult {
5
+ private readonly id;
6
+ private readonly driverType;
7
+ private readonly filePath;
8
+ private readonly sizeBytes;
9
+ private readonly status;
10
+ private readonly name;
11
+ private readonly errorMessage?;
12
+ private readonly createdAt;
13
+ private constructor();
14
+ static create(driverType: DriverType, filePath: string, sizeBytes: number, status: Status, name: string, errorMessage?: string): BackupResult;
15
+ static reconstitute(id: string, driverType: DriverType, filePath: string, sizeBytes: number, status: Status, name: string, createdAt: Date, errorMessage?: string): BackupResult;
16
+ getId(): string;
17
+ getDriverType(): DriverType;
18
+ getFilePath(): string;
19
+ getSizeBytes(): number;
20
+ getStatus(): Status;
21
+ getErrorMessage(): string | undefined;
22
+ getCreatedAt(): Date;
23
+ getName(): string;
24
+ }
25
+ //# sourceMappingURL=BackupResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupResult.d.ts","sourceRoot":"","sources":["../../../../src/backup/domain/entities/BackupResult.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAExG,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEzD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IAEjC,OAAO;IAoBP,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,YAAY;IAaf,MAAM,CAAC,YAAY,CACjB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,YAAY;IAaf,KAAK,IAAI,MAAM;IAIf,aAAa,IAAI,UAAU;IAI3B,WAAW,IAAI,MAAM;IAIrB,YAAY,IAAI,MAAM;IAItB,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,YAAY,IAAI,IAAI;IAIpB,OAAO,IAAI,MAAM;CAGlB"}
@@ -0,0 +1,52 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ export class BackupResult {
3
+ id;
4
+ driverType;
5
+ filePath;
6
+ sizeBytes;
7
+ status;
8
+ name;
9
+ errorMessage = undefined;
10
+ createdAt;
11
+ constructor(id, driverType, filePath, sizeBytes, status, name, createdAt, errorMessage) {
12
+ this.id = id;
13
+ this.driverType = driverType;
14
+ this.filePath = filePath;
15
+ this.sizeBytes = sizeBytes;
16
+ this.status = status;
17
+ this.name = name;
18
+ this.errorMessage = errorMessage;
19
+ this.createdAt = createdAt;
20
+ }
21
+ static create(driverType, filePath, sizeBytes, status, name, errorMessage) {
22
+ return new BackupResult(uuidv4(), driverType, filePath, sizeBytes, status, name, new Date(), errorMessage);
23
+ }
24
+ static reconstitute(id, driverType, filePath, sizeBytes, status, name, createdAt, errorMessage) {
25
+ return new BackupResult(id, driverType, filePath, sizeBytes, status, name, createdAt, errorMessage);
26
+ }
27
+ getId() {
28
+ return this.id;
29
+ }
30
+ getDriverType() {
31
+ return this.driverType;
32
+ }
33
+ getFilePath() {
34
+ return this.filePath;
35
+ }
36
+ getSizeBytes() {
37
+ return this.sizeBytes;
38
+ }
39
+ getStatus() {
40
+ return this.status;
41
+ }
42
+ getErrorMessage() {
43
+ return this.errorMessage;
44
+ }
45
+ getCreatedAt() {
46
+ return this.createdAt;
47
+ }
48
+ getName() {
49
+ return this.name;
50
+ }
51
+ }
52
+ //# sourceMappingURL=BackupResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupResult.js","sourceRoot":"","sources":["../../../../src/backup/domain/entities/BackupResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAMpC,MAAM,OAAO,YAAY;IACN,EAAE,CAAS;IACX,UAAU,CAAa;IACvB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,IAAI,CAAS;IACb,YAAY,GAAwB,SAAS,CAAC;IAC9C,SAAS,CAAO;IAEjC,YACE,EAAU,EACV,UAAsB,EACtB,QAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,SAAe,EACf,YAAqB;QAErB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CACX,UAAsB,EACtB,QAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,YAAqB;QAErB,OAAO,IAAI,YAAY,CACrB,MAAM,EAAE,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,IAAI,EACJ,IAAI,IAAI,EAAE,EACV,YAAY,CACb,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CACjB,EAAU,EACV,UAAsB,EACtB,QAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,SAAe,EACf,YAAqB;QAErB,OAAO,IAAI,YAAY,CACrB,EAAE,EACF,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,IAAI,EACJ,SAAS,EACT,YAAY,CACb,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export declare class BackupFailedError extends Error {
2
+ readonly reason: string;
3
+ readonly filePath: string;
4
+ constructor(reason: string, filePath: string);
5
+ }
6
+ //# sourceMappingURL=BackupFailedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupFailedError.d.ts","sourceRoot":"","sources":["../../../../src/backup/domain/errors/BackupFailedError.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,MAAM;gBADhB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;CAKnC"}
@@ -0,0 +1,11 @@
1
+ export class BackupFailedError extends Error {
2
+ reason;
3
+ filePath;
4
+ constructor(reason, filePath) {
5
+ super(`Backup failed: ${reason}`);
6
+ this.reason = reason;
7
+ this.filePath = filePath;
8
+ this.name = 'BackupFailedError';
9
+ }
10
+ }
11
+ //# sourceMappingURL=BackupFailedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupFailedError.js","sourceRoot":"","sources":["../../../../src/backup/domain/errors/BackupFailedError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAExB;IACA;IAFlB,YACkB,MAAc,EACd,QAAgB;QAEhC,KAAK,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;QAHlB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAQ;QAGhC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import type { CommandExecutor } from '../../../shared/domain/interfaces/CommandExecutor.js';
2
+ import type { BackupEngine } from '../interfaces/BackupEngine.js';
3
+ export declare abstract class BackupEngineFactory {
4
+ abstract create(type: string, executor: CommandExecutor): Promise<BackupEngine>;
5
+ }
6
+ //# sourceMappingURL=BackupEngineFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupEngineFactory.d.ts","sourceRoot":"","sources":["../../../../src/backup/domain/factories/BackupEngineFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,8BAAsB,mBAAmB;IACvC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;CAChF"}
@@ -0,0 +1,3 @@
1
+ export class BackupEngineFactory {
2
+ }
3
+ //# sourceMappingURL=BackupEngineFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupEngineFactory.js","sourceRoot":"","sources":["../../../../src/backup/domain/factories/BackupEngineFactory.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,mBAAmB;CAExC"}
@@ -0,0 +1,10 @@
1
+ import type { CommandExecutor } from '../../../shared/domain/interfaces/CommandExecutor.js';
2
+ import type { BackupResult, DriverType } from '../entities/BackupResult.js';
3
+ import type { DatabaseConnectionProps } from '../../../shared/domain/value-objects/ConnectionConfig.js';
4
+ export declare abstract class BackupEngine<T extends DatabaseConnectionProps = DatabaseConnectionProps> {
5
+ protected executor: CommandExecutor;
6
+ constructor(executor: CommandExecutor);
7
+ abstract backup(config: T, outputDir: string): Promise<BackupResult>;
8
+ protected buildBackupFileName(type: DriverType, database: string, at: Date): string;
9
+ }
10
+ //# sourceMappingURL=BackupEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupEngine.d.ts","sourceRoot":"","sources":["../../../../src/backup/domain/interfaces/BackupEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAExG,8BAAsB,YAAY,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB;IAChF,SAAS,CAAC,QAAQ,EAAE,eAAe;gBAAzB,QAAQ,EAAE,eAAe;IAC/C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAEpE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM;CAGpF"}
@@ -0,0 +1,10 @@
1
+ export class BackupEngine {
2
+ executor;
3
+ constructor(executor) {
4
+ this.executor = executor;
5
+ }
6
+ buildBackupFileName(type, database, at) {
7
+ return `${type}-${database}-${at.toISOString().replace(/[:.]/g, '-')}.dump`;
8
+ }
9
+ }
10
+ //# sourceMappingURL=BackupEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupEngine.js","sourceRoot":"","sources":["../../../../src/backup/domain/interfaces/BackupEngine.ts"],"names":[],"mappings":"AAIA,MAAM,OAAgB,YAAY;IACV;IAAtB,YAAsB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAGzC,mBAAmB,CAAC,IAAgB,EAAE,QAAgB,EAAE,EAAQ;QACxE,OAAO,GAAG,IAAI,IAAI,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IAC9E,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import type { BackupResult, DriverType, Status } from '../entities/BackupResult.js';
2
+ export declare abstract class BackupResultRepository {
3
+ abstract create(result: BackupResult): Promise<string>;
4
+ abstract getAll(): Promise<BackupResult[]>;
5
+ abstract find(limit: number, status?: Status, driver?: DriverType): Promise<BackupResult[]>;
6
+ }
7
+ //# sourceMappingURL=BackupResultRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupResultRepository.d.ts","sourceRoot":"","sources":["../../../../src/backup/domain/repositories/BackupResultRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAEpF,8BAAsB,sBAAsB;IAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IACtD,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAC5F"}
@@ -0,0 +1,3 @@
1
+ export class BackupResultRepository {
2
+ }
3
+ //# sourceMappingURL=BackupResultRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupResultRepository.js","sourceRoot":"","sources":["../../../../src/backup/domain/repositories/BackupResultRepository.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,sBAAsB;CAI3C"}
@@ -0,0 +1,10 @@
1
+ import { BackupEngine } from '../../domain/interfaces/BackupEngine.js';
2
+ import { BackupResult } from '../../domain/entities/BackupResult.js';
3
+ import type { DatabaseConnectionProps } from '../../../shared/domain/value-objects/ConnectionConfig.js';
4
+ import type { CommandExecutor, CommandSpec } from '../../../shared/domain/interfaces/CommandExecutor.js';
5
+ export declare abstract class BaseBackupEngine<T extends DatabaseConnectionProps> extends BackupEngine<T> {
6
+ abstract buildBackupCommandSpec(config: T, filePath: string): CommandSpec;
7
+ constructor(executor: CommandExecutor);
8
+ backup(config: T, outputDir: string): Promise<BackupResult>;
9
+ }
10
+ //# sourceMappingURL=BaseBackupEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseBackupEngine.d.ts","sourceRoot":"","sources":["../../../../src/backup/infrastructure/engines/BaseBackupEngine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAGxG,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,sDAAsD,CAAC;AAE9D,8BAAsB,gBAAgB,CAAC,CAAC,SAAS,uBAAuB,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;gBAE7D,QAAQ,EAAE,eAAe;IAI/B,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAsBlE"}
@@ -0,0 +1,26 @@
1
+ import { join } from 'node:path';
2
+ import * as fs from 'node:fs/promises';
3
+ import { BackupEngine } from '../../domain/interfaces/BackupEngine.js';
4
+ import { BackupResult } from '../../domain/entities/BackupResult.js';
5
+ import { errorMessage } from '../../../shared/utils/ErrorMessage.js';
6
+ import { BackupFailedError } from '../../domain/errors/BackupFailedError.js';
7
+ export class BaseBackupEngine extends BackupEngine {
8
+ constructor(executor) {
9
+ super(executor);
10
+ }
11
+ async backup(config, outputDir) {
12
+ const fileName = this.buildBackupFileName(config.type, config.database, new Date());
13
+ const filePath = join(outputDir, fileName);
14
+ try {
15
+ await this.executor.execute(this.buildBackupCommandSpec(config, filePath));
16
+ }
17
+ catch (err) {
18
+ await fs.rm(filePath, { force: true });
19
+ throw new BackupFailedError(errorMessage(err), filePath);
20
+ }
21
+ const stats = await fs.stat(filePath);
22
+ const backupResult = BackupResult.create(config.type, filePath, stats.size, 'success', config.database);
23
+ return backupResult;
24
+ }
25
+ }
26
+ //# sourceMappingURL=BaseBackupEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseBackupEngine.js","sourceRoot":"","sources":["../../../../src/backup/infrastructure/engines/BaseBackupEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAM7E,MAAM,OAAgB,gBAAoD,SAAQ,YAAe;IAG/F,YAAY,QAAyB;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAS,EAAE,SAAiB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,MAAM,CAAC,IAAI,EACX,QAAQ,EACR,KAAK,CAAC,IAAI,EACV,SAAS,EACT,MAAM,CAAC,QAAQ,CAChB,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { CommandExecutor, CommandSpec } from '../../../shared/domain/interfaces/CommandExecutor.js';
2
+ import type { MySqlConnectionProps } from '../../../shared/domain/value-objects/ConnectionConfig.js';
3
+ import { BaseBackupEngine } from './BaseBackupEngine.js';
4
+ export declare class MySqlBackupEngine extends BaseBackupEngine<MySqlConnectionProps> {
5
+ constructor(executor: CommandExecutor);
6
+ buildBackupCommandSpec(config: MySqlConnectionProps, filePath: string): CommandSpec;
7
+ }
8
+ //# sourceMappingURL=MySqlBackupEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySqlBackupEngine.d.ts","sourceRoot":"","sources":["../../../../src/backup/infrastructure/engines/MySqlBackupEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC;gBAC/D,QAAQ,EAAE,eAAe;IAIrC,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;CAiBpF"}
@@ -0,0 +1,24 @@
1
+ import { BaseBackupEngine } from './BaseBackupEngine.js';
2
+ export class MySqlBackupEngine extends BaseBackupEngine {
3
+ constructor(executor) {
4
+ super(executor);
5
+ }
6
+ buildBackupCommandSpec(config, filePath) {
7
+ return {
8
+ bin: 'mysql_dump',
9
+ args: [
10
+ '-h',
11
+ `${config.host}`,
12
+ '-p',
13
+ `${config.port}`,
14
+ '-U',
15
+ `${config.username}`,
16
+ '-d',
17
+ `${config.database}`,
18
+ ],
19
+ env: {},
20
+ stdoutFile: filePath,
21
+ };
22
+ }
23
+ }
24
+ //# sourceMappingURL=MySqlBackupEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySqlBackupEngine.js","sourceRoot":"","sources":["../../../../src/backup/infrastructure/engines/MySqlBackupEngine.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,iBAAkB,SAAQ,gBAAsC;IAC3E,YAAY,QAAyB;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB,CAAC,MAA4B,EAAE,QAAgB;QACnE,OAAO;YACL,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE;gBACJ,IAAI;gBACJ,GAAG,MAAM,CAAC,IAAI,EAAE;gBAChB,IAAI;gBACJ,GAAG,MAAM,CAAC,IAAI,EAAE;gBAChB,IAAI;gBACJ,GAAG,MAAM,CAAC,QAAQ,EAAE;gBACpB,IAAI;gBACJ,GAAG,MAAM,CAAC,QAAQ,EAAE;aACrB;YACD,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,QAAQ;SACrB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { CommandExecutor, CommandSpec } from '../../../shared/domain/interfaces/CommandExecutor.js';
2
+ import type { PostgresConnectionProps } from '../../../shared/domain/value-objects/ConnectionConfig.js';
3
+ import { BaseBackupEngine } from './BaseBackupEngine.js';
4
+ export declare class PostgresBackupEngine extends BaseBackupEngine<PostgresConnectionProps> {
5
+ constructor(executor: CommandExecutor);
6
+ buildBackupCommandSpec(config: PostgresConnectionProps, filePath: string): CommandSpec;
7
+ }
8
+ //# sourceMappingURL=PostgresBackupEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresBackupEngine.d.ts","sourceRoot":"","sources":["../../../../src/backup/infrastructure/engines/PostgresBackupEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,uBAAuB,CAAC;gBACrE,QAAQ,EAAE,eAAe;IAIrC,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;CAiBvF"}
@@ -0,0 +1,24 @@
1
+ import { BaseBackupEngine } from './BaseBackupEngine.js';
2
+ export class PostgresBackupEngine extends BaseBackupEngine {
3
+ constructor(executor) {
4
+ super(executor);
5
+ }
6
+ buildBackupCommandSpec(config, filePath) {
7
+ return {
8
+ bin: 'pg_dump',
9
+ args: [
10
+ '-h',
11
+ `${config.host}`,
12
+ '-p',
13
+ `${config.port}`,
14
+ '-U',
15
+ `${config.username}`,
16
+ '-d',
17
+ `${config.database}`,
18
+ ],
19
+ env: {},
20
+ stdoutFile: filePath,
21
+ };
22
+ }
23
+ }
24
+ //# sourceMappingURL=PostgresBackupEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresBackupEngine.js","sourceRoot":"","sources":["../../../../src/backup/infrastructure/engines/PostgresBackupEngine.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,oBAAqB,SAAQ,gBAAyC;IACjF,YAAY,QAAyB;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB,CAAC,MAA+B,EAAE,QAAgB;QACtE,OAAO;YACL,GAAG,EAAE,SAAS;YACd,IAAI,EAAE;gBACJ,IAAI;gBACJ,GAAG,MAAM,CAAC,IAAI,EAAE;gBAChB,IAAI;gBACJ,GAAG,MAAM,CAAC,IAAI,EAAE;gBAChB,IAAI;gBACJ,GAAG,MAAM,CAAC,QAAQ,EAAE;gBACpB,IAAI;gBACJ,GAAG,MAAM,CAAC,QAAQ,EAAE;aACrB;YACD,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,QAAQ;SACrB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { DriverType } from '../../domain/entities/BackupResult.js';
2
+ import type { BackupEngine } from '../../domain/interfaces/BackupEngine.js';
3
+ import type { CommandExecutor } from '../../../shared/domain/interfaces/CommandExecutor.js';
4
+ import { BackupEngineFactory } from '../../domain/factories/BackupEngineFactory.js';
5
+ type BackupEngineConstructor = new (executor: CommandExecutor) => BackupEngine;
6
+ export declare const engines: Record<DriverType, BackupEngineConstructor>;
7
+ export declare class BackupEngineFactoryImpl extends BackupEngineFactory {
8
+ create(type: DriverType, executor: CommandExecutor): Promise<BackupEngine>;
9
+ private getEngineClass;
10
+ }
11
+ export {};
12
+ //# sourceMappingURL=BackupEngineFactoryImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupEngineFactoryImpl.d.ts","sourceRoot":"","sources":["../../../../src/backup/infrastructure/factories/BackupEngineFactoryImpl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,KAAK,uBAAuB,GAAG,KAAK,QAAQ,EAAE,eAAe,KAAK,YAAY,CAAC;AAG/E,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAG/D,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,mBAAmB;IACxD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAKhF,OAAO,CAAC,cAAc;CAGvB"}
@@ -0,0 +1,17 @@
1
+ import { PostgresBackupEngine } from '../engines/PostgresBackupEngine.js';
2
+ import { BackupEngineFactory } from '../../domain/factories/BackupEngineFactory.js';
3
+ // @ts-expect-error TS2741: mysql engine is not implemented yet
4
+ export const engines = {
5
+ postgresql: PostgresBackupEngine,
6
+ // mysql: MySqlBackupEngine,
7
+ };
8
+ export class BackupEngineFactoryImpl extends BackupEngineFactory {
9
+ async create(type, executor) {
10
+ const engine = this.getEngineClass(type);
11
+ return new engine(executor);
12
+ }
13
+ getEngineClass(type) {
14
+ return engines[type];
15
+ }
16
+ }
17
+ //# sourceMappingURL=BackupEngineFactoryImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackupEngineFactoryImpl.js","sourceRoot":"","sources":["../../../../src/backup/infrastructure/factories/BackupEngineFactoryImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAIpF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,OAAO,GAAgD;IAClE,UAAU,EAAE,oBAAoB;IAChC,4BAA4B;CAC7B,CAAC;AAEF,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IAC9D,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAE,QAAyB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEO,cAAc,CAAC,IAAgB;QACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACF"}