-
Notifications
You must be signed in to change notification settings - Fork 0
/
timeentries.go
41 lines (34 loc) · 1.19 KB
/
timeentries.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import "time"
type TimeEntry struct {
Description string `json:"description"`
CreatedWith string `json:"created_with"`
Start string `json:"start"`
Duration int `json:"duration"`
WorkspaceId string `json:"wid"`
ProjectId string `json:"pid"`
Billable bool `json:"billable"`
Tags []string `json:"tags"`
}
func createDayTimeEntries(workspaceId, projectId string, midnightDate time.Time, tags []string) []TimeEntry {
entries := make([]TimeEntry, 2)
morningStartTime := midnightDate.Add(9 * time.Hour)
morningEntry := createHalfDayTimeEntry(workspaceId, projectId, morningStartTime, tags)
entries[0] = *morningEntry
afternoonStartTime := midnightDate.Add(14 * time.Hour)
afternoonEntry := createHalfDayTimeEntry(workspaceId, projectId, afternoonStartTime, tags)
entries[1] = *afternoonEntry
return entries
}
func createHalfDayTimeEntry(workspaceId, projectId string, datetime time.Time, tags []string) *TimeEntry {
return &TimeEntry{
Description: "-",
CreatedWith: "Togglo",
Start: datetime.Format(time.RFC3339),
Duration: 14400,
WorkspaceId: workspaceId,
ProjectId: projectId,
Billable: true,
Tags: tags,
}
}