storage

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2020 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UpdateStatuses

func UpdateStatuses(ctx context.Context, addresses []net.HardwareAddr, d Devices, u Users) error

UpdateStatuses set online user fields, with any device's MAC equal to one of addresses from given slice, to true and writes them to database.

Types

type Devices

type Devices interface {
	New(ctx context.Context, userID int, d models.Device) (int, error)
	OfUser(ctx context.Context, userID int) ([]models.Device, error)
	Read(ctx context.Context, id int) (*models.Device, error)
	All(ctx context.Context) ([]models.Device, error)
	Update(ctx context.Context, d models.Device) error
	Remove(ctx context.Context, id int) error
}

type Factory

type Factory interface {
	Users() Users
	Devices() Devices
}

Factory returns interfaces specific to stored data.

type Users

type Users interface {
	// New stores given user data in database and returns
	// assigned id.
	New(ctx context.Context, u models.User) (int, error)
	Read(ctx context.Context, id int) (*models.User, error)
	All(ctx context.Context) ([]models.User, error)
	Update(ctx context.Context, u models.User) error
	UpdateMany(ctx context.Context, u []models.User) error
	Remove(ctx context.Context, id int) error
}

Users interface handles generic create, read, update and delete operations on users data.

Directories

Path Synopsis
errors package for storage errors.
errors package for storage errors.
Package memory implements storage interfaces for bolt key-value store database.
Package memory implements storage interfaces for bolt key-value store database.
Package mock implements storage interfaces that can be used in unit tests or for running long-season with volatile data storage.
Package mock implements storage interfaces that can be used in unit tests or for running long-season with volatile data storage.

Jump to

Keyboard shortcuts

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