add logging and a lot of loaders.

This commit is contained in:
2020-05-30 15:28:40 +02:00
parent a4c019e67b
commit bd024a01a4
24 changed files with 1078 additions and 95 deletions
+66
View File
@@ -12,10 +12,76 @@ type Log struct {
Tasks []LogTask
}
func (log *Log) Copy() *Log {
newLog := *log
newLog.Items = append(newLog.Items[:0:0], log.Items...)
newLog.Tasks = append(newLog.Tasks[:0:0], log.Tasks...)
return &newLog
}
func (log *Log) Empty() bool {
return len(log.Items) == 0 && len(log.Tasks) == 0
}
func (log *Log) MatchesIssue(issueID string) bool {
for _, item := range log.Items {
if item.IssueID == issueID {
return true
}
}
for _, task := range log.Tasks {
if task.IssueID == issueID {
return true
}
}
return false
}
func (log *Log) MatchesIssueTask(issueTaskID string) bool {
for _, task := range log.Tasks {
if task.IssueTaskID == issueTaskID {
return true
}
}
return false
}
func (log *Log) MatchesIssueItem(issueItemID string) bool {
for _, item := range log.Items {
if item.IssueItemID == issueItemID {
return true
}
}
return false
}
func (log *Log) Task(issueTaskID string) *LogTask {
for i := range log.Tasks {
task := &log.Tasks[i]
if task.IssueTaskID == issueTaskID {
return task
}
}
return nil
}
func (log *Log) Item(issueItemID string) *LogItem {
for i := range log.Items {
item := &log.Items[i]
if item.IssueItemID == issueItemID {
return item
}
}
return nil
}
type LogTask struct {
LogID string `db:"log_id"`
IssueID string `db:"issue_id"`