package FikoYTCtx

// FikoYTError yapısı (struct). Dart'taki FikoYTError sınıfına karşılık gelir.
type FikoYTError struct {
	Category      *string  `json:"category,omitempty"`      // Hata kategorisi (isteğe bağlı)
	Code          *float64 `json:"code,omitempty"`          // Hata kodu (isteğe bağlı)
	Title         *string  `json:"title,omitempty"`         // Hata başlığı (isteğe bağlı)
	Message       *string  `json:"message,omitempty"`       // Hata mesajı (isteğe bağlı)
	SystemMessage *string  `json:"systemMessage,omitempty"` // Sistem hata mesajı (isteğe bağlı)
}

// FikoYTErrors yapısı. Dart'taki FikoYTErrors sınıfına karşılık gelir.
type FikoYTErrors struct {
	List []FikoYTError `json:"list"` // Hata listesi
}

// NewFikoYTErrors fonksiyonu, FikoYTErrors yapısı için bir kurucu fonksiyondur.
// Boş bir hata listesi ile yeni bir FikoYTErrors örneği oluşturur.
func NewFikoYTErrors() *FikoYTErrors {
	return &FikoYTErrors{
		List: make([]FikoYTError, 0), // Boş bir slice oluşturur
	}
}

// stringPtr fonksiyonu, verilen string değerinin adresini (pointer) döndürür.
// Bu, isteğe bağlı string alanları için nil değerini kullanmamızı sağlar.
func StringPtr(s string) *string {
	return &s
}

// floatPtr fonksiyonu, verilen float64 değerinin adresini (pointer) döndürür.
// Bu, isteğe bağlı float64 alanları için nil değerini kullanmamızı sağlar.
func FloatPtr(f float64) *float64 {
	return &f
}
