feat: cleanup extra metadata

This commit is contained in:
Huskydog9988
2025-05-29 17:27:03 -04:00
parent d1c09784a4
commit 4f789a2e5b
3 changed files with 37 additions and 0 deletions
+24
View File
@@ -174,6 +174,30 @@ export class FsObjectBackend extends ObjectBackend {
async listAll(): Promise<string[]> {
return fs.readdirSync(this.baseObjectPath);
}
async cleanupMetadata() {
const metadataFiles = fs.readdirSync(this.baseMetadataPath);
const objects = await this.listAll();
const extraFiles = metadataFiles.filter(
(file) => !objects.includes(file.replace(/\.json$/, "")),
);
console.log(
`[FsObjectBackend#cleanupMetadata]: Found ${extraFiles.length} metadata files without corresponding objects.`,
);
for (const file of extraFiles) {
const filePath = path.join(this.baseMetadataPath, file);
try {
fs.rmSync(filePath);
console.log(`[FsObjectBackend#cleanupMetadata]: Removed ${file}`);
} catch (error) {
console.error(
`[FsObjectBackend#cleanupMetadata]: Failed to remove ${file}`,
error,
);
}
}
}
}
class FsHashStore {