@datatruck/cli 0.18.0 → 0.19.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 (51) hide show
  1. package/Action/BackupAction.js +4 -2
  2. package/Action/BackupSessionsAction.js +2 -0
  3. package/Action/CleanCacheAction.js +1 -0
  4. package/Action/ConfigAction.js +1 -0
  5. package/Action/InitAction.js +2 -0
  6. package/Action/PruneAction.js +2 -0
  7. package/Action/RestoreAction.js +4 -2
  8. package/Action/RestoreSessionsAction.js +2 -0
  9. package/Action/SnapshotsAction.js +2 -0
  10. package/Command/CommandAbstract.js +2 -0
  11. package/Entity/BackupSessionEntity.js +5 -2
  12. package/Entity/BackupSessionRepositoryEntity.js +5 -2
  13. package/Entity/BackupSessionTaskEntity.js +4 -2
  14. package/Entity/CrudEntityAbstract.js +3 -0
  15. package/Entity/RestoreSessionEntity.js +4 -2
  16. package/Entity/RestoreSessionRepositoryEntity.js +5 -2
  17. package/Entity/RestoreSessionTaskEntity.js +4 -2
  18. package/Entity/StateEntityAbstract.js +5 -0
  19. package/Factory/CommandFactory.js +1 -1
  20. package/JsonSchema/DefinitionEnum.js +1 -1
  21. package/Repository/DatatruckRepository.d.ts +8 -13
  22. package/Repository/DatatruckRepository.js +112 -229
  23. package/Repository/GitRepository.js +1 -1
  24. package/Repository/RepositoryAbstract.js +4 -2
  25. package/Repository/ResticRepository.js +2 -1
  26. package/SessionDriver/ConsoleSessionDriver.js +9 -5
  27. package/SessionDriver/SessionDriverAbstract.js +3 -2
  28. package/SessionDriver/SqliteSessionDriver.js +2 -4
  29. package/SessionManager/BackupSessionManager.js +3 -6
  30. package/SessionManager/RestoreSessionManager.js +3 -6
  31. package/SessionManager/SessionManagerAbstract.js +4 -0
  32. package/Task/GitTask.js +1 -0
  33. package/Task/MariadbTask.js +5 -4
  34. package/Task/MssqlTask.js +2 -1
  35. package/Task/ScriptTask.js +1 -0
  36. package/Task/SqlDumpTaskAbstract.js +1 -0
  37. package/Task/TaskAbstract.js +2 -1
  38. package/config.schema.json +23 -37
  39. package/index.d.ts +1 -0
  40. package/index.js +1 -0
  41. package/package.json +9 -8
  42. package/utils/DataFormat.js +1 -0
  43. package/utils/Git.js +1 -0
  44. package/utils/ObjectVault.js +3 -5
  45. package/utils/Restic.js +1 -0
  46. package/utils/fs.d.ts +3 -9
  47. package/utils/fs.js +24 -32
  48. package/utils/tar.d.ts +32 -0
  49. package/utils/tar.js +92 -0
  50. package/utils/zip.d.ts +0 -97
  51. package/utils/zip.js +0 -238
@@ -8,11 +8,13 @@ const config_1 = require("../utils/datatruck/config");
8
8
  const fs_1 = require("../utils/fs");
9
9
  const crypto_1 = require("crypto");
10
10
  class BackupAction {
11
+ config;
12
+ options;
13
+ taskErrors = {};
14
+ repoErrors = {};
11
15
  constructor(config, options = {}) {
12
16
  this.config = config;
13
17
  this.options = options;
14
- this.taskErrors = {};
15
- this.repoErrors = {};
16
18
  }
17
19
  async init(session) {
18
20
  const snapshot = {
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BackupSessionsAction = void 0;
4
4
  class BackupSessionsAction {
5
+ config;
6
+ options;
5
7
  constructor(config, options) {
6
8
  this.config = config;
7
9
  this.options = options;
@@ -4,6 +4,7 @@ exports.CleanCacheAction = void 0;
4
4
  const fs_1 = require("../utils/fs");
5
5
  const promises_1 = require("fs/promises");
6
6
  class CleanCacheAction {
7
+ options;
7
8
  constructor(options) {
8
9
  this.options = options;
9
10
  }
@@ -12,6 +12,7 @@ const ajv_1 = __importDefault(require("ajv"));
12
12
  const assert_1 = require("assert");
13
13
  const path_1 = require("path");
14
14
  class ConfigAction {
15
+ options;
15
16
  constructor(options) {
16
17
  this.options = options;
17
18
  }
@@ -4,6 +4,8 @@ exports.InitAction = void 0;
4
4
  const RepositoryFactory_1 = require("../Factory/RepositoryFactory");
5
5
  const config_1 = require("../utils/datatruck/config");
6
6
  class InitAction {
7
+ config;
8
+ options;
7
9
  constructor(config, options) {
8
10
  this.config = config;
9
11
  this.options = options;
@@ -6,6 +6,8 @@ const snapshot_1 = require("../utils/datatruck/snapshot");
6
6
  const object_1 = require("../utils/object");
7
7
  const SnapshotsAction_1 = require("./SnapshotsAction");
8
8
  class PruneAction {
9
+ config;
10
+ options;
9
11
  constructor(config, options) {
10
12
  this.config = config;
11
13
  this.options = options;
@@ -13,11 +13,13 @@ const SnapshotsAction_1 = require("./SnapshotsAction");
13
13
  const assert_1 = require("assert");
14
14
  const os_1 = require("os");
15
15
  class RestoreAction {
16
+ config;
17
+ options;
18
+ taskErrors = {};
19
+ repoErrors = {};
16
20
  constructor(config, options) {
17
21
  this.config = config;
18
22
  this.options = options;
19
- this.taskErrors = {};
20
- this.repoErrors = {};
21
23
  }
22
24
  assocConfigs(packages, snapshots) {
23
25
  return snapshots.map((snapshot) => {
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RestoreSessionsAction = void 0;
4
4
  class RestoreSessionsAction {
5
+ config;
6
+ options;
5
7
  constructor(config, options) {
6
8
  this.config = config;
7
9
  this.options = options;
@@ -5,6 +5,8 @@ const RepositoryFactory_1 = require("../Factory/RepositoryFactory");
5
5
  const config_1 = require("../utils/datatruck/config");
6
6
  const snapshot_1 = require("../utils/datatruck/snapshot");
7
7
  class SnapshotsAction {
8
+ config;
9
+ options;
8
10
  constructor(config, options) {
9
11
  this.config = config;
10
12
  this.options = options;
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommandAbstract = void 0;
4
4
  const cli_1 = require("../utils/cli");
5
5
  class CommandAbstract {
6
+ globalOptions;
7
+ options;
6
8
  constructor(globalOptions, options) {
7
9
  this.globalOptions = globalOptions;
8
10
  this.options = (0, cli_1.parseOptions)(options, this.onOptions());
@@ -13,10 +13,13 @@ exports.BackupSessionEntity = void 0;
13
13
  const EntityDecorator_1 = __importDefault(require("./../Decorator/EntityDecorator"));
14
14
  const StateEntityAbstract_1 = require("./StateEntityAbstract");
15
15
  let BackupSessionEntity = class BackupSessionEntity extends StateEntityAbstract_1.StateEntityAbstract {
16
+ snapshotId;
17
+ packageName;
18
+ tags;
16
19
  };
17
- BackupSessionEntity = __decorate([
20
+ exports.BackupSessionEntity = BackupSessionEntity;
21
+ exports.BackupSessionEntity = BackupSessionEntity = __decorate([
18
22
  (0, EntityDecorator_1.default)({
19
23
  tableName: "backup_session",
20
24
  })
21
25
  ], BackupSessionEntity);
22
- exports.BackupSessionEntity = BackupSessionEntity;
@@ -13,10 +13,13 @@ exports.BackupSessionRepositoryEntity = void 0;
13
13
  const EntityDecorator_1 = __importDefault(require("../Decorator/EntityDecorator"));
14
14
  const StateEntityAbstract_1 = require("./StateEntityAbstract");
15
15
  let BackupSessionRepositoryEntity = class BackupSessionRepositoryEntity extends StateEntityAbstract_1.StateEntityAbstract {
16
+ sessionId;
17
+ repositoryName;
18
+ repositoryType;
16
19
  };
17
- BackupSessionRepositoryEntity = __decorate([
20
+ exports.BackupSessionRepositoryEntity = BackupSessionRepositoryEntity;
21
+ exports.BackupSessionRepositoryEntity = BackupSessionRepositoryEntity = __decorate([
18
22
  (0, EntityDecorator_1.default)({
19
23
  tableName: "backup_session_repository",
20
24
  })
21
25
  ], BackupSessionRepositoryEntity);
22
- exports.BackupSessionRepositoryEntity = BackupSessionRepositoryEntity;
@@ -13,10 +13,12 @@ exports.BackupSessionTaskEntity = void 0;
13
13
  const EntityDecorator_1 = __importDefault(require("../Decorator/EntityDecorator"));
14
14
  const StateEntityAbstract_1 = require("./StateEntityAbstract");
15
15
  let BackupSessionTaskEntity = class BackupSessionTaskEntity extends StateEntityAbstract_1.StateEntityAbstract {
16
+ sessionId;
17
+ taskName;
16
18
  };
17
- BackupSessionTaskEntity = __decorate([
19
+ exports.BackupSessionTaskEntity = BackupSessionTaskEntity;
20
+ exports.BackupSessionTaskEntity = BackupSessionTaskEntity = __decorate([
18
21
  (0, EntityDecorator_1.default)({
19
22
  tableName: "backup_session_task",
20
23
  })
21
24
  ], BackupSessionTaskEntity);
22
- exports.BackupSessionTaskEntity = BackupSessionTaskEntity;
@@ -2,5 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CrudEntityAbstract = void 0;
4
4
  class CrudEntityAbstract {
5
+ id;
6
+ creationDate;
7
+ updatingDate;
5
8
  }
6
9
  exports.CrudEntityAbstract = CrudEntityAbstract;
@@ -13,10 +13,12 @@ exports.RestoreSessionEntity = void 0;
13
13
  const EntityDecorator_1 = __importDefault(require("../Decorator/EntityDecorator"));
14
14
  const StateEntityAbstract_1 = require("./StateEntityAbstract");
15
15
  let RestoreSessionEntity = class RestoreSessionEntity extends StateEntityAbstract_1.StateEntityAbstract {
16
+ snapshotId;
17
+ packageName;
16
18
  };
17
- RestoreSessionEntity = __decorate([
19
+ exports.RestoreSessionEntity = RestoreSessionEntity;
20
+ exports.RestoreSessionEntity = RestoreSessionEntity = __decorate([
18
21
  (0, EntityDecorator_1.default)({
19
22
  tableName: "restore_session",
20
23
  })
21
24
  ], RestoreSessionEntity);
22
- exports.RestoreSessionEntity = RestoreSessionEntity;
@@ -13,10 +13,13 @@ exports.RestoreSessionRepositoryEntity = void 0;
13
13
  const EntityDecorator_1 = __importDefault(require("../Decorator/EntityDecorator"));
14
14
  const StateEntityAbstract_1 = require("./StateEntityAbstract");
15
15
  let RestoreSessionRepositoryEntity = class RestoreSessionRepositoryEntity extends StateEntityAbstract_1.StateEntityAbstract {
16
+ sessionId;
17
+ repositoryName;
18
+ repositoryType;
16
19
  };
17
- RestoreSessionRepositoryEntity = __decorate([
20
+ exports.RestoreSessionRepositoryEntity = RestoreSessionRepositoryEntity;
21
+ exports.RestoreSessionRepositoryEntity = RestoreSessionRepositoryEntity = __decorate([
18
22
  (0, EntityDecorator_1.default)({
19
23
  tableName: "restore_session_repository",
20
24
  })
21
25
  ], RestoreSessionRepositoryEntity);
22
- exports.RestoreSessionRepositoryEntity = RestoreSessionRepositoryEntity;
@@ -13,10 +13,12 @@ exports.RestoreSessionTaskEntity = void 0;
13
13
  const EntityDecorator_1 = __importDefault(require("../Decorator/EntityDecorator"));
14
14
  const StateEntityAbstract_1 = require("./StateEntityAbstract");
15
15
  let RestoreSessionTaskEntity = class RestoreSessionTaskEntity extends StateEntityAbstract_1.StateEntityAbstract {
16
+ sessionId;
17
+ taskName;
16
18
  };
17
- RestoreSessionTaskEntity = __decorate([
19
+ exports.RestoreSessionTaskEntity = RestoreSessionTaskEntity;
20
+ exports.RestoreSessionTaskEntity = RestoreSessionTaskEntity = __decorate([
18
21
  (0, EntityDecorator_1.default)({
19
22
  tableName: "restore_session_task",
20
23
  })
21
24
  ], RestoreSessionTaskEntity);
22
- exports.RestoreSessionTaskEntity = RestoreSessionTaskEntity;
@@ -3,5 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateEntityAbstract = void 0;
4
4
  const CrudEntityAbstract_1 = require("./CrudEntityAbstract");
5
5
  class StateEntityAbstract extends CrudEntityAbstract_1.CrudEntityAbstract {
6
+ state;
7
+ error;
8
+ startDate;
9
+ endDate;
10
+ progress;
6
11
  }
7
12
  exports.StateEntityAbstract = StateEntityAbstract;
@@ -22,7 +22,7 @@ var CommandEnum;
22
22
  CommandEnum["restore"] = "restore";
23
23
  CommandEnum["restoreSessions"] = "restore-sessions";
24
24
  CommandEnum["cleanCache"] = "clean-cache";
25
- })(CommandEnum = exports.CommandEnum || (exports.CommandEnum = {}));
25
+ })(CommandEnum || (exports.CommandEnum = CommandEnum = {}));
26
26
  function CommandFactory(type, globalOptions, options) {
27
27
  const constructor = CommandConstructorFactory(type);
28
28
  return new constructor(globalOptions, options);
@@ -24,7 +24,7 @@ var DefinitionEnum;
24
24
  DefinitionEnum["stringListUtil"] = "stringlist-util";
25
25
  DefinitionEnum["prunePolicy"] = "prune-policy";
26
26
  DefinitionEnum["pathsObject"] = "paths-object";
27
- })(DefinitionEnum = exports.DefinitionEnum || (exports.DefinitionEnum = {}));
27
+ })(DefinitionEnum || (exports.DefinitionEnum = DefinitionEnum = {}));
28
28
  function makeRef(type, subType) {
29
29
  return {
30
30
  $ref: `#/definitions/${type}` + (subType ? `_${subType}` : ""),
@@ -12,21 +12,17 @@ export type MetaDataType = {
12
12
  export type DatatruckRepositoryConfigType = {
13
13
  outPath: string;
14
14
  compress?: boolean;
15
- /**
16
- * @default 1
17
- */
18
- fileCopyConcurrency?: number;
19
15
  };
20
- type CompressObjectType = {
21
- packs?: {
22
- name?: string;
23
- include: string[];
24
- exclude?: string[];
25
- onePackByResult?: boolean;
26
- }[];
16
+ type PackObject = {
17
+ name?: string;
18
+ compress?: boolean;
19
+ include: string[];
20
+ exclude?: string[];
21
+ onePackByResult?: boolean;
27
22
  };
28
23
  export type DatatruckPackageRepositoryConfigType = {
29
- compress?: CompressObjectType | boolean;
24
+ compress?: boolean;
25
+ packs?: PackObject[];
30
26
  };
31
27
  export declare const datatruckRepositoryName = "datatruck";
32
28
  export declare const datatruckRepositoryDefinition: JSONSchema7;
@@ -51,7 +47,6 @@ export declare class DatatruckRepository extends RepositoryAbstract<DatatruckRep
51
47
  onInit(data: InitDataType): Promise<void>;
52
48
  onPrune(data: PruneDataType): Promise<void>;
53
49
  onSnapshots(data: SnapshotsDataType): Promise<SnapshotResultType[]>;
54
- private normalizeCompressConfig;
55
50
  onBackup(data: BackupDataType<DatatruckPackageRepositoryConfigType>): Promise<void>;
56
51
  onCopyBackup(data: CopyBackupType<DatatruckRepositoryConfigType>): Promise<void>;
57
52
  onRestore(data: RestoreDataType<DatatruckPackageRepositoryConfigType>): Promise<void>;