Files
recap/node_modules/@start9labs/start-sdk/package/lib/backup/setupBackups.js
T

38 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupBackups = setupBackups;
const Backups_1 = require("./Backups");
/**
* Set up backup and restore exports for the service.
*
* Returns `{ createBackup, restoreInit }` which should be exported and wired into
* the service's init and backup entry points.
*
* @param options - Either an array of volume IDs or an async factory returning a Backups instance
* @returns An object with `createBackup` (the backup export) and `restoreInit` (an InitScript for restore)
*/
function setupBackups(options) {
let backupsFactory;
if (options instanceof Function) {
backupsFactory = options;
}
else {
backupsFactory = async () => Backups_1.Backups.ofVolumes(...options);
}
const answer = {
get createBackup() {
return (async (options) => {
return (await backupsFactory(options)).createBackup(options.effects);
});
},
get restoreInit() {
return {
init: async (effects, kind) => {
return (await backupsFactory({ effects })).init(effects, kind);
},
};
},
};
return answer;
}
//# sourceMappingURL=setupBackups.js.map