package activity import ( "time" ) const ( ActivityView = "View" ActivityEdit = "Edit" ActivityCreate = "Create" ActivityDelete = "Delete" ) type CreatorInterface interface { GetID() uint GetName() string } type ActivityLogInterface interface { SetCreatedAt(time.Time) GetCreatedAt() time.Time SetUserID(uint) GetUserID() uint SetCreator(string) GetCreator() string SetAction(string) GetAction() string SetModelKeys(string) GetModelKeys() string SetModelName(string) GetModelName() string SetModelLabel(string) GetModelLabel() string SetModelLink(string) GetModelLink() string SetModelDiffs(string) GetModelDiffs() string } type ActivityLog struct { ID uint `gorm:"primary_key"` UserID uint CreatedAt time.Time Creator string Action string ModelKeys string `gorm:"index"` ModelName string `gorm:"index"` ModelLabel string ModelLink string ModelDiffs string `sql:"type:text;"` } func (al *ActivityLog) SetCreatedAt(t time.Time) { al.CreatedAt = t } func (al ActivityLog) GetCreatedAt() time.Time { return al.CreatedAt } func (al *ActivityLog) SetUserID(id uint) { al.UserID = id } func (al ActivityLog) GetUserID() uint { return al.UserID } func (al *ActivityLog) SetCreator(s string) { al.Creator = s } func (al *ActivityLog) GetCreator() string { return al.Creator } func (al *ActivityLog) SetAction(s string) { al.Action = s } func (al *ActivityLog) GetAction() string { return al.Action } func (al *ActivityLog) SetModelKeys(s string) { al.ModelKeys = s } func (al *ActivityLog) GetModelKeys() string { return al.ModelKeys } func (al *ActivityLog) SetModelName(s string) { al.ModelName = s } func (al *ActivityLog) GetModelName() string { return al.ModelName } func (al *ActivityLog) SetModelLabel(s string) { al.ModelLabel = s } func (al *ActivityLog) GetModelLabel() string { if al.ModelLabel == "" { return "-" } return al.ModelLabel } func (al *ActivityLog) SetModelLink(s string) { al.ModelLink = s } func (al *ActivityLog) GetModelLink() string { return al.ModelLink } func (al *ActivityLog) SetModelDiffs(s string) { al.ModelDiffs = s } func (al *ActivityLog) GetModelDiffs() string { return al.ModelDiffs }