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
- 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]
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]