Skip to content

Commit 4420c6a

Browse files
pieternnfx
authored andcommitted
Dedup a few structs
1 parent d7aba5c commit 4420c6a

File tree

1 file changed

+20
-40
lines changed

1 file changed

+20
-40
lines changed

sqlanalytics/resource_query.go

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ type QueryParameter struct {
3535

3636
// Type specific structs.
3737
// Only one of them may be set.
38-
Text *QueryParameterText `json:"text,omitempty"`
39-
Number *QueryParameterNumber `json:"number,omitempty"`
40-
Enum *QueryParameterEnum `json:"enum,omitempty"`
41-
Query *QueryParameterQuery `json:"query,omitempty"`
42-
Date *QueryParameterDate `json:"date,omitempty"`
43-
DateTime *QueryParameterDateTime `json:"datetime,omitempty"`
44-
DateTimeSec *QueryParameterDateTimeSec `json:"datetimesec,omitempty"`
45-
DateRange *QueryParameterDateRange `json:"date_range,omitempty"`
46-
DateTimeRange *QueryParameterDateTimeRange `json:"datetime_range,omitempty"`
47-
DateTimeSecRange *QueryParameterDateTimeSecRange `json:"datetimesec_range,omitempty"`
38+
Text *QueryParameterText `json:"text,omitempty"`
39+
Number *QueryParameterNumber `json:"number,omitempty"`
40+
Enum *QueryParameterEnum `json:"enum,omitempty"`
41+
Query *QueryParameterQuery `json:"query,omitempty"`
42+
Date *QueryParameterDateLike `json:"date,omitempty"`
43+
DateTime *QueryParameterDateLike `json:"datetime,omitempty"`
44+
DateTimeSec *QueryParameterDateLike `json:"datetimesec,omitempty"`
45+
DateRange *QueryParameterDateRangeLike `json:"date_range,omitempty"`
46+
DateTimeRange *QueryParameterDateRangeLike `json:"datetime_range,omitempty"`
47+
DateTimeSecRange *QueryParameterDateRangeLike `json:"datetimesec_range,omitempty"`
4848
}
4949

5050
// QueryParameterText ...
@@ -79,33 +79,13 @@ type QueryParameterQuery struct {
7979
Multiple *QueryParameterAllowMultiple `json:"multiple,omitempty"`
8080
}
8181

82-
// QueryParameterDate ...
83-
type QueryParameterDate struct {
82+
// QueryParameterDateLike ...
83+
type QueryParameterDateLike struct {
8484
Value string `json:"value"`
8585
}
8686

87-
// QueryParameterDateTime ...
88-
type QueryParameterDateTime struct {
89-
Value string `json:"value"`
90-
}
91-
92-
// QueryParameterDateTimeSec ...
93-
type QueryParameterDateTimeSec struct {
94-
Value string `json:"value"`
95-
}
96-
97-
// QueryParameterDateRange ...
98-
type QueryParameterDateRange struct {
99-
Value string `json:"value"`
100-
}
101-
102-
// QueryParameterDateTimeRange ...
103-
type QueryParameterDateTimeRange struct {
104-
Value string `json:"value"`
105-
}
106-
107-
// QueryParameterDateTimeSecRange ...
108-
type QueryParameterDateTimeSecRange struct {
87+
// QueryParameterDateRangeLike ...
88+
type QueryParameterDateRangeLike struct {
10989
Value string `json:"value"`
11090
}
11191

@@ -301,37 +281,37 @@ func (q *QueryEntity) fromAPIObject(aq *api.Query, schema map[string]*schema.Sch
301281
case *api.QueryParameterDate:
302282
p.Name = apv.Name
303283
p.Title = apv.Title
304-
p.Date = &QueryParameterDate{
284+
p.Date = &QueryParameterDateLike{
305285
Value: apv.Value,
306286
}
307287
case *api.QueryParameterDateTime:
308288
p.Name = apv.Name
309289
p.Title = apv.Title
310-
p.DateTime = &QueryParameterDateTime{
290+
p.DateTime = &QueryParameterDateLike{
311291
Value: apv.Value,
312292
}
313293
case *api.QueryParameterDateTimeSec:
314294
p.Name = apv.Name
315295
p.Title = apv.Title
316-
p.DateTimeSec = &QueryParameterDateTimeSec{
296+
p.DateTimeSec = &QueryParameterDateLike{
317297
Value: apv.Value,
318298
}
319299
case *api.QueryParameterDateRange:
320300
p.Name = apv.Name
321301
p.Title = apv.Title
322-
p.DateRange = &QueryParameterDateRange{
302+
p.DateRange = &QueryParameterDateRangeLike{
323303
Value: apv.Value,
324304
}
325305
case *api.QueryParameterDateTimeRange:
326306
p.Name = apv.Name
327307
p.Title = apv.Title
328-
p.DateTimeRange = &QueryParameterDateTimeRange{
308+
p.DateTimeRange = &QueryParameterDateRangeLike{
329309
Value: apv.Value,
330310
}
331311
case *api.QueryParameterDateTimeSecRange:
332312
p.Name = apv.Name
333313
p.Title = apv.Title
334-
p.DateTimeSecRange = &QueryParameterDateTimeSecRange{
314+
p.DateTimeSecRange = &QueryParameterDateRangeLike{
335315
Value: apv.Value,
336316
}
337317
default:

0 commit comments

Comments
 (0)