-
Notifications
You must be signed in to change notification settings - Fork 0
/
model.go
171 lines (150 loc) · 4.31 KB
/
model.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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
package bitbucketserver
type Links struct {
Self []Link `json:"self"`
HTML Link `json:"html"`
Avatar Link `json:"avatar"`
Clone []Link `json:"clone"`
}
type Link struct {
Href string `json:"href"`
Name string `json:"name"`
}
type Repository struct {
Slug string `json:"slug"`
ID int `json:"id"`
Name string `json:"name"`
ScmID string `json:"scmId"`
State string `json:"state"`
StatusMessage string `json:"statusMessage"`
Forkable bool `json:"forkable"`
Project Project `json:"project"`
Public bool `json:"public"`
Links Links `json:"links"`
}
type Project struct {
Key string `json:"key"`
ID int `json:"id"`
Name string `json:"name"`
Public bool `json:"public"`
Type string `json:"type"`
Links Links `json:"links"`
}
type paging struct {
Size int `json:"size"`
Limit int `json:"limit"`
Start int `json:"start"`
IsLastPage bool `json:"isLastPage"`
NextPageStart int `json:"nextPageStart"`
}
type PaginatedRepositories struct {
paging
Values []Repository `json:"values"`
}
type User struct {
Name string `json:"name"`
EmailAddress string `json:"emailAddress"`
ID int `json:"id"`
DisplayName string `json:"displayName"`
Active bool `json:"active"`
Slug string `json:"slug"`
Type string `json:"type"`
Links Links `json:"links"`
}
type AccessToken struct {
ID string `json:"id"`
Name string `json:"name"`
Permissions []string `json:"permissions"`
User User `json:"user"`
Token string `json:"token"`
}
type PaginatedAccessToken struct {
paging
Values []AccessToken `json:"values"`
}
type Hook struct {
ID int `json:"id"`
Name string `json:"name"`
Events []string `json:"events"`
Configuration HookConfiguration `json:"configuration"`
URL string `json:"url"`
Active bool `json:"active"`
}
type HookConfiguration struct {
Secret string `json:"secret"`
}
type PaginatedHooks struct {
paging
Values []Hook `json:"values"`
}
type Branch struct {
ID string `json:"id"`
DisplayID string `json:"displayId"`
Type string `json:"type"`
LatestCommit string `json:"latestCommit"`
LatestChangeset string `json:"latestChangeset"`
IsDefault bool `json:"isDefault"`
}
type PaginatedBranches struct {
paging
Values []Branch `json:"values"`
}
type Commit struct {
ID string `json:"id"`
DisplayID string `json:"displayId"`
Author User `json:"author"`
Committer User `json:"committer"`
Message string `json:"message"`
}
type PushEventPayload struct {
EventKey string `json:"eventKey"`
Date string `json:"date"`
Actor User `json:"actor"`
Repository Repository `json:"repository"`
Changes []Change `json:"changes"`
}
type Change struct {
Ref struct {
ID string `json:"id"`
DisplayID string `json:"displayId"`
Type string `json:"type"`
} `json:"ref"`
RefID string `json:"refId"`
FromHash string `json:"fromHash"`
ToHash string `json:"toHash"`
Type string `json:"type"`
}
type PullRequestEventPayload struct {
EventKey string `json:"eventKey"`
Date string `json:"date"`
Actor User `json:"actor"`
PullRequest PullRequest `json:"pullRequest"`
}
type PullRequest struct {
ID int `json:"id"`
Version int `json:"version"`
Title string `json:"title"`
Description string `json:"description"`
State string `json:"state"`
Open bool `json:"open"`
Closed bool `json:"closed"`
FromRef Ref `json:"fromRef"`
ToRef Ref `json:"toRef"`
Locked bool `json:"locked"`
Author struct {
User User `json:"user"`
Role string `json:"role"`
Approved bool `json:"approved"`
Status string `json:"status"`
} `json:"author"`
Links Links `json:"links"`
}
type Ref struct {
ID string `json:"id"`
DisplayID string `json:"displayId"`
LatestCommit string `json:"latestCommit"`
Repository Repository `json:"repository"`
}
type LastModified struct {
Files map[string]Commit `json:"files"`
LatestCommit Commit `json:"latestCommit"`
}