Proje: Okul Platform · Hub: Okul Platform — Domain
MediaPermissionService
app/Services/Controllers/Customer/MediaPermissionService.php
B2B portalda medya erişimini kontrol eder. CustomerUserService’i extend eder.
Medya Rol Kategorileri
SCHOOL_BASED_ROLES (Okul erişimine göre)
SCHOOL_PROFILE, SCHOOL_GALLERY, SCHOOL_LOGO, VIDEO
Kullanıcının o okula has_content_access = true olması gerekir.
CONTENT_BASED_ROLES (İçerik erişimine göre)
ANNOUNCEMENT_CONTENT, ACHIEVEMENTS_ANNOUNCEMENT, EVENTS_ANNOUNCEMENT
Duyuru/başarı/etkinlik içerik ID’sine bakılır.
hasAccessToRecord()
$mediaPermissionService->hasAccessToRecord(MediaRoleIdType::SCHOOL_GALLERY, $rowId)
// rowId = school_id veya içerik ID'siB2B Medya Upload Akışı
POST /customer/media/temp— Geçici upload (validation + temp storage)- İçerik formu doldurulur
POST /customer/media/move— DB transaction içinde geçiciden kalıcıya taşı
MediaPermission ile Spatie QueryBuilder Farkı
Spatie: Admin filtreleme (GET) MediaPermissionService: B2B içerik erişim izni (POST/PUT/DELETE)
Related
- api-media-system — MediaRoleIdType tüm tipler
- api-customer-user-service — checkContentAccess
- api-b2b-customer-portal — Medya endpoint’leri