Proje: OkulUp API · Hub: OkulUp API — Architecture
OkulUp API — Mobil Konfigürasyon Endpoint’i
GET /mobile/config
Login sonrası mobil uygulama bu endpoint’i çağırır ve tüm konfigürasyonu tek seferde alır.
Response Yapısı
{
"data": {
"school": { "id": 1, "name": "..." },
"features": { "messaging": true, "assignments": false, ... },
"policies": { "message_reply_default": "teacher_only", ... },
"branding": { "primary_color": "#FF5F1F", "logo_url": null, ... },
"support": { "email": "...", "phone": "...", "help_center_url": "..." },
"permissions": { "dashboard_teacher": true, "assignments_submit": false, ... }
}
}- Okul yoksa: DEFAULT değerler döner
- Okul varsa:
SchoolSetting::getResolved*()merge’lenmiş değerler permissions:AuthorizationService::getPermissions()— ~30 boolean flag
GET /app-config
Platform-level destek bilgileri (okul bağımsız):
{ "data": { "support_email": "...", "support_phone": "...", "help_center_url": "..." } }Güvenlik Middleware (Global)
SecurityHeaders → X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, HSTS, Referrer-Policy
SanitizeInput → strip_tags + trim (content, password alanları hariç)
LogApiRequests → method/path/status/duration/user_id loglar, sensitive fields maskeler
Related
- feature-flag-sistemi — features response
- rol-ve-yetki-mimarisi — permissions response
- api-authentication-pattern — /me de permissions döner