More changes
All checks were successful
Golan Testing / testing (1.24.x, ubuntu-latest) (push) Successful in 24s
All checks were successful
Golan Testing / testing (1.24.x, ubuntu-latest) (push) Successful in 24s
This commit is contained in:
54
client.go
54
client.go
@ -101,7 +101,6 @@ func New(config *config.Config) (*Client, error) {
|
|||||||
|
|
||||||
// SelectVehicle .
|
// SelectVehicle .
|
||||||
func (c *Client) SelectVehicle(vin string) VehicleData {
|
func (c *Client) SelectVehicle(vin string) VehicleData {
|
||||||
// API > json > dataName > vehicle
|
|
||||||
if vin == "" {
|
if vin == "" {
|
||||||
vin = c.currentVin
|
vin = c.currentVin
|
||||||
}
|
}
|
||||||
@ -119,9 +118,9 @@ func (c *Client) SelectVehicle(vin string) VehicleData {
|
|||||||
var vd VehicleData
|
var vd VehicleData
|
||||||
err := json.Unmarshal(r.Data, &vd)
|
err := json.Unmarshal(r.Data, &vd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
c.logger.Error("error while parsing json", "request", "SelectVehicle", "error", err.Error())
|
||||||
}
|
}
|
||||||
// c.logger.Debug("http request output", "request", "GetVehicleStatus", "body", resp)
|
// c.logger.Debug("http request output", "request", "SelectVehicle", "body", resp)
|
||||||
|
|
||||||
return vd
|
return vd
|
||||||
} else {
|
} else {
|
||||||
@ -233,7 +232,7 @@ func (c *Client) GetVehicleByVIN(vin string) *Vehicle {
|
|||||||
// func fetch() {}
|
// func fetch() {}
|
||||||
|
|
||||||
// Exec method executes a Client instance with the API URL
|
// Exec method executes a Client instance with the API URL
|
||||||
func (c *Client) execute(requestUrl string, method string, params map[string]string, pollingUrl string, j bool) []byte {
|
func (c *Client) execute(requestUrl string, method string, params map[string]string, pollingUrl string, j bool, attempts ...int) []byte {
|
||||||
defer timeTrack("[TIMETRK] Executing Get Request")
|
defer timeTrack("[TIMETRK] Executing Get Request")
|
||||||
var resp *resty.Response
|
var resp *resty.Response
|
||||||
|
|
||||||
@ -292,53 +291,9 @@ func (c *Client) execute(requestUrl string, method string, params map[string]str
|
|||||||
default:
|
default:
|
||||||
time.Sleep(5 * time.Second)
|
time.Sleep(5 * time.Second)
|
||||||
c.logger.Debug("Subaru API reports remote service request (stopping) is in progress")
|
c.logger.Debug("Subaru API reports remote service request (stopping) is in progress")
|
||||||
c.execute(pollingUrl, GET, map[string]string{"serviceRequestId": sr.ServiceRequestID}, pollingUrl, false)
|
c.execute(pollingUrl, GET, map[string]string{"serviceRequestId": sr.ServiceRequestID}, pollingUrl, false, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if pollingUrl != "" {
|
|
||||||
// time.Sleep(3 * time.Second)
|
|
||||||
// attempts := 20
|
|
||||||
|
|
||||||
// poolingLoop:
|
|
||||||
// for attempts > 0 {
|
|
||||||
// resp, _ = c.httpClient.
|
|
||||||
// R().
|
|
||||||
// SetQueryParams(map[string]string{
|
|
||||||
// "serviceRequestId": sr.ServiceRequestID,
|
|
||||||
// }).
|
|
||||||
// Get(pollingUrl)
|
|
||||||
// resBytes, _ := io.ReadAll(resp.Body)
|
|
||||||
// c.logger.Debug("POLLING HTTP OUTPUT", "body", string(resBytes))
|
|
||||||
|
|
||||||
// var r Response
|
|
||||||
// err := json.Unmarshal(resBytes, &r)
|
|
||||||
// if err != nil {
|
|
||||||
// c.logger.Error("error while parsing json", "request", "HTTP POLLING", "error", err.Error())
|
|
||||||
// }
|
|
||||||
// c.logger.Debug("parsed loop http request output", "request", "HTTP POLLING", "data", r.Data)
|
|
||||||
|
|
||||||
// if r.Success {
|
|
||||||
// var sr ServiceRequest
|
|
||||||
// err := json.Unmarshal(r.Data, &sr)
|
|
||||||
// if err != nil {
|
|
||||||
// c.logger.Error("error while parsing json", "request", "HTTP POLLING", "error", err.Error())
|
|
||||||
// }
|
|
||||||
// switch {
|
|
||||||
// case sr.RemoteServiceState == "finished":
|
|
||||||
// c.logger.Debug("Remote service request completed successfully", "request id", sr.ServiceRequestID)
|
|
||||||
// break poolingLoop
|
|
||||||
// case sr.RemoteServiceState == "started":
|
|
||||||
// c.logger.Debug("Subaru API reports remote service request is in progress", "request id", sr.ServiceRequestID)
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// c.logger.Debug("Backend session expired, please try again")
|
|
||||||
// break poolingLoop
|
|
||||||
// }
|
|
||||||
// attempts--
|
|
||||||
// time.Sleep(3 * time.Second)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.logger.Error("request is not successfull", "request", "execute", "method", method, "url", requestUrl, "error", err.Error())
|
c.logger.Error("request is not successfull", "request", "execute", "method", method, "url", requestUrl, "error", err.Error())
|
||||||
@ -400,7 +355,6 @@ func (c *Client) parseResponse(b []byte) (Response, bool) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
c.logger.Error("error while parsing json", "error", err.Error())
|
c.logger.Error("error while parsing json", "error", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return r, true
|
return r, true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
23
vehicle.go
23
vehicle.go
@ -501,7 +501,7 @@ func (v *Vehicle) GetClimateQuickPresets() {
|
|||||||
var r Response
|
var r Response
|
||||||
err := json.Unmarshal(resp, &r)
|
err := json.Unmarshal(resp, &r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
v.client.logger.Error("error while parsing json", "request", "GetClimateQuickPresets", "error", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
re1 := regexp.MustCompile(`\"`)
|
re1 := regexp.MustCompile(`\"`)
|
||||||
@ -536,7 +536,7 @@ func (v *Vehicle) GetClimateUserPresets() {
|
|||||||
var r Response
|
var r Response
|
||||||
err := json.Unmarshal(resp, &r)
|
err := json.Unmarshal(resp, &r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
v.client.logger.Error("error while parsing json", "request", "GetClimateUserPresets", "error", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
re1 := regexp.MustCompile(`\"`)
|
re1 := regexp.MustCompile(`\"`)
|
||||||
@ -547,7 +547,7 @@ func (v *Vehicle) GetClimateUserPresets() {
|
|||||||
var cProfiles []ClimateProfile
|
var cProfiles []ClimateProfile
|
||||||
err = json.Unmarshal([]byte(result), &cProfiles)
|
err = json.Unmarshal([]byte(result), &cProfiles)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
v.client.logger.Error("error while parsing json", "request", "GetClimateUserPresets", "error", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(cProfiles) > 0 {
|
if len(cProfiles) > 0 {
|
||||||
@ -563,7 +563,7 @@ func (v *Vehicle) GetClimateUserPresets() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
v.client.logger.Debug("didn't find any climate quick presets")
|
v.client.logger.Debug("didn't find any user climate presets")
|
||||||
}
|
}
|
||||||
v.Updated = time.Now()
|
v.Updated = time.Now()
|
||||||
} else {
|
} else {
|
||||||
@ -582,7 +582,7 @@ func (v *Vehicle) GetVehicleStatus() {
|
|||||||
var vs VehicleStatus
|
var vs VehicleStatus
|
||||||
err := json.Unmarshal(r.Data, &vs)
|
err := json.Unmarshal(r.Data, &vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
v.client.logger.Error("error while parsing json", "request", "GetVehicleStatus", "error", err.Error())
|
||||||
}
|
}
|
||||||
// v.client.logger.Debug("http request output", "request", "GetVehicleStatus", "body", vs)
|
// v.client.logger.Debug("http request output", "request", "GetVehicleStatus", "body", vs)
|
||||||
|
|
||||||
@ -753,16 +753,16 @@ func (v *Vehicle) GetVehicleCondition() {
|
|||||||
var sr ServiceRequest
|
var sr ServiceRequest
|
||||||
err := json.Unmarshal(r.Data, &sr)
|
err := json.Unmarshal(r.Data, &sr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
v.client.logger.Error("error while parsing json", "request", "GetVehicleCondition", "error", err.Error())
|
||||||
}
|
}
|
||||||
// v.client.logger.Debug("http request output", "request", "GetVehicleStatus", "body", resp)
|
// v.client.logger.Debug("http request output", "request", "GetVehicleCondition", "body", resp)
|
||||||
|
|
||||||
var vc VehicleCondition
|
var vc VehicleCondition
|
||||||
err = json.Unmarshal(sr.Result, &vc)
|
err = json.Unmarshal(sr.Result, &vc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
|
v.client.logger.Error("error while parsing json", "request", "GetVehicleCondition", "error", err.Error())
|
||||||
}
|
}
|
||||||
// v.client.logger.Debug("http request output", "request", "GetVehicleStatus", "body", resp)
|
// v.client.logger.Debug("http request output", "request", "GetVehicleCondition", "body", resp)
|
||||||
|
|
||||||
val := reflect.ValueOf(vc)
|
val := reflect.ValueOf(vc)
|
||||||
typeOfS := val.Type()
|
typeOfS := val.Type()
|
||||||
@ -927,6 +927,11 @@ func (v *Vehicle) GetVehicleHealth() {
|
|||||||
}
|
}
|
||||||
v.client.logger.Debug("http request output", "request", "GetVehicleHealth", "vehicle health", vh)
|
v.client.logger.Debug("http request output", "request", "GetVehicleHealth", "vehicle health", vh)
|
||||||
// TODO: Loop over all the Vehicle Health Items
|
// TODO: Loop over all the Vehicle Health Items
|
||||||
|
for i, vhi := range vh.VehicleHealthItems {
|
||||||
|
v.client.logger.Debug("vehicle health item", "id", i, "item", vhi)
|
||||||
|
if vhi.IsTrouble {
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
v.client.logger.Error("active STARLINK Security Plus subscription required")
|
v.client.logger.Error("active STARLINK Security Plus subscription required")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user