model

package
v0.0.0-...-73c6684 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alarm

type Alarm struct {
	gorm.Model
	AutomaticAlarmActivation bool
	ConfigurationID          uint
}

type Camera

type Camera struct {
	gorm.Model
	Name            string
	Type            CameraType `sql:"not null;type:ENUM('foscam', 'adj', 'microcam', 'sv3c', 'iframe')"`
	Host            string
	Port            uint
	Url             string `gorm:"-"`
	Username        string
	Password        string
	Enabled         bool
	AlarmEnabled    bool
	ConfigurationID uint
}

type CameraType

type CameraType string
const (
	Foscam   CameraType = "foscam"
	ADJ      CameraType = "adj"
	Microcam CameraType = "microcam"
	SV3C     CameraType = "sv3c"
	IFrame   CameraType = "iframe"
)

func (*CameraType) Scan

func (u *CameraType) Scan(value interface{}) error

func (CameraType) Value

func (u CameraType) Value() (driver.Value, error)

type Configuration

type Configuration struct {
	gorm.Model
	Name        string
	Profile     Profile
	Gate        Gate
	Raspsonar   Raspsonar
	Temperature Temperature
	Slack       Slack
	Alarm       Alarm
	Cameras     []Camera
	WellPumps   []WellPump
	RainGauge   RainGauge
	Humidity    Humidity
	Heater      Heater
	Inverters   []Inverter
	PowerMeter  PowerMeter
	Relays      []Relay
}

type Gate

type Gate struct {
	gorm.Model
	Host            string  `binding:"required"`
	Port            uint    `binding:"required"`
	Duration        float32 `binding:"required"`
	ConfigurationID uint
}

type Heater

type Heater struct {
	gorm.Model
	Host            string `binding:"required"`
	Port            uint   `binding:"required"`
	ConfigurationID uint
}

type Humidity

type Humidity struct {
	gorm.Model
	Host            string `binding:"required"`
	Port            uint   `binding:"required"`
	ConfigurationID uint
}

type Inverter

type Inverter struct {
	gorm.Model
	Name            string `binding:"required"`
	Host            string `binding:"required"`
	Port            uint   `binding:"required"`
	ConfigurationID uint
}

type PowerMeter

type PowerMeter struct {
	gorm.Model
	Host             string  `binding:"required"`
	Port             uint    `binding:"required"`
	Voltage          float64 `binding:"required"`
	AdjustmentFactor float64 `binding:"required"`
	ConfigurationID  uint
}

type Profile

type Profile struct {
	gorm.Model
	FirstName       string `binding:"required"`
	LastName        string `binding:"required"`
	Password        string
	Username        string `binding:"required"`
	ConfigurationID uint
}

type RainGauge

type RainGauge struct {
	gorm.Model
	Host            string `binding:"required"`
	Port            uint   `binding:"required"`
	ConfigurationID uint
}

type Raspsonar

type Raspsonar struct {
	gorm.Model
	Host                          string  `binding:"required"`
	Port                          uint    `binding:"required"`
	SonarName                     string  `binding:"required"`
	RelayName                     string  `binding:"required"`
	DistanceThreshold             float64 `binding:"required"`
	AutoPowerOffDistanceThreshold float64 `binding:"required"`
	ConfigurationID               uint
}

type Relay

type Relay struct {
	gorm.Model
	Name                       string `binding:"required"`
	Host                       string `binding:"required"`
	Port                       uint   `binding:"required"`
	Channels                   uint   `binding:"required"`
	ActivationIntervals        string
	AutomaticActivationEnabled bool
	ManuallyActivated          bool
	ConfigurationID            uint
}

type Slack

type Slack struct {
	gorm.Model
	NotificationChannel   string `binding:"required"`
	LocationChangeChannel string `binding:"required"`
	Token                 string `binding:"required"`
	LocationChangeUsers   string `binding:"required"`
	ConfigurationID       uint
}

func (Slack) GetLocationChangeUsersArray

func (s Slack) GetLocationChangeUsersArray() []string

type Temperature

type Temperature struct {
	gorm.Model
	Host            string `binding:"required"`
	Port            uint   `binding:"required"`
	ConfigurationID uint
}

type WellPump

type WellPump struct {
	gorm.Model
	Name                       string `binding:"required"`
	Host                       string `binding:"required"`
	Port                       uint   `binding:"required"`
	ActivationIntervals        string
	AutomaticActivationEnabled bool
	ManuallyActivated          bool
	RainfallThreshold          float64
	ConfigurationID            uint
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL