Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Domain

CRM Başarı Modeli (Achievement)

Paylaşılan Tip

AchievementService de Announcement tipini kullanır — tüm school-content entity’leri (announcement, event, achievement) aynı TypeScript tipini paylaşır.

AchievementFormValues

interface AchievementFormValues {
    title: string;
    text: string;
    sort?: number | null;
    is_active: boolean;
    school_ids?: number[] | null;
    temp_media_urls?: string[] | null;
    // NOT: starts_on ve ends_on yok
}

Announcement vs Event vs Achievement Karşılaştırması

AnnouncementEventAchievement
starts_onopsiyonelzorunluyok
ends_onzorunluyokyok
Media includeannouncementMediaeventMediasachievementMedia + achievementMedias
Endpoint.../announcements.../events.../achievements

getById Include

includes[]=creator
includes[]=schools
includes[]=contentSchools
includes[]=achievementMedia      ← tekil
includes[]=achievementMedias     ← çoğul

İkisi birden include edildiğine dikkat — muhtemelen tekil=cover, çoğul=galeri.