import { DvObjectOwnerNode } from '../../../core/domain/models/DvObjectOwnerNode'; export interface FileModel { id: number; persistentId: string; name: string; pidURL?: string; sizeBytes: number; version: number; description?: string; restricted: boolean; latestRestricted: boolean; directoryLabel?: string; datasetVersionId?: number; categories?: string[]; contentType: string; friendlyType: string; embargo?: FileEmbargo; storageIdentifier?: string; originalFormat?: string; originalFormatLabel?: string; originalSize?: number; originalName?: string; UNF?: string; rootDataFileId?: number; previousDataFileId?: number; md5?: string; checksum?: FileChecksum; metadataId?: number; tabularTags?: string[]; creationDate?: string; publicationDate?: string; /** * The timestamp of the last update to this file record. * Format: ISO 8601 string (e.g., "2023-06-01T12:34:56Z"). * Used for optimistic concurrency control to detect concurrent updates. */ lastUpdateTime: string; deleted: boolean; tabularData: boolean; fileAccessRequest?: boolean; isPartOf?: DvObjectOwnerNode; } export interface FileEmbargo { dateAvailable: Date; reason?: string; } export interface FileChecksum { type: string; value: string; }