-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Blobentry Standardization
Field Comparison Table
| Old Field | New Field | Reason for Change | |
|---|---|---|---|
| ✓ | × id::Union{UUID, Nothing} |
REMOVE - label serves as key within parent struct |
|
| ✓ | ✎ blobId::UUID |
blobid::UUID |
Standard use of capitals |
| ✓ | label::Symbol |
label::Symbol |
No change needed |
| ✓ | blobstore::Symbol |
blobstore::Symbol |
No change needed - matches Blobstore struct naming |
| ✓ | ✎ hash::String |
Replaced with separate fields for CRC and SHA hashes | |
| ✓ | crchash::Union{UInt32, Nothing} |
||
| ✓ | shahash::Union{Vector{UInt8}, Nothing} |
||
| ✓ | origin::String |
origin::String |
see discussion |
| ✓ | ✎ size::String |
size::Int64 |
Type safety |
| ✓ | description::String |
description::String |
No change needed |
| ✓ | ✎ mimeType::String |
mimetype::MIME |
Use built-in MIME type and standard use of capitals |
| ☐ | ✎ metadata::String |
metadata::JSONText |
see #1105 and #1172 |
| ☐ | ✎ timestamp::ZonedDateTime |
✎ timestamp::NanoDate |
TODO |
| ✓ | × createdTimestamp |
REMOVE - see discussion | |
| ✓ | × lastUpdatedTimestamp |
REMOVE - see discussion | |
| ✓ | ✎ _version::VersionNumber |
version::VersionNumber |
Remove underscore prefix #1177 |
Key Improvements
- Hash Standardization: Split hash into two standardized fields -
crcHashfor fast error detection andshaHashfor strong integrity - Type Safety: Use
Int64for size instead of string representation andMIMEfor mime types (needs StructUtils#16) - Metadata Structure: Replace base64 encoded strings with JDONText
- Remove DB Implementation Details: Remove
idfield sincelabelserves as the key within parent structures - Remove Unused Timestamps: Remove
createdTimestampandlastUpdatedTimestampto avoid breaking serialization when we decide to use and finalise. (so not DFGv1 but v1.x) - GraphQL Compatibility: Structure fields for easy GraphQL querying and JSON serialization