package FikoYTCtx

// FikoYTError yapısı (struct). Dart'taki FikoYTError sınıfına karşılık gelir.
type FikoYTHata struct {
	Kategori     *string                `json:"kategori,omitempty"`
	Kod          *int                   `json:"kod,omitempty"`
	Baslik       *string                `json:"baslik,omitempty"`
	Mesaj        *string                `json:"mesaj,omitempty"`
	SistemMesaji *string                `json:"sistemMesaji,omitempty"`
	Cozumler     map[string]interface{} `json:"cozumler,omitempty"` // Daha genel bir tip
}

// FikoYTErrors yapısı. Dart'taki FikoYTErrors sınıfına karşılık gelir.
type FikoYTHatalar struct {
	List []FikoYTHata `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 YeniFikoYTHatalar() *FikoYTHatalar {
	return &FikoYTHatalar{
		List: make([]FikoYTHata, 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
}
