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-auid header’ından gelen actingUserId’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'leri

UserNotificationId — 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 = 2486

User Hesap Takip

UserLog — Kullanıcı eylem logları
UserDetail — Ek profil bilgileri
AdminUserData — Admin kullanıcı özel verileri
UserFavorite — Favori okullar