> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flextell.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Dosyalar

> Polimorfik dosya kayıtları — hasta, randevu, tedavi ve AI raporu eklerine bağlı.

Dosya (`File`), Flextell'de polimorfik olarak bir kayda eklenen medya/doküman birimidir. Hasta, randevu, tedavi, sohbet ve AI raporları gibi farklı modellere bağlanabilir.

## Yapı

| Alan                           | Açıklama                            |
| ------------------------------ | ----------------------------------- |
| `name`                         | Dosya adı                           |
| `file_path`                    | Depo yolu                           |
| `mime_type`                    | MIME                                |
| `type`                         | `FileType` enum                     |
| `size`                         | Boyut (bayt)                        |
| `fileable_type`, `fileable_id` | Hangi modele bağlı (polimorfik)     |
| `source`                       | `CreationType` enum (manuel/sistem) |

## Polimorfik bağlanma

```mermaid theme={null}
flowchart LR
    F[File<br/>fileable_*] --> A[Appointment]
    F --> T[Treatment]
    F --> CH[ChatLog]
    F --> AR[AIReport]
    F --> C[Customer]
```

Aynı dosya bir randevuya da bir tedaviye de bağlanabilir. Polimorfik tasarım, model başına ayrı tablo gerektirmeden tek bir yerden dosya yönetimi sağlar.

## Catalog dosyalar

`FileType` enum'ında **catalog** tipi özeldir: kayıt başına tek olabilir (örn. doktorun profil fotoğrafı, hastanın katalog avatarı).

## Sohbet eklentileri

Sohbette gelen medya (görsel, doküman, ses kaydı) da `File` olarak saklanır; `fileable` = `ChatLog`.
