package models import ( "time" ) // CorsWhitelist - CORS için izin verilen origin'ler type CorsWhitelist struct { ID uint64 `gorm:"type:bigint unsigned;autoIncrement;primaryKey" 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"` } // CorsBlacklist - CORS için yasaklanan origin'ler type CorsBlacklist struct { ID uint64 `gorm:"type:bigint unsigned;autoIncrement;primaryKey" 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"` } // RateLimitSetting - Rate limit ayarları type RateLimitSetting struct { ID uint64 `gorm:"type:bigint unsigned;autoIncrement;primaryKey" 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"` }