//here we use UUID for more safety //it obfuscate the number of users and make finding user more difficult package models import ( "time" "clapclap/internal/uuid" "gorm.io/gorm" ) // Base contains common columns for all tables. // We use UUID v4 (gen_random_uuid) for ID obfuscation and security. type Base struct { ID uuid.UUID `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` // Soft delete support hidden from JSON }