Internal NuGet package containing shared FileDB table models for file metadata, storage references and file lifecycle state across Dream Consistency products.
| Package ID | DreamConsistency.FileTables |
|---|---|
| Current Version | 1.0.0 |
| Initial Release Date | 2026-10-21 |
| Target Framework | .NET Standard 2.1 |
| NuGet Feed | https://nuget.dreamconsistency.com/v3/index.json |
| Bitbucket Repository | DreamConsistency.FileTables |
| Default Release Branch | master |
| Jenkins Job | DreamConsistency - Packages / DreamConsistency.FileTables - NuGet Release |
| Package Dependency | DreamConsistency.EntityManager 1.0.3 |
DreamConsistency.FileTables provides a shared, versioned C# persistence contract for
Dream Consistency File databases. Services use these generated entity definitions without copying
FileDB models between source repositories.
Dream Consistency keeps file persistence, binary storage and product business references distinct.
| Component | Responsibility | Examples |
|---|---|---|
DreamConsistency.FileTables |
Shared FileDB entity and mapping contract. | File metadata, storage type references, lifecycle attributes and FileDB configuration. |
| FileDB | Authoritative persistence for file records, storage metadata, file ownership and lifecycle state. | FileID, Tenant association, storage metadata and state. |
| FileStorage API / Core | File operations, validation, Tenant authorization, orchestration and lifecycle processing. | Upload, read, delete, replace and cleanup operations. |
| Binary storage provider | Actual file bytes and provider-specific storage operations. | Legacy local storage; Bunny Storage for the planned Hestino media integration. |
| Product Tenant DB | Business references to file records. | A menu item or legal document referencing a FileID. |
FileTables is a shared package, but physical FileDB databases are isolated by Product × Realm (environment). This is an explicit Dream Consistency architecture rule.
Multiple Tenants of the same product and environment may share that product's FileDB. Tenant ownership checks remain mandatory within each such database.
| Consumer | Status | Usage |
|---|---|---|
DreamConsistency.FileStorage.Api (V1) |
Existing integration | Persists and queries FileDB entity records for existing FileStorage operations used by Legislator. |
| FileStorage V2 services | Planned integration | Use the same product-neutral FileDB table contract behind V2 authorization and lifecycle services. |
| Hestino / Legislator application services | Via their FileStorage integration | Associate product business records with FileIDs, without duplicating FileDB metadata models in TenantDB. |
FileDB models distinguish concrete record identities, references and stable storage concepts. Use the actual mapped field names from the published models when implementing queries or writes.
A FileID identifies one concrete file record. It is the stable identity used when a product references a stored file.
Reference fields identify a related concrete record. A reference may be internal to FileDB or logical across independently deployed database boundaries.
Stable storage-type identities are separate from a concrete FileID. Existing persisted storage-type identifiers are compatibility-sensitive and must not be changed during package modernization.
Dream Consistency's database tooling uses common audit and soft-deletion fields on the installed FileDB tables where applicable.
These common fields may be supplied by database tooling and may not appear as manually authored columns in a Workbench diagram.
IsDeleted is not an authorization rule.
Access restrictions, retention policy and safe physical deletion are enforced by the FileStorage service.
| Package | Version | Purpose |
|---|---|---|
DreamConsistency.EntityManager |
1.0.3 |
Shared entity mapping infrastructure used by the generated FileDB models. |
Version 1.0.0 is the Product Owner-confirmed minimum acceptable historical
EntityManager baseline. The published FileTables 1.0.0 dependency is 1.0.3;
it was not downgraded for this release.
PackageReference,
not an absolute or relative path to another checked-out Dream Consistency repository.
The initial 1.0.0 package contains 10 generated public table-model types
in the DreamConsistency.FileTables namespace, with 83 public properties and 10
[PrimaryKey] attributes in the release validation snapshot.
| Known FileDB area | Purpose | Contract notes |
|---|---|---|
FIL_Files / fil_files |
Concrete file metadata and lifecycle state. | File identity, Tenant association, storage data, file size and lifecycle flags used by FileStorage. |
FIL_File_StorageTypes |
Storage-type definitions. | Stable storage identifiers used by the existing file persistence contract. |
FIL_File_External_Metadatas |
External storage metadata. | Data associated with files stored through an external provider. |
fil_external_storage_folders |
External storage folder references. | Used by the current FileStorage external-drive strategy contract. |
| Tenant configuration models | FileStorage settings associated with a Tenant. | Ownership and validation of configuration changes belong to the FileStorage service. |
| Other generated FileDB models | Remaining definitions included in the 10-type published package. | Consult the actual 1.0.0 DLL/source for exact class names and property-level contracts. |
DreamConsistency.FileTables 1.0.0 assembly and its repository source
are authoritative for the complete class inventory.
Existing FileStorage V1 code uses the following persisted file flags and expiry data in the FileDB contract. They describe existing state; they do not constitute a complete V2 lifecycle design.
| Field | Existing meaning / usage |
|---|---|
IsTemporary | Identifies a temporary file record. |
IfTemporary_DateOfExpiry | Expiry value used by legacy temporary-file cleanup. |
IsScheduledForDelete | Marks a file for a later physical-deletion process. |
IsDeleted | Soft-deletion state used by persistence queries. |
ModificationTimestamp | Existing timestamp used by the legacy recycling implementation. |
Within one Product × Realm FileDB, multiple Tenants may have file records. A valid FileID is not sufficient proof that a caller may read, modify, clone or delete that file.
FileDB stores metadata and lifecycle information. File bytes live in the configured binary storage system. The planned FileStorage V2 design introduces a provider-neutral binary-store boundary so the same metadata contract can be reused independently of the provider.
Add the package to a consuming backend service with an explicitly pinned version:
Or add an explicit package reference:
The package namespace is available to FileDB-facing infrastructure in the consuming application:
1.* are not acceptable for controlled deployments.
A FileTables NuGet version is a package release identity; it does not automatically determine the current physical FileDB schema version.
When a generated model change requires a database change, coordinate the release in this order:
DreamConsistency.FileTables.dotnet restore, NuGet installation and package upgrades do not modify FileDB databases.
Do not assume Legislator and Hestino environments are migrated at the same time.
The package follows Semantic Versioning:
| Version Change | Meaning | Example |
|---|---|---|
PATCH | Compatible packaging or model correction without a breaking public contract. | 1.0.0 → 1.0.1 |
MINOR | Backward-compatible new generated models or optional contract additions. | 1.0.1 → 1.1.0 |
MAJOR | Breaking public or incompatible persistence-model change. | 1.1.0 → 2.0.0 |
master.PACKAGE_VERSION=1.0.0 and PUBLISH_PACKAGE=false.PUBLISH_PACKAGE=true.#1 and publication build #2
were shown successful. The private feed lists DreamConsistency.FileTables 1.0.0.
The Jenkins job also displays archived .nupkg and .snupkg artifacts.
Successful consumer restore and symbol endpoint publication require their own checks.
The initial package standardization was validated against the original generated model assembly before publication preparation.
| Check | Result |
|---|---|
| Debug build | PASS |
| Release build | PASS |
| Public API comparison | 742 / 742 snapshot lines identical |
| Generated model source | No generated .cs file modified |
| Package assembly | Expected lib/netstandard2.1/DreamConsistency.FileTables.dll |
| Symbol package | Portable PDB produced and matched to packaged DLL |
| Dependency security scan | No vulnerabilities reported during local validation |
| Warnings | 13 existing CS8618 generated-model warnings, unchanged |
PackageReference rather than sibling-repository ProjectReference dependencies in reproducible CI.netstandard2.1.| Version | Date | Change |
|---|---|---|
1.0.0 |
2026-10-21 | Initial published NuGet package for the existing generated FileDB persistence contract. Standardized package metadata, documentation, NuGet configuration, Jenkins release workflow and portable symbol packaging, without changing the generated model API. |
FileTables remains a stable FileDB persistence contract while the FileStorage API evolves toward a .NET 10, provider-neutral architecture.
FileStorage V2 will add explicit Tenant isolation, secure file lifecycle rules and provider-neutral binary storage contracts without converting FileTables into a storage SDK or product-specific component.
1.0.0 does not authorize new FileDB columns or migrations.