Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

32
pkg/common/ecu_stat.go Normal file
View File

@@ -0,0 +1,32 @@
package common
// ECUStat describes ecu stat received from clickhouse.
type ECUStat struct {
ECUName string `json:"ecu_name" ch:"ecu_name"`
IncorrectValues uint64 `json:"signals_w_incorrect_values" ch:"signals_w_incorrect_values"`
AllZero uint64 `json:"signals_all_zero" ch:"signals_all_zero"`
ECUSignalsTotal uint64 `json:"number_of_ecu_signals" ch:"number_of_ecu_signals"`
SignalsTotal uint64 `json:"total_signal_records" ch:"total_signal_records"`
IncorrectPercent float64 `json:"incorrect_val_signal_pct" ch:"incorrect_val_signal_pct"`
ZeroPercent float64 `json:"zero_signals_pct" ch:"zero_signals_pct"`
}
// StatsFilter is expected to be used for stats request.
type StatsFilter struct {
MinOutOfRangePct float32 `validate:"required" json:"min_out_of_range_pct"`
MinZeroPct float32 `validate:"required" json:"min_zero_pct"`
Hours int `validate:"required" json:"hours"`
VINs []string `validate:"required,min=1,dive,vin" json:"vins"`
DBCs []string `validate:"required,min=1" json:"dbcs"`
ECUs []string `validate:"required,min=1" json:"ecus"`
}
// VINStatsFilter is expected to be used for stats request for a specific vehicle.
type VINStatsFilter struct {
MinOutOfRangePct float32 `validate:"required" json:"min_out_of_range_pct"`
MinZeroPct float32 `validate:"required" json:"min_zero_pct"`
Hours int `validate:"required" json:"hours"`
VIN string `validate:"required,vin" json:"-"`
DBC string `validate:"required" json:"-"`
ECUs []string `validate:"required,min=1" json:"ecus"`
}