Skip to content

Commit 683eca8

Browse files
committed
Make all option struct fields pointers
Fixes xanzy#427 xanzy#1292
1 parent 609ee71 commit 683eca8

29 files changed

+313
-314
lines changed

Diff for: boards.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ type UpdateIssueBoardOptions struct {
9595
Name *string `url:"name,omitempty" json:"name,omitempty"`
9696
AssigneeID *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
9797
MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
98-
Labels Labels `url:"labels,omitempty" json:"labels,omitempty"`
98+
Labels *Labels `url:"labels,omitempty" json:"labels,omitempty"`
9999
Weight *int `url:"weight,omitempty" json:"weight,omitempty"`
100100
}
101101

Diff for: deploy_tokens.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ type CreateProjectDeployTokenOptions struct {
103103
Name *string `url:"name,omitempty" json:"name,omitempty"`
104104
ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
105105
Username *string `url:"username,omitempty" json:"username,omitempty"`
106-
Scopes []string `url:"scopes,omitempty" json:"scopes,omitempty"`
106+
Scopes *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
107107
}
108108

109109
// CreateProjectDeployToken creates a new deploy token for a project.
@@ -190,7 +190,7 @@ type CreateGroupDeployTokenOptions struct {
190190
Name *string `url:"name,omitempty" json:"name,omitempty"`
191191
ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
192192
Username *string `url:"username,omitempty" json:"username,omitempty"`
193-
Scopes []string `url:"scopes,omitempty" json:"scopes,omitempty"`
193+
Scopes *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
194194
}
195195

196196
// CreateGroupDeployToken creates a new deploy token for a group.

Diff for: deploy_tokens_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ func TestCreateProjectDeployToken(t *testing.T) {
144144
Name: String("My deploy token"),
145145
Username: String("custom-user"),
146146
ExpiresAt: &expiresAt,
147-
Scopes: []string{
147+
Scopes: &[]string{
148148
"read_repository",
149149
},
150150
})
@@ -263,7 +263,7 @@ func TestCreateGroupDeployToken(t *testing.T) {
263263
Name: String("My deploy token"),
264264
Username: String("custom-user"),
265265
ExpiresAt: &expiresAt,
266-
Scopes: []string{
266+
Scopes: &[]string{
267267
"read_repository",
268268
},
269269
})

Diff for: epics.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ func (e Epic) String() string {
8080
type ListGroupEpicsOptions struct {
8181
ListOptions
8282
AuthorID *int `url:"author_id,omitempty" json:"author_id,omitempty"`
83-
Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
83+
Labels *Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
8484
WithLabelDetails *bool `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
8585
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
8686
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
@@ -174,7 +174,7 @@ func (s *EpicsService) GetEpicLinks(gid interface{}, epic int, options ...Reques
174174
type CreateEpicOptions struct {
175175
Title *string `url:"title,omitempty" json:"title,omitempty"`
176176
Description *string `url:"description,omitempty" json:"description,omitempty"`
177-
Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
177+
Labels *Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
178178
StartDateIsFixed *bool `url:"start_date_is_fixed,omitempty" json:"start_date_is_fixed,omitempty"`
179179
StartDateFixed *ISOTime `url:"start_date_fixed,omitempty" json:"start_date_fixed,omitempty"`
180180
DueDateIsFixed *bool `url:"due_date_is_fixed,omitempty" json:"due_date_is_fixed,omitempty"`
@@ -211,7 +211,7 @@ func (s *EpicsService) CreateEpic(gid interface{}, opt *CreateEpicOptions, optio
211211
type UpdateEpicOptions struct {
212212
Title *string `url:"title,omitempty" json:"title,omitempty"`
213213
Description *string `url:"description,omitempty" json:"description,omitempty"`
214-
Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
214+
Labels *Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
215215
StartDateIsFixed *bool `url:"start_date_is_fixed,omitempty" json:"start_date_is_fixed,omitempty"`
216216
StartDateFixed *ISOTime `url:"start_date_fixed,omitempty" json:"start_date_fixed,omitempty"`
217217
DueDateIsFixed *bool `url:"due_date_is_fixed,omitempty" json:"due_date_is_fixed,omitempty"`

Diff for: geo_nodes.go

+28-28
Original file line numberDiff line numberDiff line change
@@ -69,20 +69,20 @@ type GeoNodesService struct {
6969
// GitLab API docs:
7070
// https://docs.gitlab.com/ee/api/geo_nodes.html#create-a-new-geo-node
7171
type CreateGeoNodesOptions struct {
72-
Primary *bool `url:"primary,omitempty" json:"primary,omitempty"`
73-
Enabled *bool `url:"enabled,omitempty" json:"enabled,omitempty"`
74-
Name *string `url:"name,omitempty" json:"name,omitempty"`
75-
URL *string `url:"url,omitempty" json:"url,omitempty"`
76-
InternalURL *string `url:"internal_url,omitempty" json:"internal_url,omitempty"`
77-
FilesMaxCapacity *int `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
78-
ReposMaxCapacity *int `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
79-
VerificationMaxCapacity *int `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
80-
ContainerRepositoriesMaxCapacity *int `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,omitempty"`
81-
SyncObjectStorage *bool `url:"sync_object_storage,omitempty" json:"sync_object_storage,omitempty"`
82-
SelectiveSyncType *string `url:"selective_sync_type,omitempty" json:"selective_sync_type,omitempty"`
83-
SelectiveSyncShards []string `url:"selective_sync_shards,omitempty" json:"selective_sync_shards,omitempty"`
84-
SelectiveSyncNamespaceIds []int `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
85-
MinimumReverificationInterval *int `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
72+
Primary *bool `url:"primary,omitempty" json:"primary,omitempty"`
73+
Enabled *bool `url:"enabled,omitempty" json:"enabled,omitempty"`
74+
Name *string `url:"name,omitempty" json:"name,omitempty"`
75+
URL *string `url:"url,omitempty" json:"url,omitempty"`
76+
InternalURL *string `url:"internal_url,omitempty" json:"internal_url,omitempty"`
77+
FilesMaxCapacity *int `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
78+
ReposMaxCapacity *int `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
79+
VerificationMaxCapacity *int `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
80+
ContainerRepositoriesMaxCapacity *int `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,omitempty"`
81+
SyncObjectStorage *bool `url:"sync_object_storage,omitempty" json:"sync_object_storage,omitempty"`
82+
SelectiveSyncType *string `url:"selective_sync_type,omitempty" json:"selective_sync_type,omitempty"`
83+
SelectiveSyncShards *[]string `url:"selective_sync_shards,omitempty" json:"selective_sync_shards,omitempty"`
84+
SelectiveSyncNamespaceIds *[]int `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
85+
MinimumReverificationInterval *int `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
8686
}
8787

8888
// CreateGeoNode creates a new Geo Node.
@@ -155,20 +155,20 @@ func (s *GeoNodesService) GetGeoNode(id int, options ...RequestOptionFunc) (*Geo
155155
// GitLab API docs:
156156
// https://docs.gitlab.com/ee/api/geo_nodes.html#edit-a-geo-node
157157
type UpdateGeoNodesOptions struct {
158-
ID *int `url:"primary,omitempty" json:"primary,omitempty"`
159-
Enabled *bool `url:"enabled,omitempty" json:"enabled,omitempty"`
160-
Name *string `url:"name,omitempty" json:"name,omitempty"`
161-
URL *string `url:"url,omitempty" json:"url,omitempty"`
162-
InternalURL *string `url:"internal_url,omitempty" json:"internal_url,omitempty"`
163-
FilesMaxCapacity *int `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
164-
ReposMaxCapacity *int `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
165-
VerificationMaxCapacity *int `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
166-
ContainerRepositoriesMaxCapacity *int `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,omitempty"`
167-
SyncObjectStorage *bool `url:"sync_object_storage,omitempty" json:"sync_object_storage,omitempty"`
168-
SelectiveSyncType *string `url:"selective_sync_type,omitempty" json:"selective_sync_type,omitempty"`
169-
SelectiveSyncShards []string `url:"selective_sync_shards,omitempty" json:"selective_sync_shards,omitempty"`
170-
SelectiveSyncNamespaceIds []int `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
171-
MinimumReverificationInterval *int `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
158+
ID *int `url:"primary,omitempty" json:"primary,omitempty"`
159+
Enabled *bool `url:"enabled,omitempty" json:"enabled,omitempty"`
160+
Name *string `url:"name,omitempty" json:"name,omitempty"`
161+
URL *string `url:"url,omitempty" json:"url,omitempty"`
162+
InternalURL *string `url:"internal_url,omitempty" json:"internal_url,omitempty"`
163+
FilesMaxCapacity *int `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
164+
ReposMaxCapacity *int `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
165+
VerificationMaxCapacity *int `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
166+
ContainerRepositoriesMaxCapacity *int `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,omitempty"`
167+
SyncObjectStorage *bool `url:"sync_object_storage,omitempty" json:"sync_object_storage,omitempty"`
168+
SelectiveSyncType *string `url:"selective_sync_type,omitempty" json:"selective_sync_type,omitempty"`
169+
SelectiveSyncShards *[]string `url:"selective_sync_shards,omitempty" json:"selective_sync_shards,omitempty"`
170+
SelectiveSyncNamespaceIds *[]int `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
171+
MinimumReverificationInterval *int `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
172172
}
173173

174174
// EditGeoNode updates settings of an existing Geo node.

Diff for: group_boards.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ type UpdateGroupIssueBoardOptions struct {
145145
Name *string `url:"name,omitempty" json:"name,omitempty"`
146146
AssigneeID *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
147147
MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
148-
Labels Labels `url:"labels,omitempty" json:"labels,omitempty"`
148+
Labels *Labels `url:"labels,omitempty" json:"labels,omitempty"`
149149
Weight *int `url:"weight,omitempty" json:"weight,omitempty"`
150150
}
151151

Diff for: group_milestones.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (m GroupMilestone) String() string {
5858
// https://docs.gitlab.com/ce/api/group_milestones.html#list-group-milestones
5959
type ListGroupMilestonesOptions struct {
6060
ListOptions
61-
IIDs []int `url:"iids[],omitempty" json:"iids,omitempty"`
61+
IIDs *[]int `url:"iids[],omitempty" json:"iids,omitempty"`
6262
State *string `url:"state,omitempty" json:"state,omitempty"`
6363
Title *string `url:"title,omitempty" json:"title,omitempty"`
6464
Search *string `url:"search,omitempty" json:"search,omitempty"`

Diff for: groups.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ type ListGroupsOptions struct {
9797
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
9898
Owned *bool `url:"owned,omitempty" json:"owned,omitempty"`
9999
Search *string `url:"search,omitempty" json:"search,omitempty"`
100-
SkipGroups []int `url:"skip_groups,omitempty" json:"skip_groups,omitempty"`
100+
SkipGroups *[]int `url:"skip_groups,omitempty" json:"skip_groups,omitempty"`
101101
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
102102
Statistics *bool `url:"statistics,omitempty" json:"statistics,omitempty"`
103103
TopLevelOnly *bool `url:"top_level_only,omitempty" json:"top_level_only,omitempty"`

0 commit comments

Comments
 (0)