Proje: Okul Platform · Hub: Okul Platform — Domain
Media Nedir?
Okul profil fotoğrafları, makale resimleri, sözleşme belgeleri, logolar gibi tüm dosya/görsel varlıkları.
Storage: AWS S3 (league/flysystem-aws-s3-v3)
Image işleme: intervention/image-laravel
MediaRoleIdType Enum (Medya Türleri)
| ID | Tür | Açıklama |
|---|---|---|
| 1 | ARTICLE_COVER | Makale kapak |
| 2 | ARTICLE_CONTENT | Makale içerik görseli |
| 3 | SCHOOL_PROFILE | Okul profil fotoğrafı |
| 4 | SCHOOL_GALLERY | Okul galeri (varsayılan) |
| 5 | USER_PROFILE | Kullanıcı profil fotoğrafı |
| 6-8 | COLLEGE_THUMB/COVER/CONTENT | Kolej görselleri |
| 9-10 | GALLERY_LISTING/CONTENT | Galeri listesi/içerik |
| 11 | ANNOUNCEMENT_CONTENT | Duyuru içerik görseli |
| 12-13 | SCHOLARSHIP_COVER/CONTENT | Burs görselleri |
| 14 | VIDEO | Video |
| 15 | CUSTOMER_AGREEMENT | Müşteri sözleşmesi |
| 16 | SCHOOL_LOGO | Okul logosu |
| 17 | ACHIEVEMENTS_ANNOUNCEMENT | Başarı duyurusu |
| 18 | EVENTS_ANNOUNCEMENT | Etkinlik duyurusu |
| 19 | DOCUMENTS_AGREEMENT | Sözleşme belgesi |
| 20 | CHECKOUT_CONTRACT | Checkout sözleşmesi |
| 21 | CHECKOUT_RECEIPT | Checkout makbuzu |
Erişim Kuralları
forCustomer()— B2B portale izin verilenler: SCHOOL_PROFILE, SCHOOL_GALLERY, SCHOOL_LOGO, VIDEO, ANNOUNCEMENT_CONTENT, ACHIEVEMENTS_ANNOUNCEMENT, EVENTS_ANNOUNCEMENTforAdmin()— Tüm türlere admin erişebilir
Upload Akışı (B2B)
POST /customer/media/temp— Geçici dosya yükle- (form doldurulur)
POST /customer/media/move— Geçici → kalıcı konuma taşı
Media Scope’ları
Her MediaRoleIdType’ın kendi scope’u var:
SchoolMediaScope— Okul medyasıSchoolLogoScope— LogoSchoolAnnouncementMediaScope— Duyuru medyasıCustomerAgreementScope— SözleşmeVideoScope— VideoCommonMediaScope— Ortak
School Gallery
School::gallery() — Media ile row_id üzerinden ilişki, status=1, role_id=SCHOOL_GALLERY, sıra: created_at DESC
Media Model
row_id— Hangi içeriğe (okul ID, article ID, vs.) aitrole_id→ MediaRoleIdTypesort— Sıralama (varsayılan 1)path— S3 yoluvideo_path— Video için ayrı yolfull_url→ computed property
Related
- api-tech-stack — S3 ve Intervention Image
- api-b2b-customer-portal — B2B medya upload endpoint’leri