FileCoreValidationModel
dorsal.file.validators.base.FileCoreValidationModel
pydantic-model
Bases: BaseModel
Base Pydantic model for validating the core metadata extracted by FileCoreAnnotationModel.
This record forms the foundational data about a file.
Fields:
-
hash(SHA256Hash) -
quick_hash(QuickHash | None) -
similarity_hash(TLSHash | None) -
name(TString255) -
extension(FileExtension | None) -
size(int) -
media_type(MediaTypeString) -
all_hashes(list[FileCoreValidationModelHash] | None) -
all_hash_ids(dict[HashFunctionId, str] | None)
Validators:
populate_and_validate_all_hash_ids
pydantic-validator
Populates all_hash_ids, overwrites top-level hashes, and performs validation checks:
- Populates all_hash_ids from all_hashes.
- Overwrites quick_hash and similarity_hash from all_hashes.
- Ensures SHA256 and BLAKE3 hashes are present.
- Verifies no duplicate hash IDs.
- Confirms the primary self.hash matches the SHA256 value in all_hashes.