Skip to content

Commit 81402d7

Browse files
author
Ulrich Lissé
committed
Extract service entity
1 parent d1fc299 commit 81402d7

File tree

2 files changed

+57
-50
lines changed

2 files changed

+57
-50
lines changed

mite/api.go

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,6 @@ type MiteApi interface {
1717
TimeEntries(params *TimeEntryParameters) ([]TimeEntry, error)
1818
}
1919

20-
type Service struct {
21-
Id string
22-
Name string
23-
Note string
24-
}
25-
2620
type TimeEntry struct {
2721
Id string
2822
Note string
@@ -55,50 +49,6 @@ func NewMiteApi(url string, key string) MiteApi {
5549
return &defaultApi{url: url, key: key, client: &http.Client{}}
5650
}
5751

58-
func (a *defaultApi) Services() ([]Service, error) {
59-
req, err := http.NewRequest("GET", fmt.Sprintf("%s/%s", a.url, "services.json"), nil)
60-
if err != nil {
61-
return nil, err
62-
}
63-
req.Header.Add("X-MiteApiKey", a.key)
64-
req.Header.Add("User-Agent", userAgent)
65-
66-
res, err := a.client.Do(req)
67-
if err != nil {
68-
return nil, err
69-
}
70-
defer func() { _ = res.Body.Close() }()
71-
72-
srs := []ServiceResponse{}
73-
err = json.NewDecoder(res.Body).Decode(&srs)
74-
if err != nil {
75-
return nil, err
76-
}
77-
78-
services := []Service{}
79-
for _, sr := range srs {
80-
services = append(services, sr.ToService())
81-
}
82-
83-
return services, nil
84-
}
85-
86-
type ServiceResponse struct {
87-
Service struct {
88-
Id int `json:"id"`
89-
Name string `json:"name"`
90-
Note string `json:"note"`
91-
} `json:"service"`
92-
}
93-
94-
func (r ServiceResponse) ToService() Service {
95-
return Service{
96-
Id: fmt.Sprintf("%d", r.Service.Id),
97-
Name: r.Service.Name,
98-
Note: r.Service.Note,
99-
}
100-
}
101-
10252
func (a *defaultApi) TimeEntries(params *TimeEntryParameters) ([]TimeEntry, error) {
10353
values := url.Values{}
10454
if params != nil {

mite/service.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package mite
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"net/http"
7+
)
8+
9+
type Service struct {
10+
Id string
11+
Name string
12+
Note string
13+
}
14+
15+
func (a *defaultApi) Services() ([]Service, error) {
16+
req, err := http.NewRequest("GET", fmt.Sprintf("%s/%s", a.url, "services.json"), nil)
17+
if err != nil {
18+
return nil, err
19+
}
20+
req.Header.Add("X-MiteApiKey", a.key)
21+
req.Header.Add("User-Agent", userAgent)
22+
23+
res, err := a.client.Do(req)
24+
if err != nil {
25+
return nil, err
26+
}
27+
defer func() { _ = res.Body.Close() }()
28+
29+
srs := []ServiceResponse{}
30+
err = json.NewDecoder(res.Body).Decode(&srs)
31+
if err != nil {
32+
return nil, err
33+
}
34+
35+
services := []Service{}
36+
for _, sr := range srs {
37+
services = append(services, sr.ToService())
38+
}
39+
40+
return services, nil
41+
}
42+
43+
type ServiceResponse struct {
44+
Service struct {
45+
Id int `json:"id"`
46+
Name string `json:"name"`
47+
Note string `json:"note"`
48+
} `json:"service"`
49+
}
50+
51+
func (r ServiceResponse) ToService() Service {
52+
return Service{
53+
Id: fmt.Sprintf("%d", r.Service.Id),
54+
Name: r.Service.Name,
55+
Note: r.Service.Note,
56+
}
57+
}

0 commit comments

Comments
 (0)