Proje: Okul B2B App · Hub: Okul B2B App — Conventions

Hata Mesajı Yönetimi — Türkçe Hata Map’leri

SimpleErrorHandler

utils/SimpleErrorHandler.ts — Herhangi bir hata tipinden kullanıcıya Türkçe mesaj:

import { SimpleErrorHandler } from '@/utils/SimpleErrorHandler';
 
const userMessage = SimpleErrorHandler.getErrorMessage(error);
// İngilizce/teknik mesajları Türkçe'ye çevirir

HTTP status → mesaj map:

  • 401: “Oturum süreniz dolmuş, lütfen tekrar giriş yapın”
  • 403: “Bu işlem için yetkiniz bulunmuyor”
  • 404: “İstenen kaynak bulunamadı”
  • 422: “Gönderilen bilgilerde hata var”
  • 429: “Çok fazla istek gönderildi, lütfen bekleyin”
  • 500: “Sunucuda bir hata oluştu”
  • ConnectionError: “İnternet bağlantınızı kontrol edin”
  • TimeoutError: “İstek zaman aşımına uğradı, lütfen tekrar deneyin”

AuthErrorHandler

utils/AuthErrorHandler.ts — Auth akışı için özelleşmiş hata handler:

  • Field priority: ['email', 'phone', 'otp', 'password', 'code']
  • API’dan gelen validation hataları önceliğe göre sıralanır
  • Toast ile gösterim için { title, message, duration } formatı döner

Validation Hata Önceliği

Login/OTP hatalarında birden fazla field hatası olabilir. AuthErrorHandler en öncelikli alanın hatasını gösterir (email > phone > otp > password > code).

ErrorMessages.ts

utils/ErrorMessages.ts — Global hata mesajı sözlüğü. Kodda tekrar etmemek için merkezi tanım.