Skip to content

Commit

Permalink
Change name from virtual-token to virtual-key
Browse files Browse the repository at this point in the history
  • Loading branch information
0xdev22 committed Apr 25, 2024
1 parent 2880e7b commit 78c821b
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 25 deletions.
16 changes: 8 additions & 8 deletions internal/controllers/user_integrations_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ func (udc *UserDevicesController) GetUserDeviceIntegration(c *fiber.Ctx) error {
CreatedAt: apiIntegration.CreatedAt,
}

// Handle fetching virtual token status
// Handle fetching virtual key status
intd, err := udc.DeviceDefSvc.GetIntegrationByID(c.Context(), integrationID)
if err != nil {
return shared.GrpcErrorToFiber(err, "invalid integration id")
Expand All @@ -93,21 +93,21 @@ func (udc *UserDevicesController) GetUserDeviceIntegration(c *fiber.Ctx) error {
if !apiIntegration.ExternalID.Valid || !apiIntegration.AccessToken.Valid || !apiIntegration.R.UserDevice.VinConfirmed || !apiIntegration.R.UserDevice.VinIdentifier.Valid {
return fiber.NewError(fiber.StatusFailedDependency, "missing device or integration details")
}
isConnected, err := udc.getDeviceVirtualTokenStatus(c.Context(), meta.TeslaRegion, apiIntegration)

isConnected, err := udc.getDeviceVirtualKeyStatus(c.Context(), meta.TeslaRegion, apiIntegration)
if err != nil {
return fiber.NewError(fiber.StatusFailedDependency, fmt.Sprintf("error checking verifying tesla connection status %s", err.Error()))
}

resp.Tesla = &TeslaConnectionStatus{
IsVirtualTokenConnected: isConnected,
IsVirtualKeyConnected: isConnected,
}
}

return c.JSON(resp)
}

func (udc *UserDevicesController) getDeviceVirtualTokenStatus(ctx context.Context, region string, integration *models.UserDeviceAPIIntegration) (bool, error) {
func (udc *UserDevicesController) getDeviceVirtualKeyStatus(ctx context.Context, region string, integration *models.UserDeviceAPIIntegration) (bool, error) {
accessTk, err := udc.cipher.Decrypt(integration.AccessToken.String)
if err != nil {
return false, fmt.Errorf("couldn't decrypt access token: %w", err)
Expand Down Expand Up @@ -151,7 +151,7 @@ func (udc *UserDevicesController) getDeviceVirtualTokenStatus(ctx context.Contex
accessTk = auth.AccessToken
}

isConnected, err := udc.teslaFleetAPISvc.VirtualTokenConnectionStatus(ctx, accessTk, region, integration.R.UserDevice.VinIdentifier.String)
isConnected, err := udc.teslaFleetAPISvc.VirtualKeyConnectionStatus(ctx, accessTk, region, integration.R.UserDevice.VinIdentifier.String)
if err != nil {
return false, fiber.NewError(fiber.StatusFailedDependency, err.Error())
}
Expand Down Expand Up @@ -2168,8 +2168,8 @@ type RegisterDeviceIntegrationRequest struct {
}

type TeslaConnectionStatus struct {
// Status of the virtual token connection
IsVirtualTokenConnected bool `json:"isVirtualTokenConnected"`
// Status of the virtual key connection
IsVirtualKeyConnected bool `json:"isVirtualKeyConnected"`
}

type GetUserDeviceIntegrationResponse struct {
Expand Down
8 changes: 4 additions & 4 deletions internal/controllers/user_integrations_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1100,7 +1100,7 @@ func (s *UserIntegrationsControllerTestSuite) TestGetUserDeviceIntegration() {
s.Require().NoError(err)

s.deviceDefSvc.EXPECT().GetIntegrationByID(gomock.Any(), integration.Id).Return(integration, nil)
s.teslaFleetAPISvc.EXPECT().VirtualTokenConnectionStatus(gomock.Any(), accessTk, region, ud.VinIdentifier.String).Return(true, nil)
s.teslaFleetAPISvc.EXPECT().VirtualKeyConnectionStatus(gomock.Any(), accessTk, region, ud.VinIdentifier.String).Return(true, nil)

request := test.BuildRequest(http.MethodGet, fmt.Sprintf("/user/devices/%s/integrations/%s", ud.ID, integration.Id), "")
res, err := s.app.Test(request, 60*1000)
Expand All @@ -1114,7 +1114,7 @@ func (s *UserIntegrationsControllerTestSuite) TestGetUserDeviceIntegration() {
actual := GetUserDeviceIntegrationResponse{}
s.Require().NoError(json.Unmarshal(body, &actual))

s.Assert().True(actual.Tesla.IsVirtualTokenConnected)
s.Assert().True(actual.Tesla.IsVirtualKeyConnected)
s.Assert().Equal(models.UserDeviceAPIIntegrationStatusActive, actual.Status)
s.Assert().Equal(extID, actual.ExternalID.String)
}
Expand Down Expand Up @@ -1190,7 +1190,7 @@ func (s *UserIntegrationsControllerTestSuite) TestGetUserDeviceIntegration_Refre
s.Require().NoError(err)

s.deviceDefSvc.EXPECT().GetIntegrationByID(gomock.Any(), integration.Id).Return(integration, nil)
s.teslaFleetAPISvc.EXPECT().VirtualTokenConnectionStatus(gomock.Any(), accessTk, region, ud.VinIdentifier.String).Return(true, nil)
s.teslaFleetAPISvc.EXPECT().VirtualKeyConnectionStatus(gomock.Any(), accessTk, region, ud.VinIdentifier.String).Return(true, nil)

s.teslaTaskService.EXPECT().UpdateCredentials(&deviceIntegrationCredentialsMatcher{
accessToken: encAccessTk,
Expand All @@ -1211,7 +1211,7 @@ func (s *UserIntegrationsControllerTestSuite) TestGetUserDeviceIntegration_Refre
actual := GetUserDeviceIntegrationResponse{}
s.Assert().NoError(json.Unmarshal(body, &actual))

s.Assert().True(actual.Tesla.IsVirtualTokenConnected)
s.Assert().True(actual.Tesla.IsVirtualKeyConnected)
s.Assert().Equal(models.UserDeviceAPIIntegrationStatusActive, actual.Status)
s.Assert().Equal(extID, actual.ExternalID.String)

Expand Down
12 changes: 6 additions & 6 deletions internal/services/mocks/tesla_fleet_api_service_mock.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions internal/services/tesla_fleet_api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ type TeslaFleetAPIService interface {
GetVehicle(ctx context.Context, token, region string, vehicleID int) (*TeslaVehicle, error)
WakeUpVehicle(ctx context.Context, token, region string, vehicleID int) error
GetAvailableCommands() *UserDeviceAPIIntegrationsMetadataCommands
VirtualTokenConnectionStatus(ctx context.Context, token, region, vin string) (bool, error)
VirtualKeyConnectionStatus(ctx context.Context, token, region, vin string) (bool, error)
RefreshToken(ctx context.Context, refreshToken string) (*TeslaAuthCodeResponse, error)
}

Expand Down Expand Up @@ -55,11 +55,11 @@ type TeslaAuthCodeResponse struct {
Region string `json:"region"`
}

type VirtualTokenConnectionStatusResponse struct {
Response VirtualTokenConnectionStatus `json:"response"`
type VirtualKeyConnectionStatusResponse struct {
Response VirtualKeyConnectionStatus `json:"response"`
}

type VirtualTokenConnectionStatus struct {
type VirtualKeyConnectionStatus struct {
UnpairedVins []string `json:"unpaired_vins"`
KeyPairedVins []string `json:"key_paired_vins"`
}
Expand Down Expand Up @@ -179,8 +179,8 @@ func (t *teslaFleetAPIService) GetAvailableCommands() *UserDeviceAPIIntegrations
}
}

// VirtualTokenConnectionStatus Checks whether vehicles can accept Tesla commands protocol for the partner's public key
func (t *teslaFleetAPIService) VirtualTokenConnectionStatus(ctx context.Context, token, region, vin string) (bool, error) {
// VirtualKeyConnectionStatus Checks whether vehicles can accept Tesla commands protocol for the partner's public key
func (t *teslaFleetAPIService) VirtualKeyConnectionStatus(ctx context.Context, token, region, vin string) (bool, error) {
baseURL := fmt.Sprintf(t.Settings.TeslaFleetURL, region)
url := fmt.Sprintf("%s/api/1/vehicles/fleet_status", baseURL)

Expand All @@ -199,7 +199,7 @@ func (t *teslaFleetAPIService) VirtualTokenConnectionStatus(ctx context.Context,
return false, fmt.Errorf("could not verify connection status %w", err)
}

var v VirtualTokenConnectionStatusResponse
var v VirtualKeyConnectionStatusResponse
err = json.Unmarshal(bd, &v)
if err != nil {
return false, fmt.Errorf("error occurred decoding connection status %w", err)
Expand Down

0 comments on commit 78c821b

Please sign in to comment.