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"`
}