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) (*DrivlyVINResponse, error)
}
func NewDrivlyAPIService ¶ added in v0.6.8
func NewDrivlyAPIService(settings *config.Settings) DrivlyAPIService
type DrivlyVINResponse ¶ added in v0.8.5
type DrivlyVINResponse 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"` }
func (*DrivlyVINResponse) GetExternalID ¶ added in v0.8.5
func (vir *DrivlyVINResponse) GetExternalID() string
GetExternalID builds something we can use as an external ID that is drivly specific, at the MMY level (not for style)
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 VincarioAPIService ¶ added in v0.7.9
type VincarioAPIService interface {
DecodeVIN(vin string) (*VincarioInfoResponse, error)
}
func NewVincarioAPIService ¶ added in v0.7.9
func NewVincarioAPIService(settings *config.Settings, log *zerolog.Logger) VincarioAPIService
type VincarioInfoResponse ¶ added in v0.7.9
type VincarioInfoResponse struct { VIN string `key:"VIN"` VehicleID int `key:"Vehicle ID"` Make string `key:"Make"` Model string `key:"Model"` ModelYear int `key:"Model Year"` ProductType string `key:"Product Type"` Body string `key:"Body"` Series string `key:"Series"` Drive string `key:"Drive"` EngineDisplacement int `key:"Engine Displacement (ccm)"` FuelType string `key:"Fuel Type - Primary"` EngineCode string `key:"Engine Code"` Transmission string `key:"Transmission"` NumberOfGears int `key:"Number of Gears"` EmissionStandard string `key:"Emission Standard"` PlantCountry string `key:"Plant Country"` ProductionStopped int `key:"Production Stopped"` EngineManufacturer string `key:"Engine Manufacturer"` EngineType string `key:"Engine Type"` AverageCO2Emission float64 `key:"Average CO2 Emission (g/km)"` NumberOfWheels int `key:"Number Wheels"` NumberOfAxles int `key:"Number of Axles"` NumberOfDoors int `key:"Number of Doors"` FrontBrakes string `key:"Front Brakes"` RearBrakes string `key:"Rear Brakes"` BrakeSystem string `key:"Brake System"` SteeringType string `key:"Steering Type"` WheelSize string `key:"Wheel Size"` WheelSizeArray []string `key:"Wheel Size Array"` Wheelbase int `key:"Wheelbase (mm)"` WheelbaseArray []int `key:"Wheelbase Array (mm)"` Height int `key:"Height (mm)"` Length int `key:"Length (mm)"` Width int `key:"Width (mm)"` RearOverhang int `key:"Rear Overhang (mm)"` FrontOverhang int `key:"Front Overhang (mm)"` TrackFront int `key:"Track Front (mm)"` TrackRear int `key:"Track Rear (mm)"` MaxSpeed int `key:"Max Speed (km/h)"` WeightEmpty int `key:"Weight Empty (kg)"` MaxWeight int `key:"Max Weight (kg)"` MaxRoofLoad int `key:"Max roof load (kg)"` TrailerLoadWithoutBrakes int `key:"Permitted trailer load without brakes (kg)"` CheckDigit string `key:"Check Digit"` SequentialNumber string `key:"Sequential Number"` }
func (*VincarioInfoResponse) GetStyle ¶ added in v0.7.9
func (v *VincarioInfoResponse) GetStyle() string
GetStyle returns a standard style string built from the data we have
func (*VincarioInfoResponse) GetSubModel ¶ added in v0.7.9
func (v *VincarioInfoResponse) GetSubModel() string
GetSubModel returns the Body type from Vincario, which we can use as the sub model.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.