package model type Archivable interface { IsArchived() bool SetArchived(archived bool) } type ArchivableBase struct { Archived bool `bson:"isArchived" json:"isArchived"` } func (a *ArchivableBase) IsArchived() bool { return a.Archived } func (a *ArchivableBase) SetArchived(archived bool) { a.Archived = archived }