@datatruck/cli 0.17.2 → 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.
- package/Action/BackupAction.js +4 -2
- package/Action/BackupSessionsAction.js +2 -0
- package/Action/CleanCacheAction.js +1 -0
- package/Action/ConfigAction.js +1 -0
- package/Action/InitAction.js +2 -0
- package/Action/PruneAction.js +2 -0
- package/Action/RestoreAction.js +4 -2
- package/Action/RestoreSessionsAction.js +2 -0
- package/Action/SnapshotsAction.js +2 -0
- package/Command/CommandAbstract.js +2 -0
- package/Entity/BackupSessionEntity.js +5 -2
- package/Entity/BackupSessionRepositoryEntity.js +5 -2
- package/Entity/BackupSessionTaskEntity.js +4 -2
- package/Entity/CrudEntityAbstract.js +3 -0
- package/Entity/RestoreSessionEntity.js +4 -2
- package/Entity/RestoreSessionRepositoryEntity.js +5 -2
- package/Entity/RestoreSessionTaskEntity.js +4 -2
- package/Entity/StateEntityAbstract.js +5 -0
- package/Factory/CommandFactory.js +1 -1
- package/JsonSchema/DefinitionEnum.js +1 -1
- package/Repository/DatatruckRepository.d.ts +8 -14
- package/Repository/DatatruckRepository.js +115 -298
- package/Repository/GitRepository.js +1 -1
- package/Repository/RepositoryAbstract.js +4 -2
- package/Repository/ResticRepository.js +2 -1
- package/SessionDriver/ConsoleSessionDriver.js +9 -5
- package/SessionDriver/SessionDriverAbstract.js +3 -2
- package/SessionDriver/SqliteSessionDriver.js +2 -4
- package/SessionManager/BackupSessionManager.js +3 -6
- package/SessionManager/RestoreSessionManager.js +3 -6
- package/SessionManager/SessionManagerAbstract.js +4 -0
- package/Task/GitTask.js +1 -0
- package/Task/MariadbTask.d.ts +11 -0
- package/Task/MariadbTask.js +234 -51
- package/Task/MssqlTask.js +2 -1
- package/Task/ScriptTask.js +1 -0
- package/Task/SqlDumpTaskAbstract.js +1 -0
- package/Task/TaskAbstract.js +2 -1
- package/config.schema.json +67 -37
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +10 -9
- package/utils/DataFormat.js +1 -0
- package/utils/Git.js +1 -0
- package/utils/ObjectVault.js +3 -5
- package/utils/Restic.js +1 -0
- package/utils/datatruck/config.d.ts +1 -1
- package/utils/fs.d.ts +17 -2
- package/utils/fs.js +58 -7
- package/utils/process.d.ts +55 -3
- package/utils/process.js +159 -19
- package/utils/tar.d.ts +32 -0
- package/utils/tar.js +92 -0
- package/utils/zip.d.ts +0 -97
- package/utils/zip.js +0 -238
package/Action/BackupAction.js
CHANGED
|
@@ -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 = {
|
package/Action/ConfigAction.js
CHANGED
package/Action/InitAction.js
CHANGED
|
@@ -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;
|
package/Action/PruneAction.js
CHANGED
|
@@ -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;
|
package/Action/RestoreAction.js
CHANGED
|
@@ -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) => {
|
|
@@ -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 =
|
|
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 =
|
|
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 =
|
|
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;
|
|
@@ -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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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?:
|
|
24
|
+
compress?: boolean;
|
|
25
|
+
packs?: PackObject[];
|
|
30
26
|
};
|
|
31
27
|
export declare const datatruckRepositoryName = "datatruck";
|
|
32
28
|
export declare const datatruckRepositoryDefinition: JSONSchema7;
|
|
@@ -49,10 +45,8 @@ export declare class DatatruckRepository extends RepositoryAbstract<DatatruckRep
|
|
|
49
45
|
static stringifyMetaData(data: MetaDataType): string;
|
|
50
46
|
onGetSource(): string;
|
|
51
47
|
onInit(data: InitDataType): Promise<void>;
|
|
52
|
-
private createFileScanner;
|
|
53
48
|
onPrune(data: PruneDataType): Promise<void>;
|
|
54
49
|
onSnapshots(data: SnapshotsDataType): Promise<SnapshotResultType[]>;
|
|
55
|
-
private normalizeCompressConfig;
|
|
56
50
|
onBackup(data: BackupDataType<DatatruckPackageRepositoryConfigType>): Promise<void>;
|
|
57
51
|
onCopyBackup(data: CopyBackupType<DatatruckRepositoryConfigType>): Promise<void>;
|
|
58
52
|
onRestore(data: RestoreDataType<DatatruckPackageRepositoryConfigType>): Promise<void>;
|