package repository type BoardRepository interface { List() ([]*Board, error) Get(BoardID) (*Board, error) Save(*Board) error Delete(BoardID) error } type BoardID string type Board struct { ID BoardID `json:"id"` Title string `json:"title"` Description string `json:"description"` Lanes []*BoardLane `json:"lanes"` Projects []string `json:"projects"` } type BoardLaneID string type BoardLane struct { ID BoardLaneID `json:"id"` Title string `json:"title"` IssueLabel string `json:"issueLabel"` CollectRemainingIssues bool `json:"collectRemainingIssues"` }