Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
62
pkg/common/charge_settings.go
Normal file
62
pkg/common/charge_settings.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package common
|
||||
|
||||
import "time"
|
||||
|
||||
type OffPeakCharging struct {
|
||||
Start time.Time `json:"start" validate:"required"`
|
||||
End time.Time `json:"end" validate:"required"`
|
||||
}
|
||||
|
||||
type MobileChargeSetting struct {
|
||||
VIN string `json:"vin" validate:"required,vin"`
|
||||
ChargeSettings ChargeSettings `json:"charge_settings" validate:"required"`
|
||||
}
|
||||
|
||||
func (m *MobileChargeSetting) GetVIN() string {
|
||||
return m.VIN
|
||||
}
|
||||
|
||||
func (m *MobileChargeSetting) GetPayload() interface{} {
|
||||
return m.ChargeSettings
|
||||
}
|
||||
|
||||
func (m *MobileChargeSetting) SetVIN(vin string) {
|
||||
m.VIN = vin
|
||||
}
|
||||
|
||||
func (m *MobileChargeSetting) SetPayload(payload interface{}) error {
|
||||
var ok bool
|
||||
m.ChargeSettings, ok = payload.(ChargeSettings)
|
||||
if !ok {
|
||||
return ErrInvalidType
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type TRexChargeSettings = ChargeSettings
|
||||
|
||||
type ChargeSettings struct {
|
||||
ChargeLimit int `json:"charge_limit" validate:"required"`
|
||||
MaxCurrent int `json:"max_current" validate:"required"`
|
||||
MinCharge *int `json:"min_charge,omitempty"`
|
||||
OffPeakCharging *OffPeakCharging `json:"off_peak_charging,omitempty"`
|
||||
}
|
||||
|
||||
func (m *TRexChargeSettings) SetPayload(payload interface{}) error {
|
||||
var ok bool
|
||||
*m, ok = payload.(ChargeSettings)
|
||||
if !ok {
|
||||
return ErrInvalidType
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *TRexChargeSettings) GetMessage() interface{} {
|
||||
return m
|
||||
}
|
||||
|
||||
func (m *TRexChargeSettings) GetPayload() interface{} {
|
||||
return *m
|
||||
}
|
||||
Reference in New Issue
Block a user