package models import ( "github.com/google/uuid" "github.com/uptrace/bun" ) type Media struct { bun.BaseModel `bun:"table:media"` ID uuid.UUID `bun:"type:uuid,pk,default:gen_random_uuid()" json:"id"` AuthorID uuid.UUID `bun:"author_id,type:uuid,notnull" json:"authorID"` Author *User `bun:"rel:belongs-to,join:author_id=user_id" json:"author,omitempty"` Type string `bun:"media_type" json:"type"` // Image, Video, GIF etc. Add support for PDFs? Alt string `bun:"media_alt" json:"alt"` Path string `bun:"media_path" json:"path"` Size int64 `bun:"media_size" json:"size"` URL string `bun:"-" json:"url"` }