34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# Data Model: File Storage Management & UI
|
|
|
|
## Entities
|
|
|
|
### StorageConfig
|
|
*Configuration for the storage system.*
|
|
|
|
| Field | Type | Description | Constraints |
|
|
|---|---|---|---|
|
|
| `root_path` | `string` | Absolute path to the storage root directory. | Must be a valid, writable path. Default: `../ss-tools-storage` |
|
|
| `backup_structure_pattern` | `string` | Pattern for backup directory structure. | Default: `{category}/` |
|
|
| `repo_structure_pattern` | `string` | Pattern for repository directory structure. | Default: `{category}/` |
|
|
| `filename_pattern` | `string` | Pattern for filenames. | Default: `{name}_{timestamp}` |
|
|
|
|
### StoredFile
|
|
*Representation of a file in the storage system.*
|
|
|
|
| Field | Type | Description | Constraints |
|
|
|---|---|---|---|
|
|
| `name` | `string` | Name of the file (including extension). | No path separators. |
|
|
| `path` | `string` | Relative path from storage root. | |
|
|
| `size` | `integer` | Size of the file in bytes. | >= 0 |
|
|
| `created_at` | `datetime` | Creation timestamp. | |
|
|
| `category` | `enum` | Category of the file. | `backup`, `repository` |
|
|
| `mime_type` | `string` | MIME type of the file. | Optional |
|
|
|
|
## Directory Structure
|
|
|
|
```text
|
|
{root_path}/
|
|
├── backups/
|
|
│ └── {filename}.zip
|
|
└── repositories/
|
|
└── {filename}.zip |