domain

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Module = fx.Module("domain",
	fx.Provide(func(
		k8sClient k8s.Client,
		logger logging.Logger,

		iotProjectRepo repos.DbRepo[*entities.IOTProject],
		iotDeploymentRepo repos.DbRepo[*entities.IOTDeployment],
		iotDeviceRepo repos.DbRepo[*entities.IOTDevice],
		iotDeviceBlueprintRepo repos.DbRepo[*entities.IOTDeviceBlueprint],
		iotAppRepo repos.DbRepo[*entities.IOTApp],

		ev *env.Env,
	) Domain {
		return &domain{
			k8sClient:              k8sClient,
			logger:                 logger,
			iotProjectRepo:         iotProjectRepo,
			iotDeploymentRepo:      iotDeploymentRepo,
			iotDeviceRepo:          iotDeviceRepo,
			iotDeviceBlueprintRepo: iotDeviceBlueprintRepo,
			iotAppRepo:             iotAppRepo,
			envVars:                ev,
		}
	}),
)

Functions

This section is empty.

Types

type Domain

type Domain interface {
	ListProjects(ctx IotConsoleContext, search map[string]repos.MatchFilter, pagination repos.CursorPagination) (*repos.PaginatedRecord[*entities.IOTProject], error)
	GetProject(ctx IotConsoleContext, name string) (*entities.IOTProject, error)

	CreateProject(ctx IotConsoleContext, project entities.IOTProject) (*entities.IOTProject, error)
	UpdateProject(ctx IotConsoleContext, project entities.IOTProject) (*entities.IOTProject, error)
	DeleteProject(ctx IotConsoleContext, name string) error

	ListDeployments(ctx IotResourceContext, search map[string]repos.MatchFilter, pagination repos.CursorPagination) (*repos.PaginatedRecord[*entities.IOTDeployment], error)
	GetDeployment(ctx IotResourceContext, name string) (*entities.IOTDeployment, error)

	CreateDeployment(ctx IotResourceContext, deployment entities.IOTDeployment) (*entities.IOTDeployment, error)
	UpdateDeployment(ctx IotResourceContext, deployment entities.IOTDeployment) (*entities.IOTDeployment, error)
	DeleteDeployment(ctx IotResourceContext, name string) error

	ListDevices(ctx IotResourceContext, deploymentName string, search map[string]repos.MatchFilter, pq repos.CursorPagination) (*repos.PaginatedRecord[*entities.IOTDevice], error)
	GetDevice(ctx IotResourceContext, name string, deploymentName string) (*entities.IOTDevice, error)

	GetPublicKeyDevice(ctx context.Context, publicKey string) (*entities.IOTDevice, error)

	CreateDevice(ctx IotResourceContext, deploymentName string, device entities.IOTDevice) (*entities.IOTDevice, error)
	UpdateDevice(ctx IotResourceContext, deploymentName string, device entities.IOTDevice) (*entities.IOTDevice, error)
	DeleteDevice(ctx IotResourceContext, deploymentName string, name string) error

	ListDeviceBlueprints(ctx IotResourceContext, search map[string]repos.MatchFilter, pq repos.CursorPagination) (*repos.PaginatedRecord[*entities.IOTDeviceBlueprint], error)
	GetDeviceBlueprint(ctx IotResourceContext, name string) (*entities.IOTDeviceBlueprint, error)

	CreateDeviceBlueprint(ctx IotResourceContext, deviceBlueprint entities.IOTDeviceBlueprint) (*entities.IOTDeviceBlueprint, error)
	UpdateDeviceBlueprint(ctx IotResourceContext, deviceBlueprint entities.IOTDeviceBlueprint) (*entities.IOTDeviceBlueprint, error)
	DeleteDeviceBlueprint(ctx IotResourceContext, name string) error

	ListApps(ctx IotResourceContext, deviceBlueprintName string, search map[string]repos.MatchFilter, pq repos.CursorPagination) (*repos.PaginatedRecord[*entities.IOTApp], error)
	GetApp(ctx IotResourceContext, deviceBlueprintName string, name string) (*entities.IOTApp, error)

	CreateApp(ctx IotResourceContext, deviceBlueprintName string, app entities.IOTApp) (*entities.IOTApp, error)
	UpdateApp(ctx IotResourceContext, deviceBlueprintName string, app entities.IOTApp) (*entities.IOTApp, error)
	DeleteApp(ctx IotResourceContext, deviceBlueprintName string, name string) error
}

type IOTConsoleCacheStore

type IOTConsoleCacheStore kv.BinaryDataRepo

type IotConsoleContext

type IotConsoleContext struct {
	context.Context
	AccountName string

	UserId    repos.ID
	UserEmail string
	UserName  string
}

func (IotConsoleContext) GetAccountName

func (i IotConsoleContext) GetAccountName() string

func (IotConsoleContext) GetUserEmail

func (i IotConsoleContext) GetUserEmail() string

func (IotConsoleContext) GetUserId

func (i IotConsoleContext) GetUserId() repos.ID

func (IotConsoleContext) GetUserName

func (i IotConsoleContext) GetUserName() string

type IotResourceContext

type IotResourceContext struct {
	IotConsoleContext
	ProjectName string
}

func (IotResourceContext) IOTConsoleDBFilters

func (r IotResourceContext) IOTConsoleDBFilters() repos.Filter

Jump to

Keyboard shortcuts

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