stufflog graphql server
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

4 years ago
4 years ago
4 years ago
4 years ago
  1. package models
  2. import "time"
  3. type Log struct {
  4. ID string `db:"log_id"`
  5. UserID string `db:"user_id"`
  6. Date time.Time `db:"date"`
  7. Description string `db:"description"`
  8. Items []LogItem
  9. Tasks []LogTask
  10. }
  11. func (log *Log) Empty() bool {
  12. return len(log.Items) == 0 && len(log.Tasks) == 0
  13. }
  14. type LogTask struct {
  15. LogID string `db:"log_id"`
  16. IssueID string `db:"issue_id"`
  17. IssueTaskID string `db:"issue_task_id"`
  18. Units *int `db:"units"`
  19. Duration time.Duration `db:"duration"`
  20. }
  21. type LogItem struct {
  22. LogID string `db:"log_id"`
  23. IssueID string `db:"issue_id"`
  24. IssueItemID string `db:"issue_item_id"`
  25. Amount int `db:"amount"`
  26. }
  27. type LogFilter struct {
  28. LogIDs []string
  29. UserIDs []string
  30. IssueIDs []string
  31. IssueTaskIDs []string
  32. IssueItemIDs []string
  33. FromDate *time.Time
  34. ToDate *time.Time
  35. }