package models import ( "time" "github.com/google/uuid" "gorm.io/gorm" ) // CorsWhitelist - CORS için izin verilen origin'ler type CorsWhitelist struct { ID uuid.UUID `gorm:"type:uuid;primary_key" json:"id"` Origin string `gorm:"type:varchar(255);uniqueIndex;not null" json:"origin"` Description string `gorm:"type:text" json:"description"` IsActive bool `gorm:"default:true" json:"is_active"` CreatedBy string `gorm:"type:varchar(255)" json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // BeforeCreate - UUID otomatik oluşturma func (c *CorsWhitelist) BeforeCreate(tx *gorm.DB) error { if c.ID == uuid.Nil { c.ID = uuid.New() } return nil } // CorsBlacklist - CORS için yasaklanan origin'ler type CorsBlacklist struct { ID uuid.UUID `gorm:"type:uuid;primary_key" json:"id"` Origin string `gorm:"type:varchar(255);uniqueIndex;not null" json:"origin"` Reason string `gorm:"type:text" json:"reason"` IsActive bool `gorm:"default:true" json:"is_active"` CreatedBy string `gorm:"type:varchar(255)" json:"created_by,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // BeforeCreate - UUID otomatik oluşturma func (c *CorsBlacklist) BeforeCreate(tx *gorm.DB) error { if c.ID == uuid.Nil { c.ID = uuid.New() } return nil } // RateLimitSetting - Rate limit ayarları type RateLimitSetting struct { ID uuid.UUID `gorm:"type:uuid;primary_key" json:"id"` Name string `gorm:"type:varchar(100);uniqueIndex;not null" json:"name"` // e.g., "login", "register", "api" Description string `gorm:"type:text" json:"description"` MaxRequests int64 `gorm:"not null" json:"max_requests"` // Max istek sayısı WindowSeconds int `gorm:"not null" json:"window_seconds"` // Zaman penceresi (saniye) IsActive bool `gorm:"default:true" json:"is_active"` UpdatedBy string `gorm:"type:varchar(255)" json:"updated_by,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // BeforeCreate - UUID otomatik oluşturma func (r *RateLimitSetting) BeforeCreate(tx *gorm.DB) error { if r.ID == uuid.Nil { r.ID = uuid.New() } return nil }