You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
925 B
42 lines
925 B
package models
|
|
|
|
import "time"
|
|
|
|
type Log struct {
|
|
ID string `db:"log_id"`
|
|
UserID string `db:"user_id"`
|
|
Date time.Time `db:"date"`
|
|
Description string `db:"description"`
|
|
|
|
Items []LogItem
|
|
Tasks []LogTask
|
|
}
|
|
|
|
func (log *Log) Empty() bool {
|
|
return len(log.Items) == 0 && len(log.Tasks) == 0
|
|
}
|
|
|
|
type LogTask struct {
|
|
LogID string `db:"log_id"`
|
|
IssueID string `db:"issue_id"`
|
|
IssueTaskID string `db:"issue_task_id"`
|
|
Units *int `db:"units"`
|
|
Duration time.Duration `db:"duration"`
|
|
}
|
|
|
|
type LogItem struct {
|
|
LogID string `db:"log_id"`
|
|
IssueID string `db:"issue_id"`
|
|
IssueItemID string `db:"issue_item_id"`
|
|
Amount int `db:"amount"`
|
|
}
|
|
|
|
type LogFilter struct {
|
|
LogIDs []string
|
|
UserIDs []string
|
|
IssueIDs []string
|
|
IssueTaskIDs []string
|
|
IssueItemIDs []string
|
|
FromDate *time.Time
|
|
ToDate *time.Time
|
|
}
|