package models import ( "time" ) const ( NSummaryTypes uint8 = 4 SummaryProject uint8 = 0 SummaryLanguage uint8 = 1 SummaryEditor uint8 = 2 SummaryOS uint8 = 3 ) type Summary struct { ID uint `json:"-" gorm:"primary_key"` UserID string `json:"user_id" gorm:"not null; index:idx_time_summary_user"` FromTime *time.Time `json:"from" gorm:"not null; type:timestamp; default:now(); index:idx_time_summary_user"` ToTime *time.Time `json:"to" gorm:"not null; type:timestamp; default:now(); index:idx_time_summary_user"` Projects []SummaryItem `json:"projects"` Languages []SummaryItem `json:"languages"` Editors []SummaryItem `json:"editors"` OperatingSystems []SummaryItem `json:"operating_systems"` } type SummaryItem struct { ID uint `json:"-" gorm:"primary_key"` SummaryID uint `json:"-"` Key string `json:"key"` Total time.Duration `json:"total"` } type SummaryItemContainer struct { Type uint8 Items []SummaryItem }