Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 

88 řádky
1.8 KiB

  1. package apiclient
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "net/http"
  6. "github.com/AFASystems/presence/internal/pkg/model"
  7. )
  8. func GetTrackers(token string, client *http.Client) ([]model.Tracker, error) {
  9. res, err := getRequest(token, "getTrackers", client)
  10. if err != nil {
  11. return []model.Tracker{}, err
  12. }
  13. var i []model.Tracker
  14. err = json.NewDecoder(res.Body).Decode(&i)
  15. if err != nil {
  16. return []model.Tracker{}, err
  17. }
  18. return i, nil
  19. }
  20. func GetGateways(token string, client *http.Client) ([]model.Gateway, error) {
  21. res, err := getRequest(token, "getGateways", client)
  22. if err != nil {
  23. return []model.Gateway{}, err
  24. }
  25. var i []model.Gateway
  26. err = json.NewDecoder(res.Body).Decode(&i)
  27. if err != nil {
  28. return []model.Gateway{}, err
  29. }
  30. return i, nil
  31. }
  32. func GetTrackerZones(token string, client *http.Client) ([]model.TrackerZones, error) {
  33. res, err := getRequest(token, "getTrackerZones", client)
  34. if err != nil {
  35. return []model.TrackerZones{}, err
  36. }
  37. var i []model.TrackerZones
  38. err = json.NewDecoder(res.Body).Decode(&i)
  39. if err != nil {
  40. return []model.TrackerZones{}, err
  41. }
  42. return i, nil
  43. }
  44. func GetZones(token string, client *http.Client) ([]model.Zone, error) {
  45. res, err := getRequest(token, "getZones", client)
  46. if err != nil {
  47. return []model.Zone{}, err
  48. }
  49. var i []model.Zone
  50. err = json.NewDecoder(res.Body).Decode(&i)
  51. if err != nil {
  52. return []model.Zone{}, err
  53. }
  54. return i, nil
  55. }
  56. func getRequest(token, route string, client *http.Client) (*http.Response, error) {
  57. url := fmt.Sprintf("https://10.251.0.30:5050/reslevis/%s", route)
  58. req, err := http.NewRequest("GET", url, nil)
  59. if err != nil {
  60. return nil, err
  61. }
  62. header := fmt.Sprintf("Bearer %s", token)
  63. req.Header.Add("Authorization", header)
  64. res, err := client.Do(req)
  65. if err != nil {
  66. return nil, err
  67. }
  68. return res, nil
  69. }