fix: add missing lock in list repositories

This commit is contained in:
Nicolas Meienberger 2025-12-01 19:40:03 +01:00
parent 081ee1d7c2
commit 789cdf0014

View file

@ -255,14 +255,19 @@ const getSnapshotDetails = async (name: string, snapshotId: string) => {
throw new NotFoundError("Repository not found");
}
const snapshots = await restic.snapshots(repository.config);
const snapshot = snapshots.find((snap) => snap.id === snapshotId || snap.short_id === snapshotId);
const releaseLock = await repoMutex.acquireShared(repository.id, `snapshot_details:${snapshotId}`);
try {
const snapshots = await restic.snapshots(repository.config);
const snapshot = snapshots.find((snap) => snap.id === snapshotId || snap.short_id === snapshotId);
if (!snapshot) {
throw new NotFoundError("Snapshot not found");
if (!snapshot) {
throw new NotFoundError("Snapshot not found");
}
return snapshot;
} finally {
releaseLock();
}
return snapshot;
};
const checkHealth = async (repositoryId: string) => {