refactor: use rr actions/loader

refactor: use rr actions
This commit is contained in:
Nicolas Meienberger
2025-08-31 19:22:55 +02:00
parent 23f47bbb6b
commit 37effcb4e3
21 changed files with 454 additions and 219 deletions

View File

@@ -0,0 +1,24 @@
import type { Volume } from "../../db/schema";
import { makeDirectoryBackend } from "./directory/directory-backend";
import { makeNfsBackend } from "./nfs/nfs-backend";
export type VolumeBackend = {
mount: () => Promise<void>;
unmount: () => Promise<void>;
};
export const createVolumeBackend = (volume: Volume): VolumeBackend => {
const { config, path } = volume;
switch (config.backend) {
case "nfs": {
return makeNfsBackend(config, path);
}
case "directory": {
return makeDirectoryBackend();
}
default: {
throw new Error(`Backend ${config.backend} not implemented`);
}
}
};