Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Kayıt ve giriş

Hesap nasıl açılır

Bu akış auth ve user modüllerinden okunur. Alıcı kaydı en zengin yoldur; satıcı, yetkili ve yönetici kayıtları da aynı çekirdeği kullanır.

Alıcı kaydı

Uyarılar

Kayıt isteği gelince operasyon Telegram kanalına bilgi gider. Pazarlama rolündeki yetkililere Firebase bildirimi gider.

Kod doğrulama

Telefon, e-posta veya Firebase kimliği doğrulanır. Telefon kodu ülke + numara ile PhoneVerification satırındadır. E-posta kodu EmailVerification satırındadır (e-posta benzersiz).

Kullanıcı ve alıcı

Prisma’da User oluşur (type = BUYER). Ardından Buyer ve global yöneticiye bağlı AdminBuyer kaydı yazılır.

Yan etkiler

buyer.firestore-sync olayı Firestore’a gider.

Kayıt ödülü

Aktif BUYER_SIGNUP tanımı varsa cariye REWARD hareketi yazılır. Ödül hata verirse kayıt yine tamamlanır; hata yalnızca loglanır.

Analitik ve oturum

BigQuery’ye alıcı kayıt olayı yazılır. Erişim ve yenileme jetonu üretilir; yenileme özeti kullanıcı satırına yazılır.

Kayıt ödülü

Ödül tanımları veritabanında değildir; financial modülündeki REWARDS listesindedir. grantSignupReward bu listeden BUYER_SIGNUP kodlu, isActive olan ve tarih aralığına uyan kayıtları alır. Bitiş tarihi boşsa süre sınırsızdır. Eşleşen tanım yoksa hiçbir hareket yazılmaz.

Her tanım, kendi warehouseId deposundaki cariye bir işlem açar. Depo bulunamazsa o tanım atlanır. Tutar TransactionType.REWARD (artı bakiye) ile gider; açıklama tanımın name alanıdır, transactionTypeCode tanımın id değeridir.

Şu anki tek tanım:

AlanDeğerAnlamı
idBUYER_SIGNUP_REWARD_2026_08Hareket kodu
codeBUYER_SIGNUPKayıt ödülü türü
nameYeni Üye Kayıt ÖdülüCari açıklaması
amount250Cariye yazılan tutar
warehouseId1Hangi depo carisi
startDate2026-08-20Bu tarihten itibaren
endDateboşBitiş yok
isActivetrueKullanılıyor

Tanım listesine aynı koddan birden fazla aktif satır konursa her biri ayrı hareket üretir. Yalnız yeni alıcı kaydı bu yolu çağırır; satıcı / yetkili / yönetici kaydı çağırmaz.

Cari tarafı: Para ve fatura. Hareket tipi: Cari ve fatura.

Giriş

Giriş üç yoldan biridir: telefon kaydı, Firebase kimlik jetonu veya parola (bcrypt). Başarılı girişte jeton yenilenir; Firebase UUID güncellenebilir.

Çıkışta yenileme jetonu temizlenir. Verilen cihaz kimliği varsa UserDevice silinir.

Cihaz

Push için cihaz adı, cihaz kimliği ve FCM jetonu UserDevice tablosuna yazılır. Aynı kullanıcı + cihaz çifti tektir. Sağlayıcı enum’u yalnız FCM.

Veri nerede?

KayıtDepo
Kullanıcı, alıcı, CRM bağlantısı, cihazMySQL
Doğrulama kodlarıMySQL
Alıcı kopyası (sonradan siparişte)Mongo gömülü
Kayıt ödülü (varsa)Prisma cari bakiye + Mongo accountTransactions
Kayıt olayıBigQuery buyer_registrations

Şema: Kimlik ve izinler.