eldis

package module
v2.2.1-0...-6af2b40 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotConnected = errors.New("не установлено соединение")
	ErrConnected    = errors.New("соединение уже установлено")
)

Functions

This section is empty.

Types

type Archive

type Archive string

Archive типы архивов показаний

const (
	// CurrentValues текущие значения (электричество)
	CurrentValues Archive = "CurrentValues"

	// MinuteArchive минутный архив
	MinuteArchive Archive = "MinuteArchive"

	// HourArchive часовой архив (ХВС, ГВС, тепло, сточные воды, газ, электричество)
	HourArchive Archive = "HourArchive"

	// DailyArchive суточный архив (ХВС, ГВС, тепло, сточные воды, газ, электричество)
	DailyArchive Archive = "DailyArchive"

	// MonthLongArchive месячный архив (ХВС, ГВС, тепло, сточные воды, газ)
	MonthLongArchive Archive = "MonthLongArchive"

	// TotalCurrentValues итоговые текущие значения (электричество)
	TotalCurrentValues Archive = "TotalCurrentValues"

	// IntervalArchive интервальный архив
	IntervalArchive Archive = "IntervalArchive"

	// HalfHourArchive получасовой архив (электричество)
	HalfHourArchive Archive = "HalfHourArchive"

	// DecadeArchive декадный архив
	DecadeArchive Archive = "DecadeArchive"

	// CurrentArchived текущий архивируемый
	CurrentArchived Archive = "CurrentArchived"
)

type Connection

type Connection interface {
	// Open открывает соединение с API АИИС ЭЛДИС
	Open(ctx context.Context, url string, credentials Credentials) error

	// Close закрывает соединение с API АИИС ЭЛДИС
	Close(ctx context.Context) error

	// ListForDevelopment возвращает список доступных пользователю точек учета
	ListForDevelopment(ctx context.Context) ([]byte, error)

	// NormalizedReadings возвращает нормализованные показания точки учета, удовлетворяющие условиям
	NormalizedReadings(ctx context.Context, pointID string, archive Archive, from time.Time, to time.Time,
		dateType DateType) ([]byte, error)

	// RawReadings возвращает "сырые" показания точки учета, удовлетворяющие условиям
	RawReadings(ctx context.Context, pointID string, archive Archive, from time.Time, to time.Time) ([]byte, error)
}

Connection интерфейс соединения с API АИИС ЭЛДИС

func Connect

func Connect(ctx context.Context, url string, credentials Credentials, options ...ConnectionOption) (Connection, error)

Connect возвращает соединение с API АИИС ЭЛДИС

type ConnectionOption

type ConnectionOption func(conn *connection)

ConnectionOption опция соединения с API АИИС ЭЛДИС

func WithHTTPClient

func WithHTTPClient(client *http.Client) ConnectionOption

WithHTTPClient устанавливает пользовательский HTTP клиент

type Credentials

type Credentials struct {
	// Username имя пользователя
	Username string

	// Password пароль пользователя
	Password string

	// AccessToken токен доступа
	AccessToken string
}

Credentials параметры доступа к API АИИС ЭЛДИС

type DateType

type DateType string

DateType тип даты для поиска данных

const (
	// Date приборная дата архива
	Date DateType = "date"

	// DateOnEndOfArchive дата архива на конец часа
	DateOnEndOfArchive DateType = "dateOnEndOfArchive"

	// DateWithTimeBias дата архива на конец часа с учетом времени на приборе и часового пояса
	DateWithTimeBias DateType = "dateWithTimeBias"
)

type InternalServerError

type InternalServerError struct {
	*MethodCallError
}

InternalServerError внутренняя ошибка сервера API АИИС ЭЛДИС

func (*InternalServerError) Error

func (err *InternalServerError) Error() string

type MethodCallError

type MethodCallError struct {
	// RawURL URL метода API
	RawURL string

	// Method метод
	Method string

	// Err ошибка, которая возникла во время вызова метода
	Err error
}

MethodCallError ошибка вызова метода API АИИС ЭЛДИС

func (*MethodCallError) Error

func (err *MethodCallError) Error() string

type RemoteServerError

type RemoteServerError struct {
	// StatusCode код ошибки удаленного сервера
	StatusCode int
}

RemoteServerError ошибка сервера API АИИС ЭЛДИС

func (*RemoteServerError) Error

func (err *RemoteServerError) Error() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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