Proje: Okul Platform · Hub: Okul Platform — Domain
User Model Boolean Metodları
$user->isAdmin() // user_group_type === 'admin'
$user->isCustomer() // user_group_type === 'customer'
$user->isActive() // is_active === '1' (StringEnumType::TRUE)CustomerActingUserResolver
B2B customer context’i belirler:
CustomerActingUserResolver::resolve(User $user, ?int $actingUserId = null)Mantık:
- Eğer
$user->isCustomer()→ kendi ID’sini döner - Eğer
$user->isAdmin()→x-auidheader’ından gelenactingUserId’yi döner (admin başkası adına işlem yapabilir) - Diğer → null
Bu sayede admin, bir B2B kullanıcı adına customer portal işlemleri yapabilir.
OneSignal Notification Routing
routeNotificationForOneSignal() — Kullanıcının cihaz token’larını döner:
// NotificationIdService kullanıyor
// UserNotificationId modeli → onesignal_player_id'leriUserNotificationId — Login sırasında kaydedilen cihaz token’ları (Sanctum token ID ile ilişkili).
User Notification Sabitleri (Config modeli)
Config::USER_NOTIFICATION_NONE_ID = 2483
Config::USER_NOTIFICATION_ALL_ID = 2482
Config::USER_NOTIFICATION_SMS_ID = 2484
Config::USER_NOTIFICATION_CALL_ID = 2486User Hesap Takip
UserLog — Kullanıcı eylem logları
UserDetail — Ek profil bilgileri
AdminUserData — Admin kullanıcı özel verileri
UserFavorite — Favori okullar
Related
- api-domain-model — User modeli
- api-key-integrations — OneSignal push notification
- api-identify-customer-middleware — CustomerActingUserResolver kullanım yeri