loader

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAftermarketDeviceByID added in v0.1.7

func GetAftermarketDeviceByID(ctx context.Context, id int) (*model.AftermarketDevice, error)

func GetAftermarketDeviceByVehicleID

func GetAftermarketDeviceByVehicleID(ctx context.Context, vehicleID int) (*model.AftermarketDevice, error)

func GetConnection added in v0.4.10

func GetConnection(ctx context.Context, integrationNode int, connectionID []byte) (*model.Connection, error)

GetConnection retrieves a connection based on either an integration node or connection id. Either the integrationNode is nonzero or the connectionID is length 32, but not both.

func GetDCNByVehicleID

func GetDCNByVehicleID(ctx context.Context, vehicleID int) (*gmodel.Dcn, error)

func GetManufacturerID

func GetManufacturerID(ctx context.Context, manufacturerID int) (*model.Manufacturer, error)

func GetStakeByVehicleID added in v0.4.0

func GetStakeByVehicleID(ctx context.Context, vehicleID int) (*model.Stake, error)

func GetStorageNodeByID added in v0.5.0

func GetStorageNodeByID(ctx context.Context, nodeID []byte) (*model.StorageNode, error)

GetStorageNodeByID uses the DataLoader pattern to retrieve information about a specific storage node. Here "id" is a bytes32, equal to keccak256(bytes(label)).

func GetSyntheticDeviceByID added in v0.1.7

func GetSyntheticDeviceByID(ctx context.Context, vehicleID int) (*gmodel.SyntheticDevice, error)

func GetSyntheticDeviceByVehicleID

func GetSyntheticDeviceByVehicleID(ctx context.Context, vehicleID int) (*gmodel.SyntheticDevice, error)

func GetVehicleByID

func GetVehicleByID(ctx context.Context, vehicleID int) (*model.Vehicle, error)

func Middleware

func Middleware(db db.Store, next http.Handler, settings config.Settings) http.Handler

Middleware injects a DataLoader into the request context so it can be used later in the schema resolvers

Types

type AftermarketDeviceLoader

type AftermarketDeviceLoader struct {
	// contains filtered or unexported fields
}

func NewAftermarketDeviceLoader added in v0.4.8

func NewAftermarketDeviceLoader(repo *aftermarket.Repository) *AftermarketDeviceLoader

func (*AftermarketDeviceLoader) BatchGetAftermarketDeviceByID added in v0.1.7

func (a *AftermarketDeviceLoader) BatchGetAftermarketDeviceByID(ctx context.Context, aftermarketDeviceIDs []int) []*dataloader.Result[*model.AftermarketDevice]

BatchGetAftermarketDeviceByID implements the dataloader for finding aftermarket devices by their ids and returns them in the order requested

func (*AftermarketDeviceLoader) BatchGetLinkedAftermarketDeviceByVehicleID

func (a *AftermarketDeviceLoader) BatchGetLinkedAftermarketDeviceByVehicleID(ctx context.Context, vehicleIDs []int) []*dataloader.Result[*model.AftermarketDevice]

BatchGetLinkedAftermarketDeviceByVehicleID implements the dataloader for finding aftermarket devices linked to vehicles and returns them in the order requested

type ConnectionLoader added in v0.4.10

type ConnectionLoader struct {
	// contains filtered or unexported fields
}

func NewConnectionLoader added in v0.4.10

func NewConnectionLoader(repo *connection.Repository) *ConnectionLoader

func (*ConnectionLoader) BatchGetConnectionsByIDs added in v0.4.10

func (c *ConnectionLoader) BatchGetConnectionsByIDs(ctx context.Context, queryKeys []ConnectionQueryKey) []*dataloader.Result[*model.Connection]

type ConnectionQueryKey added in v0.4.10

type ConnectionQueryKey struct {
	ConnectionID    [32]byte
	IntegrationNode int
}

type DCNLoader

type DCNLoader struct {
	// contains filtered or unexported fields
}

func NewDCNLoader added in v0.4.8

func NewDCNLoader(repo *dcn.Repository) *DCNLoader

func (*DCNLoader) BatchGetDCNByVehicleID

func (d *DCNLoader) BatchGetDCNByVehicleID(ctx context.Context, vehicleIDs []int) []*dataloader.Result[*gmodel.Dcn]

BatchGetDCNByVehicleID implements the dataloader for finding DCN linked to vehicles and returns them in the order requested

type Loaders

type Loaders struct {
	VehicleByID                  dataloader.Interface[int, *model.Vehicle]
	AftermarketDeviceByVehicleID dataloader.Interface[int, *model.AftermarketDevice]
	SyntheticDeviceByVehicleID   dataloader.Interface[int, *model.SyntheticDevice]
	DCNByVehicleID               dataloader.Interface[int, *model.Dcn]
	ManufacturerByID             dataloader.Interface[int, *model.Manufacturer]
	AftermarketDeviceByID        dataloader.Interface[int, *model.AftermarketDevice]
	SyntheticDeviceByID          dataloader.Interface[int, *model.SyntheticDevice]
	StakeByVehicleID             dataloader.Interface[int, *model.Stake]
	ConnectionByID               dataloader.Interface[ConnectionQueryKey, *model.Connection]
	StorageNodeByID              dataloader.Interface[[32]byte, *model.StorageNode]
}

func NewDataLoader

func NewDataLoader(dbs db.Store, settings config.Settings) *Loaders

NewDataLoader returns the instantiated Loaders struct for use in a request

type ManufacturerLoader

type ManufacturerLoader struct {
	// contains filtered or unexported fields
}

func NewManufacturerLoader added in v0.4.8

func NewManufacturerLoader(repo *manufacturer.Repository) *ManufacturerLoader

func (*ManufacturerLoader) BatchGetManufacturerByID

func (m *ManufacturerLoader) BatchGetManufacturerByID(ctx context.Context, manufacturerIDs []int) []*dataloader.Result[*model.Manufacturer]

type StakeLoader added in v0.4.0

type StakeLoader struct {
	// contains filtered or unexported fields
}

func NewStakeLoader added in v0.4.8

func NewStakeLoader(repo *stake.Repository) *StakeLoader

func (*StakeLoader) BatchGetLinkedStakesByVehicleID added in v0.4.0

func (s *StakeLoader) BatchGetLinkedStakesByVehicleID(ctx context.Context, vehicleIDs []int) []*dataloader.Result[*model.Stake]

type StorageNodeLoader added in v0.5.0

type StorageNodeLoader struct {
	// contains filtered or unexported fields
}

func NewStorageNodeLoader added in v0.5.0

func NewStorageNodeLoader(repo *storagenode.Repository) *StorageNodeLoader

func (*StorageNodeLoader) BatchGetStorageNodesByIDs added in v0.5.0

func (s *StorageNodeLoader) BatchGetStorageNodesByIDs(ctx context.Context, storageNodeIDs [][32]byte) []*dataloader.Result[*model.StorageNode]

type SyntheticDeviceLoader

type SyntheticDeviceLoader struct {
	// contains filtered or unexported fields
}

func NewSyntheticDeviceLoader added in v0.4.8

func NewSyntheticDeviceLoader(repo *synthetic.Repository) *SyntheticDeviceLoader

func (*SyntheticDeviceLoader) BatchGetSyntheticDeviceByID added in v0.1.7

func (s *SyntheticDeviceLoader) BatchGetSyntheticDeviceByID(ctx context.Context, syntheticDeviceIDs []int) []*dataloader.Result[*gmodel.SyntheticDevice]

BatchGetSyntheticDeviceByID implements the dataloader for finding synthetic devices by their ids and returns them in the order requested

func (*SyntheticDeviceLoader) BatchGetSyntheticDeviceByVehicleID

func (s *SyntheticDeviceLoader) BatchGetSyntheticDeviceByVehicleID(ctx context.Context, vehicleIDs []int) []*dataloader.Result[*gmodel.SyntheticDevice]

BatchGetSyntheticDeviceByVehicleID implements the dataloader for finding synthetic devices linked to vehicles and returns them in the order requested

type VehicleLoader

type VehicleLoader struct {
	// contains filtered or unexported fields
}

func NewVehicleLoader added in v0.4.8

func NewVehicleLoader(repo *vehicle.Repository) *VehicleLoader

func (*VehicleLoader) BatchGetVehicleByID added in v0.1.7

func (v *VehicleLoader) BatchGetVehicleByID(ctx context.Context, vehicleIDs []int) []*dataloader.Result[*model.Vehicle]

BatchGetVehicleByID implements the dataloader for finding vehicles by their ids.

Jump to

Keyboard shortcuts

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