Documentation
¶
Index ¶
- type DeviceConfigController
- func (d *DeviceConfigController) GetConfigStatusByEthAddr(c *fiber.Ctx) error
- func (d *DeviceConfigController) GetConfigURLsFromEthAddr(c *fiber.Ctx) error
- func (d *DeviceConfigController) GetConfigURLsFromVIN(c *fiber.Ctx) error
- func (d *DeviceConfigController) GetDBCFileByTemplateName(c *fiber.Ctx) error
- func (d *DeviceConfigController) GetDeviceSettingsByName(c *fiber.Ctx) error
- func (d *DeviceConfigController) GetPIDsByTemplate(c *fiber.Ctx) error
- func (d *DeviceConfigController) PatchConfigStatusByEthAddr(c *fiber.Ctx) error
- func (d *DeviceConfigController) PatchHwConfigStatusByEthAddr(c *fiber.Ctx) error
- func (d *DeviceConfigController) PatchRuptelaConfigStatusByEthAddr(c *fiber.Ctx) error
- type DeviceTemplateStatusPatch
- type DeviceTemplateStatusResponse
- type JobResponse
- type JobsController
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceConfigController ¶
type DeviceConfigController struct {
// contains filtered or unexported fields
}
func NewDeviceConfigController ¶
func NewDeviceConfigController(settings *config.Settings, logger *zerolog.Logger, dbs func() *db.ReaderWriter, userDeviceSvc services.UserDevicesService, deviceDefSvc services.DeviceDefinitionsService, deviceTemplateService services.DeviceTemplateService, identityAPI gateways.IdentityAPI) DeviceConfigController
NewDeviceConfigController constructor
func (*DeviceConfigController) GetConfigStatusByEthAddr ¶ added in v0.7.1
func (d *DeviceConfigController) GetConfigStatusByEthAddr(c *fiber.Ctx) error
GetConfigStatusByEthAddr godoc @Description Helps client determine if template (pids, dbc, settings) are up to date or not for the device with the given eth addr. @Tags device-config @Produce json @Success 200 {object} DeviceTemplateStatusResponse "Successfully retrieved configuration URLs" @Failure 404 "Not Found - we haven't seen this device yet, assume template not up to date" @Failure 400 "incorrect eth addr format" @Param ethAddr path string true "Ethereum Address" @Router /device-config/eth-addr/{ethAddr}/status [get]
func (*DeviceConfigController) GetConfigURLsFromEthAddr ¶ added in v0.3.2
func (d *DeviceConfigController) GetConfigURLsFromEthAddr(c *fiber.Ctx) error
GetConfigURLsFromEthAddr godoc @Description Retrieve the URLs for PID, DeviceSettings, and DBC configuration based on device's Ethereum Address. These could be empty if not configs available @Tags device-config @Produce json @Success 200 {object} device.ConfigResponse "Successfully retrieved configuration URLs" @Failure 404 "Not Found - No templates available for the given parameters" @Failure 400 "incorrect eth addr format" @Param ethAddr path string true "Ethereum Address" @Param protocol query string false "CAN Protocol, '6' or '7'" @Router /device-config/eth-addr/{ethAddr}/urls [get]
func (*DeviceConfigController) GetConfigURLsFromVIN ¶ added in v0.3.2
func (d *DeviceConfigController) GetConfigURLsFromVIN(c *fiber.Ctx) error
GetConfigURLsFromVIN godoc @Description Retrieve the URLs for PID, DeviceSettings, and DBC configuration based on a given VIN. These could be empty if not configs available @Tags device-config @Produce json @Success 200 {object} device.ConfigResponse "Successfully retrieved configuration URLs" @Failure 404 "Not Found - No templates available for the given parameters" @Param vin path string true "vehicle identification number (VIN)" @Param protocol query string false "CAN Protocol, '6' or '7', 8,9,66,77,88,99" @Router /device-config/vin/{vin}/urls [get]
func (*DeviceConfigController) GetDBCFileByTemplateName ¶
func (d *DeviceConfigController) GetDBCFileByTemplateName(c *fiber.Ctx) error
GetDBCFileByTemplateName godoc @Description Fetches the DBC file from the dbc_files table given a template name. Will get all the parent dbc files as well and meld them together @Tags device-config @Produce plain @Success 200 {string} string "Successfully retrieved DBC file" @Failure 404 "No DBC file found for the given template name." @Param templateName path string true "template name" @Router /device-config/dbc/{templateName} [get]
func (*DeviceConfigController) GetDeviceSettingsByName ¶ added in v0.6.4
func (d *DeviceConfigController) GetDeviceSettingsByName(c *fiber.Ctx) error
GetDeviceSettingsByName godoc @Description Fetches the device settings configurations from device_settings table given a name. Note that device settings mostly only vary by powertrain and @Description may or may not be attached to a specific template. To return protobuf: "application/x-protobuf" @Description Note that the templateName returned here is actually the device setting name @Tags device-config @Produce json @Produce application/x-protobuf @Success 200 {object} grpc.DeviceSetting "Successfully retrieved Device Settings" @Failure 404 "No Device Settings data found for the given name." @Param name path string true "name" @Router /device-config/settings/{name} [get]
func (*DeviceConfigController) GetPIDsByTemplate ¶
func (d *DeviceConfigController) GetPIDsByTemplate(c *fiber.Ctx) error
GetPIDsByTemplate godoc @Description Retrieves a list of PID configurations from the database given a template name @Tags device-config @Produce json @Produce application/x-protobuf @Success 200 {object} grpc.PIDRequests "Successfully retrieved PID Configurations" @Failure 404 "No PID Config data found for the given template name." @Param templateName path string true "template name" @Router /device-config/pids/{templateName} [get]
func (*DeviceConfigController) PatchConfigStatusByEthAddr ¶ added in v0.7.1
func (d *DeviceConfigController) PatchConfigStatusByEthAddr(c *fiber.Ctx) error
PatchConfigStatusByEthAddr godoc @Description Set what template and/or firmware was applied. None of the properties are required. Will not be set if not passed in. @Tags device-config @Produce json @Success 200 "Successfully updated" @Failure 500 "unable to parse request or storage failure" @Param ethAddr path string true "Ethereum Address" @Param config body DeviceTemplateStatusPatch true "set any properties that were updated on the device" @Security BearerAuth @Router /device-config/eth-addr/{ethAddr}/status [patch]
func (*DeviceConfigController) PatchHwConfigStatusByEthAddr ¶ added in v0.10.0
func (d *DeviceConfigController) PatchHwConfigStatusByEthAddr(c *fiber.Ctx) error
PatchHwConfigStatusByEthAddr godoc @Description Set what template and/or firmware was applied. None of the properties are required. Will not be set if not passed in. Endpoint is meant only for hardware devices self-reporting their template update. @Tags device-config @Produce json @Success 200 "Successfully updated" @Failure 500 "unable to parse request or storage failure" @Param ethAddr path string true "Ethereum Address" @Param config body DeviceTemplateStatusPatch true "set any properties that were updated on the device" @Security SignatureAuth @Router /device-config/eth-addr/{ethAddr}/hw/status [patch]
func (*DeviceConfigController) PatchRuptelaConfigStatusByEthAddr ¶ added in v0.10.27
func (d *DeviceConfigController) PatchRuptelaConfigStatusByEthAddr(c *fiber.Ctx) error
PatchRuptelaConfigStatusByEthAddr godoc @Description Set only by Ruptela device on what firmware was applied. None of the properties are required. Will not be set if not passed in. Endpoint is meant only for Ruptela hardware devices self-reporting their template update. @Tags device-config @Produce json @Success 200 "Successfully updated" @Failure 500 "unable to parse request or storage failure" @Param ethAddr path string true "Ethereum Address" @Param config body object true "set any properties that were updated on the device" @Security SignatureAuth @Router /device-config/eth-addr/{ethAddr}/ruptela/status [patch]
type DeviceTemplateStatusPatch ¶ added in v0.7.1
type DeviceTemplateStatusPatch struct { device.ConfigResponse // FirmwareVersionApplied version of firmware that was confirmed installed on device FirmwareVersionApplied string `json:"firmwareVersionApplied"` // PidsURL exists for backwards compatibility // Deprecated PidsURL string `json:"pidsUrl"` // SettingsUrl exists for backwards compatibiltiy // Deprecated SettingsURL string `json:"settingsUrl"` }
type DeviceTemplateStatusResponse ¶ added in v0.7.1
type DeviceTemplateStatusResponse struct { // IsTemplateUpToDate based on information we have, based on what was set last by mobile app IsTemplateUpToDate bool `json:"isTemplateUpToDate"` FirmwareVersion string `json:"firmwareVersion,omitempty"` IsFirmwareUpToDate bool `json:"isFirmwareUpToDate"` // Template contains the current urls server has for this device Template device.ConfigResponse `json:"template"` }
DeviceTemplateStatusResponse status on template and firmware versions
type JobResponse ¶ added in v0.6.2
type JobsController ¶ added in v0.6.2
type JobsController struct {
// contains filtered or unexported fields
}
func NewJobsController ¶ added in v0.6.2
func NewJobsController(settings *config.Settings, logger *zerolog.Logger, database *sql.DB, userDeviceSvc services.UserDevicesService, deviceDefSvc services.DeviceDefinitionsService) JobsController
NewJobsController constructor
func (*JobsController) GetJobsFromEthAddr ¶ added in v0.6.2
func (d *JobsController) GetJobsFromEthAddr(c *fiber.Ctx) error
GetJobsFromEthAddr godoc @Description Retrieve the jobs based on device's Ethereum Address. @Tags vehicle-signal-decoding @Produce json @Success 200 {object} JobResponse "Successfully retrieved jobs" @Failure 400 "incorrect eth addr format" @Param ethAddr path string false "Ethereum Address" @Router /device-config/eth-addr/{ethAddr}/jobs [get]
func (*JobsController) GetJobsPendingFromEthAddr ¶ added in v0.6.2
func (d *JobsController) GetJobsPendingFromEthAddr(c *fiber.Ctx) error
GetJobsPendingFromEthAddr godoc @Description Retrieve the jobs based on device's Ethereum Address. @Tags vehicle-signal-decoding @Produce json @Success 200 {object} JobResponse "Successfully retrieved jobs" @Failure 400 "incorrect eth addr format" @Param ethAddr path string false "Ethereum Address" @Router /device-config/eth-addr/{ethAddr}/jobs/pending [get]
func (*JobsController) PatchJobsFromEthAddr ¶ added in v0.6.2
func (d *JobsController) PatchJobsFromEthAddr(c *fiber.Ctx) error
PatchJobsFromEthAddr godoc @Description Path job status based on device's Ethereum Address. @Tags vehicle-signal-decoding @Produce json @Success 200 @Failure 404 "Not Found - No job found with id" @Failure 400 "incorrect eth addr format" @Param ethAddr path string false "Ethereum Address" @Param jobId path string false "Job ID" @Param status path string false "Status to set" @Router /device-config/eth-addr/{ethAddr}/jobs/{jobId}/{status} [patch]