Proje: Okul Platform · Hub: Okul Platform — Domain
CustomerUser (B2B Portal Kullanıcısı)
Bir Customer firmasına bağlı portal kullanıcısı.
Alanlar:
customer_id→ Customer (firma)user_id→ User (login kimliği)role_id→ Config (customer_user_role) — CRM’de tanımlı B2B roltitle_id→ Config (customer_user_title) — CRM’de tanımlı unvanstatus— Aktif mi
CustomerUserSchool (Kullanıcı-Okul Bağlantısı)
Bir CustomerUser’ın erişebildiği okullar.
Temel bağlantı alanları:
customer_user_id→ CustomerUseruser_id→ User (denormalize, hız için)customer_id→ Customer (denormalize)school_id→ Schoolcampus_id→ Campus
Erişim izinleri:
has_content_access— Okul içeriklerini yönetebilirhas_lead_access— Lead’leri görebilircan_receive_leads_sms— Lead gelince SMS alırcan_receive_leads_mail— Lead gelince e-posta alır
Aktivite:
last_activity_at— Son aktivite tarihi
Ilişkiler
CustomerUser.customerUserSchools()— Erişebildiği tüm okullarCustomerUser.customerUserSchoolsWithAccess()— Sadece erişimi olanlar
CIO Entegrasyonu
B2BService: createOrDeleteCustomerUserSchoolToRequest() — Kullanıcı-okul bağlantısını CIO’ya gönderir/siler.
Events
CustomerUserCreatedEvent— Yeni B2B kullanıcı oluşturulduCustomerUserDeletedEvent— B2B kullanıcı silindi
Admin CRUD
POST /api/admin/customer-users — Yeni B2B kullanıcı oluştur (User da oluşturabilir)
CustomerUserService.create() — userId varsa bağlar, yoksa yeni User oluşturur.
Related
- api-b2b-vs-b2c — B2B sistemin genel mantığı
- api-identify-customer-middleware — IdentifyCustomer’da CustomerUser kullanımı
- api-lead-flow — Lead notification alıcıları