package service import ( "time" ) // CampaignStatus represents the possible states of a campaign type CampaignStatus string const ( StatusActive CampaignStatus = "active" StatusCompleted CampaignStatus = "completed" StatusCancelled CampaignStatus = "cancelled" StatusExpired CampaignStatus = "expired" // New status for deadlines ) type ID uint64 type Campaign struct { ID ID `json:"id"` Title string `json:"title"` Description string `json:"description"` GoalAmount float64 `json:"goal_amount"` RaisedAmount float64 `json:"raised_amount"` Status CampaignStatus `json:"status"` CreatedAt time.Time `json:"created_at"` DeadlineAt *time.Time `json:"deadline_at,omitempty"` AdminID ID `json:"creator_id"` }