storage

package
v0.0.0-...-64a6794 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BucketStations   = "stations"
	BucketStatuses   = "statuses"
	BucketStatistics = "statistics"
)

Variables

View Source
var (

	// UnknownStates lists unknown elevator states that may be ignored.
	UnknownStates = map[string]bool{
		"Inconnu ce jour":            true,
		"Information non disponible": true}
)

Functions

func GetDatabase

func GetDatabase() (*grocksdb.DB, error)

func LastKeyOfBucket

func LastKeyOfBucket(parts ...string) []byte

func MakeKey

func MakeKey(parts ...string) []byte

Types

type Coordinates

type Coordinates struct {
	Latitude  float64
	Longitude float64
}

type Elevator

type Elevator struct {
	ID        string `json:"id"`
	Situation string `json:"situation"`
	Direction string `json:"direction"`

	Status *Status `json:"status"`
	// contains filtered or unexported fields
}

func (*Elevator) GetLastStatus

func (elevator *Elevator) GetLastStatus() *Status

func (*Elevator) GetStation

func (elevator *Elevator) GetStation() *Station

func (*Elevator) NewStatus

func (elevator *Elevator) NewStatus(description string, date string) (*Status, error)

func (*Elevator) NewViaNavigoStatus

func (elevator *Elevator) NewViaNavigoStatus(state string, updateStr string, forecastStr string) (*Status, error)

type ElevatorState

type ElevatorState struct {
	Elevator string    `json:"elevator"`
	State    string    `json:"state"`
	Begin    time.Time `json:"begin"`
	End      time.Time `json:"end"`
}

type Line

type Line struct {
	Network string `json:"network"`
	ID      string `json:"id"`

	LastUpdate time.Time `json:"lastupdate"`
	// contains filtered or unexported fields
}

func NewLine

func NewLine(network, id, code string) *Line

func (*Line) BadStations

func (line *Line) BadStations() []*Station

func (*Line) GetStations

func (line *Line) GetStations() []*Station

func (*Line) GetURL

func (line *Line) GetURL() *url.URL

func (*Line) GoodStations

func (line *Line) GoodStations() []*Station

type Station

type Station struct {
	DisplayName  string      `json:"displayname"`
	Name         string      `json:"name"`
	City         string      `json:"city"`
	Position     Coordinates `json:"position"`
	OsmID        string      `json:"osmid"`
	Lines        []*Line     `json:"lines"`
	Elevators    []*Elevator `json:"elevators"`
	Code         string      `json:"code"`
	HasElevators bool        `json:"haselevators"`
	LastUpdate   time.Time   `json:"lastupdate"`
}

func NewRampStation

func NewRampStation(name, city string) *Station

func NewStation

func NewStation(name, city, code string) *Station

func (*Station) AttachLine

func (station *Station) AttachLine(line *Line)

func (*Station) Available

func (station *Station) Available() bool

func (*Station) GetElevators

func (station *Station) GetElevators() []*Elevator

func (*Station) LastElevatorUpdate

func (station *Station) LastElevatorUpdate() time.Time

func (*Station) NewElevator

func (station *Station) NewElevator(id, situation, direction string) *Elevator

type Status

type Status struct {
	State      string     `json:"state"`
	LastUpdate time.Time  `json:"lastupdate"`
	Forecast   *time.Time `json:"forecast"`
	// contains filtered or unexported fields
}

func (*Status) ToStorage

func (s *Status) ToStorage() *StatusStorage

type StatusStorage

type StatusStorage struct {
	ElevatorID string     `json:"elevatorid"`
	LastUpdate time.Time  `json:"lastupdate"`
	State      string     `json:"state"`
	Forecast   *time.Time `json:"forecast,omitempty"`
}

Jump to

Keyboard shortcuts

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