package domain import "time" type Permission struct { ID uint `json:"id" gorm:"primaryKey"` Code string `json:"code" gorm:"uniqueIndex;size:128;not null"` Name string `json:"name" gorm:"size:128;not null"` Module string `json:"module" gorm:"size:64;not null;index"` Description string `json:"description" gorm:"size:256"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (Permission) TableName() string { return "permissions" } type PermissionDTO struct { ID uint `json:"id"` Code string `json:"code"` Name string `json:"name"` Module string `json:"module"` Description string `json:"description"` } func ToPermissionDTO(p *Permission) PermissionDTO { return PermissionDTO{ ID: p.ID, Code: p.Code, Name: p.Name, Module: p.Module, Description: p.Description, } }