Documentation
¶
Index ¶
Constants ¶
View Source
const (
SmartCarVendor = "SmartCar"
)
Variables ¶
This section is empty.
Functions ¶
func ParseSmartCarYears ¶
ParseSmartCarYears parses out the years format in the smartcar document and returns an array of years
Types ¶
type DrivlyAPIService ¶ added in v0.6.8
type DrivlyAPIService interface {
GetVINInfo(vin string) (*VINInfoResponse, error)
}
func NewDrivlyAPIService ¶ added in v0.6.8
func NewDrivlyAPIService(settings *config.Settings) DrivlyAPIService
type IntegrationCapabilities ¶
type IntegrationCapabilities struct {
Location bool `json:"location"`
Odometer bool `json:"odometer"`
LockUnlock bool `json:"lock_unlock"`
EVBattery bool `json:"ev_battery"`
EVChargingStatus bool `json:"ev_charging_status"`
EVStartStopCharge bool `json:"ev_start_stop_charge"`
FuelTank bool `json:"fuel_tank"`
TirePressure bool `json:"tire_pressure"`
EngineOilLife bool `json:"engine_oil_life"`
VehicleAttributes bool `json:"vehicle_attributes"`
VIN bool `json:"vin"`
}
IntegrationCapabilities gets stored on the association table btw a device_definition and the integrations, device_integrations
type SmartCarCompatibilityData ¶
type SmartCarCompatibilityData struct {
ComponentChunkName string `json:"componentChunkName"`
Path string `json:"path"`
Result struct {
Data struct {
AllMakesTable struct {
Edges []struct {
Node struct {
CompatibilityData map[string][]struct {
Name string `json:"name"`
Headers []struct {
Text string `json:"text"`
Tooltip *string `json:"tooltip"`
} `json:"headers"`
Rows [][]struct {
Color *string `json:"color"`
Subtext *string `json:"subtext"`
Text *string `json:"text"`
Type *string `json:"type"`
VehicleType *string `json:"vehicleType"`
} `json:"rows"`
} `json:"compatibilityData"`
} `json:"node"`
} `json:"edges"`
} `json:"allMakesTable"`
} `json:"data"`
} `json:"result"`
}
type SmartCarService ¶
type SmartCarService interface {
GetOrCreateSmartCarIntegration(ctx context.Context) (string, error)
GetSmartCarVehicleData() (*SmartCarCompatibilityData, error)
}
func NewSmartCarService ¶
func NewSmartCarService(dbs func() *db.ReaderWriter, logger zerolog.Logger) SmartCarService
type VINInfoResponse ¶ added in v0.6.8
type VINInfoResponse struct {
Vin string `json:"vin"`
WindowSticker string `json:"windowSticker"`
Year string `json:"year"`
Make string `json:"make"`
Model string `json:"model"`
SubModel string `json:"subModel"`
Trim string `json:"trim"`
Generation int `json:"generation"`
SubGeneration int `json:"subGeneration"`
ManufacturerCode string `json:"manufacturerCode"`
Body string `json:"body"`
Style string `json:"style"`
Type string `json:"type"`
Drive string `json:"drive"`
Transmission string `json:"transmission"`
TransmissionDetails string `json:"transmissionDetails"`
Engine string `json:"engine"`
EngineDetails string `json:"engineDetails"`
Doors int `json:"doors"`
PaintColor string `json:"paintColor"`
PaintName string `json:"paintName"`
PaintCode string `json:"paintCode"`
Interior string `json:"interior"`
Options []string `json:"options"`
OptionCodes string `json:"optionCodes"`
MsrpBase int `json:"msrpBase"`
MsrpDiscount int `json:"msrpDiscount"`
MsrpOptions int `json:"msrpOptions"`
MsrpDelivery int `json:"msrpDelivery"`
Msrp int `json:"msrp"`
WarrantyBasicMonths int `json:"warrantyBasicMonths"`
WarrantyCorrosionMonths int `json:"warrantyCorrosionMonths"`
WarrantyEmissionsMonths int `json:"warrantyEmissionsMonths"`
WarrantyFullMonths int `json:"warrantyFullMonths"`
WarrantyFullMiles int `json:"warrantyFullMiles"`
WarrantyDrivetrainMonths int `json:"warrantyDrivetrainMonths"`
WarrantyPowertrainMonths int `json:"warrantyPowertrainMonths"`
WarrantyPowertrainMiles int `json:"warrantyPowertrainMiles"`
WarrantyRoadsideMonths int `json:"warrantyRoadsideMonths"`
WarrantyRoadsideMiles int `json:"warrantyRoadsideMiles"`
Wheelbase string `json:"wheelbase"`
Fuel string `json:"fuel"`
FuelTankCapacityGal float64 `json:"fuelTankCapacityGal"`
Mpg int `json:"mpg"`
MpgCity int `json:"mpgCity"`
MpgHighway int `json:"mpgHighway"`
LastOdometer int `json:"lastOdometer"`
LastOdometerDate string `json:"lastOdometerDate"`
EstimatedOdometer int `json:"estimatedOdometer"`
Salvage bool `json:"salvage"`
PreviousOwners int `json:"previousOwners"`
TotalLoss bool `json:"totalLoss"`
Branded bool `json:"branded"`
LastTitleState string `json:"lastTitleState"`
TitleIssueDate string `json:"titleIssueDate"`
TitleNumber string `json:"titleNumber"`
Confidence float64 `json:"confidence"`
VehicleHistory []string `json:"vehicleHistory"`
InstalledEquipment []string `json:"installedEquipment"`
Dimensions []string `json:"dimensions"`
}
Click to show internal directories.
Click to hide internal directories.