ravendb
Version:
RavenDB client for Node.js
89 lines • 3.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetPeriodicBackupStatusOperation = void 0;
exports.revivePeriodicBackupStatus = revivePeriodicBackupStatus;
const RavenCommand_js_1 = require("../../../Http/RavenCommand.js");
const DateUtil_js_1 = require("../../../Utility/DateUtil.js");
class GetPeriodicBackupStatusOperation {
_taskId;
constructor(taskId) {
this._taskId = taskId;
}
get resultType() {
return "CommandResult";
}
getCommand(conventions) {
return new GetPeriodicBackupStatusCommand(this._taskId, conventions);
}
}
exports.GetPeriodicBackupStatusOperation = GetPeriodicBackupStatusOperation;
class GetPeriodicBackupStatusCommand extends RavenCommand_js_1.RavenCommand {
_taskId;
_conventions;
constructor(taskId, conventions) {
super();
this._taskId = taskId;
this._conventions = conventions;
}
createRequest(node) {
const uri = node.url + "/periodic-backup/status?name=" + node.database + "&taskId=" + this._taskId;
return {
method: "GET",
uri
};
}
get isReadRequest() {
return true;
}
async setResponseAsync(bodyStream, fromCache) {
if (!bodyStream) {
this._throwInvalidResponse();
}
let body = null;
const results = await this._defaultPipeline(_ => body = _)
.process(bodyStream);
this.result = {
...results,
status: revivePeriodicBackupStatus(results.status)
};
if (this.result.isSharded) {
throw new Error("Database is sharded, can't use GetPeriodicBackupStatusOperation. Use GetShardedPeriodicBackupStatusOperation instead.");
}
return body;
}
}
function revivePeriodicBackupStatus(status) {
if (!status) {
return null;
}
return {
...status,
lastFullBackup: DateUtil_js_1.DateUtil.utc.parse(status.lastFullBackup),
delayUntil: DateUtil_js_1.DateUtil.utc.parse(status.delayUntil),
originalBackupTime: DateUtil_js_1.DateUtil.utc.parse(status.originalBackupTime),
lastIncrementalBackup: DateUtil_js_1.DateUtil.utc.parse(status.lastIncrementalBackup),
lastFullBackupInternal: DateUtil_js_1.DateUtil.utc.parse(status.lastFullBackupInternal),
lastIncrementalBackupInternal: DateUtil_js_1.DateUtil.utc.parse(status.lastIncrementalBackupInternal),
localBackup: reviveUploadStatus(status.localBackup),
error: status.error ? {
...status.error,
at: DateUtil_js_1.DateUtil.utc.parse(status.error.at)
} : null,
uploadToS3: reviveUploadStatus(status.uploadToS3),
uploadToFtp: reviveUploadStatus(status.uploadToFtp),
updateToGoogleCloud: reviveUploadStatus(status.updateToGoogleCloud),
uploadToAzure: reviveUploadStatus(status.uploadToAzure),
uploadToGlacier: reviveUploadStatus(status.uploadToGlacier)
};
}
function reviveUploadStatus(status) {
if (!status) {
return null;
}
return {
...status,
lastFullBackup: DateUtil_js_1.DateUtil.utc.parse(status.lastFullBackup),
lastIncrementalBackup: DateUtil_js_1.DateUtil.utc.parse(status.lastIncrementalBackup),
};
}
//# sourceMappingURL=GetPeriodicBackupStatusOperation.js.map