-
Notifications
You must be signed in to change notification settings - Fork 0
/
entries.go
127 lines (103 loc) · 3.43 KB
/
entries.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package casheerapi
const EntryType = "entry"
type EntryData struct {
ResourceID
Attributes EntryAtrributes `json:"attributes"`
Meta EntryMeta `json:"meta"`
Links EntryLinks `json:"links"`
Relationships EntryRelationships `json:"relationships"`
}
type EntryListItemData struct {
ResourceID
Attributes EntryAtrributes `json:"attributes"`
Meta EntryMeta `json:"meta"`
Links EntryListItemLinks `json:"links"`
Relationships EntryRelationships `json:"relationships"`
}
type EntryMeta struct {
RunningTotal int `json:"running_total"`
}
type EntryAtrributes struct {
Month int `json:"month"`
Year int `json:"year"`
Category string `json:"category"`
Subcategory string `json:"subcategory"`
ExpectedTotal MonetaryValueAttributes `json:"expected_total"`
Recurring bool `json:"recurring"`
Timestamps
}
type EntryLinks struct {
Self string `json:"self"`
}
type EntryRelationships struct {
Expenses EntryExpenseRelationship `json:"expenses"`
}
type EntryExpenseRelationship struct {
Links EntryExpenseRelationshipLinks `json:"links"`
}
type EntryExpenseRelationshipLinks struct {
Related string `json:"related"`
}
type EntryListItemLinks struct {
Self string `json:"self"`
}
type CreateEntryRequest struct {
Data CreateEntryData `json:"data"`
}
type CreateEntryData struct {
Type string `json:"type" `
Attributes CreateEntryAttributes `json:"attributes"`
}
type CreateEntryAttributes struct {
Month *int `json:"month,omitempty"`
Year *int `json:"year,omitempty"`
Category string `json:"category" `
Subcategory string `json:"subcategory" `
ExpectedTotal MonetaryValueCreationAttributes `json:"expected_total" `
Recurring bool `json:"recurring"`
}
type CreateEntryResponse struct {
Data EntryData `json:"data"`
}
type UpdateEntryRequest struct {
Data UpdateEntryData `json:"data"`
}
type UpdateEntryData struct {
Type string `json:"type"`
Attributes UpdateEntryAttributes `json:"attributes"`
}
type UpdateEntryAttributes struct {
Month *int `json:"month,omitempty"`
Year *int `json:"year,omitempty"`
Category *string `json:"category,omitempty"`
Subcategory *string `json:"subcategory,omitempty"`
Recurring *bool `json:"recurring,omitempty"`
ExpectedTotal MonetaryMutableValueAttributes `json:"expected_total,omitempty"`
}
type UpdateEntryResponse struct {
Data EntryData `json:"data"`
}
type DeleteEntryRequest struct {
}
type DeleteEntryResponse struct {
Data EntryData `json:"data"`
}
type ListEntryParams struct {
Month *int `form:"month,omitempty"`
Year *int `form:"year,omitempty"`
Category *string `form:"category,omitempty"`
Subcategory *string `form:"subcategory,omitempty"`
}
type ListEntryLinks struct {
Self string `json:"self"`
Home HomeLink `json:"home"`
}
type ListEntryResponse struct {
Data []EntryListItemData `json:"data"`
Links ListEntryLinks `json:"links"`
}
type GetEntryRequest struct {
}
type GetEntryResponse struct {
Data EntryData `json:"data"`
}