Documentation
¶
Index ¶
- Constants
- Variables
- func NewView(caller router.Caller) view.Presenter
- type DeactivateDeviceArgs
- func (m *DeactivateDeviceArgs) DecodeFields(r model.FieldReader)
- func (m *DeactivateDeviceArgs) EncodeFields(w model.FieldWriter)
- func (m *DeactivateDeviceArgs) IsNil() bool
- func (m *DeactivateDeviceArgs) ModelName() string
- func (m *DeactivateDeviceArgs) Pointers() []any
- func (m *DeactivateDeviceArgs) Schema() []model.Field
- type DeactivateDeviceArgsList
- func (s *DeactivateDeviceArgsList) Append() model.Fielder
- func (s *DeactivateDeviceArgsList) At(i int) model.Fielder
- func (s *DeactivateDeviceArgsList) DecodeFields(_ model.FieldReader)
- func (s *DeactivateDeviceArgsList) EncodeFields(_ model.FieldWriter)
- func (s *DeactivateDeviceArgsList) IsNil() bool
- func (s *DeactivateDeviceArgsList) Len() int
- func (s *DeactivateDeviceArgsList) Pointers() []any
- func (s *DeactivateDeviceArgsList) Schema() []model.Field
- type DeleteDeviceArgs
- func (m *DeleteDeviceArgs) DecodeFields(r model.FieldReader)
- func (m *DeleteDeviceArgs) EncodeFields(w model.FieldWriter)
- func (m *DeleteDeviceArgs) IsNil() bool
- func (m *DeleteDeviceArgs) ModelName() string
- func (m *DeleteDeviceArgs) Pointers() []any
- func (m *DeleteDeviceArgs) Schema() []model.Field
- type DeleteDeviceArgsList
- func (s *DeleteDeviceArgsList) Append() model.Fielder
- func (s *DeleteDeviceArgsList) At(i int) model.Fielder
- func (s *DeleteDeviceArgsList) DecodeFields(_ model.FieldReader)
- func (s *DeleteDeviceArgsList) EncodeFields(_ model.FieldWriter)
- func (s *DeleteDeviceArgsList) IsNil() bool
- func (s *DeleteDeviceArgsList) Len() int
- func (s *DeleteDeviceArgsList) Pointers() []any
- func (s *DeleteDeviceArgsList) Schema() []model.Field
- type Deps
- type Device
- func (m *Device) DecodeFields(r model.FieldReader)
- func (m *Device) EncodeFields(w model.FieldWriter)
- func (m *Device) IsNil() bool
- func (d *Device) Item() view.Item
- func (m *Device) ModelName() string
- func (m *Device) Pointers() []any
- func (m *Device) Schema() []model.Field
- func (m *Device) Validate(action byte) error
- type DeviceFilter
- type DeviceList
- func (s *DeviceList) Append() model.Fielder
- func (s *DeviceList) At(i int) model.Fielder
- func (s *DeviceList) DecodeFields(_ model.FieldReader)
- func (s *DeviceList) EncodeFields(_ model.FieldWriter)
- func (s *DeviceList) IsNil() bool
- func (s *DeviceList) Len() int
- func (s *DeviceList) Pointers() []any
- func (s *DeviceList) Schema() []model.Field
- type GetDeviceArgs
- type GetDeviceArgsList
- func (s *GetDeviceArgsList) Append() model.Fielder
- func (s *GetDeviceArgsList) At(i int) model.Fielder
- func (s *GetDeviceArgsList) DecodeFields(_ model.FieldReader)
- func (s *GetDeviceArgsList) EncodeFields(_ model.FieldWriter)
- func (s *GetDeviceArgsList) IsNil() bool
- func (s *GetDeviceArgsList) Len() int
- func (s *GetDeviceArgsList) Pointers() []any
- func (s *GetDeviceArgsList) Schema() []model.Field
- type ListDevicesArgs
- type ListDevicesArgsList
- func (s *ListDevicesArgsList) Append() model.Fielder
- func (s *ListDevicesArgsList) At(i int) model.Fielder
- func (s *ListDevicesArgsList) DecodeFields(_ model.FieldReader)
- func (s *ListDevicesArgsList) EncodeFields(_ model.FieldWriter)
- func (s *ListDevicesArgsList) IsNil() bool
- func (s *ListDevicesArgsList) Len() int
- func (s *ListDevicesArgsList) Pointers() []any
- func (s *ListDevicesArgsList) Schema() []model.Field
- type Module
- func (m *Module) CreateDevice(d Device) (Device, error)
- func (m *Module) DeactivateDevice(tenantId, id string) error
- func (m *Module) DeleteDevice(tenantId, id string) error
- func (m *Module) FindByIP(tenantId, ip string) (Device, error)
- func (m *Module) GetDevice(tenantId, id string) (Device, error)
- func (m *Module) ListDevices(tenantId string, filter DeviceFilter) ([]Device, error)
- func (m *Module) ModelName() string
- func (m *Module) MountOperations(reg router.OperationRegistry)
- func (m *Module) UpdateDevice(d Device) (Device, error)
- type ValidationError
Constants ¶
const ( DeviceTypeComputer = "computer" DeviceTypePrinter = "printer" DeviceTypeServer = "server" DeviceTypeOther = "other" )
Exported, greppable, the ONLY place these literals exist — enum-valued column rule (AGENTS.md).
const ( TopicDeviceCreated = "device_manager.device.created" TopicDeviceUpdated = "device_manager.device.updated" TopicDeviceDeactivated = "device_manager.device.deactivated" TopicDeviceDeleted = "device_manager.device.deleted" )
<module>.<entity>.<past-tense-verb> — tenant_id goes in the event payload, never the topic name.
const ( OpListDevices = "list_devices" OpGetDevice = "get_device" OpCreateDevice = "create_device" OpUpdateDevice = "update_device" OpUpsertDevice = "upsert_device" OpDeactivateDevice = "deactivate_device" OpDeleteDevice = "delete_device" )
Variables ¶
var ( BaseBool_FieldBool = model.Bool() BaseInt_FieldInt = model.Int() )
Helpers to satisfy ormc's AST static type parser when the same Kind constructor is reused across more than one Definition (same defensive pattern as item_catalog/model.go).
var ( ErrNotFound = fmt.Err("device not found") ErrIPAlreadyExists = fmt.Err("device ip already exists") )
var DeactivateDeviceArgsModel = model.Definition{ Name: "deactivate_device_args", Fields: model.Fields{ {Name: "tenant_id", Type: model.Text()}, {Name: "id", Type: model.Text()}, }, }
var DeleteDeviceArgsModel = model.Definition{ Name: "delete_device_args", Fields: model.Fields{ {Name: "tenant_id", Type: model.Text()}, {Name: "id", Type: model.Text()}, }, }
var DeviceModel = model.Definition{ Name: "device", Fields: model.Fields{ {Name: "id", Type: model.Text(), DB: &model.FieldDB{PK: true}, OmitEmpty: true}, {Name: "tenant_id", Type: model.Text(), NotNull: true}, {Name: "name", Type: input.Text(), NotNull: true, Permitted: model.Permitted{Minimum: 1, Maximum: 255}}, {Name: "ip", Type: input.IP(), NotNull: true}, {Name: "type", Type: deviceType(), NotNull: true}, {Name: "location", Type: input.Text(), OmitEmpty: true, Permitted: model.Permitted{Maximum: 255}}, {Name: "is_active", Type: input.Checkbox(), NotNull: true}, {Name: "updated_at", Type: BaseInt_FieldInt, OmitEmpty: true}, }, }
var Device_ = struct { Id string TenantId string Name string Ip string Type string Location string IsActive string UpdatedAt string }{ Id: "id", TenantId: "tenant_id", Name: "name", Ip: "ip", Type: "type", Location: "location", IsActive: "is_active", UpdatedAt: "updated_at", }
var GetDeviceArgsModel = model.Definition{ Name: "get_device_args", Fields: model.Fields{ {Name: "tenant_id", Type: model.Text()}, {Name: "id", Type: model.Text()}, }, }
var ListDevicesArgsModel = model.Definition{ Name: "list_devices_args", Fields: model.Fields{ {Name: "tenant_id", Type: model.Text()}, {Name: "type", Type: model.Text()}, {Name: "active_only", Type: BaseBool_FieldBool}, {Name: "limit", Type: BaseInt_FieldInt}, {Name: "offset", Type: BaseInt_FieldInt}, }, }
Functions ¶
Types ¶
type DeactivateDeviceArgs ¶ added in v0.1.0
func (*DeactivateDeviceArgs) DecodeFields ¶ added in v0.1.0
func (m *DeactivateDeviceArgs) DecodeFields(r model.FieldReader)
func (*DeactivateDeviceArgs) EncodeFields ¶ added in v0.1.0
func (m *DeactivateDeviceArgs) EncodeFields(w model.FieldWriter)
func (*DeactivateDeviceArgs) IsNil ¶ added in v0.1.0
func (m *DeactivateDeviceArgs) IsNil() bool
func (*DeactivateDeviceArgs) ModelName ¶ added in v0.1.0
func (m *DeactivateDeviceArgs) ModelName() string
func (*DeactivateDeviceArgs) Pointers ¶ added in v0.1.0
func (m *DeactivateDeviceArgs) Pointers() []any
func (*DeactivateDeviceArgs) Schema ¶ added in v0.1.0
func (m *DeactivateDeviceArgs) Schema() []model.Field
type DeactivateDeviceArgsList ¶ added in v0.1.0
type DeactivateDeviceArgsList []*DeactivateDeviceArgs
func (*DeactivateDeviceArgsList) Append ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) Append() model.Fielder
func (*DeactivateDeviceArgsList) At ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) At(i int) model.Fielder
func (*DeactivateDeviceArgsList) DecodeFields ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) DecodeFields(_ model.FieldReader)
func (*DeactivateDeviceArgsList) EncodeFields ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) EncodeFields(_ model.FieldWriter)
func (*DeactivateDeviceArgsList) IsNil ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) IsNil() bool
func (*DeactivateDeviceArgsList) Len ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) Len() int
func (*DeactivateDeviceArgsList) Pointers ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) Pointers() []any
func (*DeactivateDeviceArgsList) Schema ¶ added in v0.1.0
func (s *DeactivateDeviceArgsList) Schema() []model.Field
type DeleteDeviceArgs ¶ added in v0.1.0
func (*DeleteDeviceArgs) DecodeFields ¶ added in v0.1.0
func (m *DeleteDeviceArgs) DecodeFields(r model.FieldReader)
func (*DeleteDeviceArgs) EncodeFields ¶ added in v0.1.0
func (m *DeleteDeviceArgs) EncodeFields(w model.FieldWriter)
func (*DeleteDeviceArgs) IsNil ¶ added in v0.1.0
func (m *DeleteDeviceArgs) IsNil() bool
func (*DeleteDeviceArgs) ModelName ¶ added in v0.1.0
func (m *DeleteDeviceArgs) ModelName() string
func (*DeleteDeviceArgs) Pointers ¶ added in v0.1.0
func (m *DeleteDeviceArgs) Pointers() []any
func (*DeleteDeviceArgs) Schema ¶ added in v0.1.0
func (m *DeleteDeviceArgs) Schema() []model.Field
type DeleteDeviceArgsList ¶ added in v0.1.0
type DeleteDeviceArgsList []*DeleteDeviceArgs
func (*DeleteDeviceArgsList) Append ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) Append() model.Fielder
func (*DeleteDeviceArgsList) At ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) At(i int) model.Fielder
func (*DeleteDeviceArgsList) DecodeFields ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) DecodeFields(_ model.FieldReader)
func (*DeleteDeviceArgsList) EncodeFields ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) EncodeFields(_ model.FieldWriter)
func (*DeleteDeviceArgsList) IsNil ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) IsNil() bool
func (*DeleteDeviceArgsList) Len ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) Len() int
func (*DeleteDeviceArgsList) Pointers ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) Pointers() []any
func (*DeleteDeviceArgsList) Schema ¶ added in v0.1.0
func (s *DeleteDeviceArgsList) Schema() []model.Field
type Deps ¶ added in v0.1.0
type Deps struct {
IDs model.IDGenerator // required — the module never builds its own
Publisher events.Publisher // optional — nil disables publishing silently
}
Deps are the module's infrastructure ports — never a concrete implementation.
type Device ¶ added in v0.1.0
type Device struct {
Id string
TenantId string
Name string
Ip string
Type string
Location string
IsActive bool
UpdatedAt int64
}
func (*Device) DecodeFields ¶ added in v0.1.0
func (m *Device) DecodeFields(r model.FieldReader)
func (*Device) EncodeFields ¶ added in v0.1.0
func (m *Device) EncodeFields(w model.FieldWriter)
type DeviceFilter ¶ added in v0.1.0
DeviceFilter narrows ListDevices — a plain internal type, never ormc-generated (only its transport twin ListDevicesArgs, in model_orm.go, is).
type DeviceList ¶ added in v0.1.0
type DeviceList []*Device
func ReadAllDevice ¶ added in v0.1.0
func ReadAllDevice(qb *orm.QB) (DeviceList, error)
func (*DeviceList) Append ¶ added in v0.1.0
func (s *DeviceList) Append() model.Fielder
func (*DeviceList) DecodeFields ¶ added in v0.1.0
func (s *DeviceList) DecodeFields(_ model.FieldReader)
func (*DeviceList) EncodeFields ¶ added in v0.1.0
func (s *DeviceList) EncodeFields(_ model.FieldWriter)
func (*DeviceList) IsNil ¶ added in v0.1.0
func (s *DeviceList) IsNil() bool
func (*DeviceList) Len ¶ added in v0.1.0
func (s *DeviceList) Len() int
func (*DeviceList) Pointers ¶ added in v0.1.0
func (s *DeviceList) Pointers() []any
func (*DeviceList) Schema ¶ added in v0.1.0
func (s *DeviceList) Schema() []model.Field
type GetDeviceArgs ¶ added in v0.1.0
func (*GetDeviceArgs) DecodeFields ¶ added in v0.1.0
func (m *GetDeviceArgs) DecodeFields(r model.FieldReader)
func (*GetDeviceArgs) EncodeFields ¶ added in v0.1.0
func (m *GetDeviceArgs) EncodeFields(w model.FieldWriter)
func (*GetDeviceArgs) IsNil ¶ added in v0.1.0
func (m *GetDeviceArgs) IsNil() bool
func (*GetDeviceArgs) ModelName ¶ added in v0.1.0
func (m *GetDeviceArgs) ModelName() string
func (*GetDeviceArgs) Pointers ¶ added in v0.1.0
func (m *GetDeviceArgs) Pointers() []any
func (*GetDeviceArgs) Schema ¶ added in v0.1.0
func (m *GetDeviceArgs) Schema() []model.Field
type GetDeviceArgsList ¶ added in v0.1.0
type GetDeviceArgsList []*GetDeviceArgs
func (*GetDeviceArgsList) Append ¶ added in v0.1.0
func (s *GetDeviceArgsList) Append() model.Fielder
func (*GetDeviceArgsList) DecodeFields ¶ added in v0.1.0
func (s *GetDeviceArgsList) DecodeFields(_ model.FieldReader)
func (*GetDeviceArgsList) EncodeFields ¶ added in v0.1.0
func (s *GetDeviceArgsList) EncodeFields(_ model.FieldWriter)
func (*GetDeviceArgsList) IsNil ¶ added in v0.1.0
func (s *GetDeviceArgsList) IsNil() bool
func (*GetDeviceArgsList) Len ¶ added in v0.1.0
func (s *GetDeviceArgsList) Len() int
func (*GetDeviceArgsList) Pointers ¶ added in v0.1.0
func (s *GetDeviceArgsList) Pointers() []any
func (*GetDeviceArgsList) Schema ¶ added in v0.1.0
func (s *GetDeviceArgsList) Schema() []model.Field
type ListDevicesArgs ¶ added in v0.1.0
type ListDevicesArgs struct {
TenantId string
Type string
ActiveOnly bool
Limit int64
Offset int64
}
func (*ListDevicesArgs) DecodeFields ¶ added in v0.1.0
func (m *ListDevicesArgs) DecodeFields(r model.FieldReader)
func (*ListDevicesArgs) EncodeFields ¶ added in v0.1.0
func (m *ListDevicesArgs) EncodeFields(w model.FieldWriter)
func (*ListDevicesArgs) IsNil ¶ added in v0.1.0
func (m *ListDevicesArgs) IsNil() bool
func (*ListDevicesArgs) ModelName ¶ added in v0.1.0
func (m *ListDevicesArgs) ModelName() string
func (*ListDevicesArgs) Pointers ¶ added in v0.1.0
func (m *ListDevicesArgs) Pointers() []any
func (*ListDevicesArgs) Schema ¶ added in v0.1.0
func (m *ListDevicesArgs) Schema() []model.Field
type ListDevicesArgsList ¶ added in v0.1.0
type ListDevicesArgsList []*ListDevicesArgs
func (*ListDevicesArgsList) Append ¶ added in v0.1.0
func (s *ListDevicesArgsList) Append() model.Fielder
func (*ListDevicesArgsList) At ¶ added in v0.1.0
func (s *ListDevicesArgsList) At(i int) model.Fielder
func (*ListDevicesArgsList) DecodeFields ¶ added in v0.1.0
func (s *ListDevicesArgsList) DecodeFields(_ model.FieldReader)
func (*ListDevicesArgsList) EncodeFields ¶ added in v0.1.0
func (s *ListDevicesArgsList) EncodeFields(_ model.FieldWriter)
func (*ListDevicesArgsList) IsNil ¶ added in v0.1.0
func (s *ListDevicesArgsList) IsNil() bool
func (*ListDevicesArgsList) Len ¶ added in v0.1.0
func (s *ListDevicesArgsList) Len() int
func (*ListDevicesArgsList) Pointers ¶ added in v0.1.0
func (s *ListDevicesArgsList) Pointers() []any
func (*ListDevicesArgsList) Schema ¶ added in v0.1.0
func (s *ListDevicesArgsList) Schema() []model.Field
type Module ¶ added in v0.1.0
type Module struct {
// contains filtered or unexported fields
}
func New ¶
New connects the module to an already-connected *orm.DB and migrates its own schema when the backend supports DDL (storage/mem, used by this module's own tests, does not — the type assertion below is how the module stays agnostic to that, same idiom as every sibling module).
func (*Module) CreateDevice ¶ added in v0.1.0
func (*Module) DeactivateDevice ¶ added in v0.1.0
func (*Module) DeleteDevice ¶ added in v0.1.0
func (*Module) ListDevices ¶ added in v0.1.0
func (m *Module) ListDevices(tenantId string, filter DeviceFilter) ([]Device, error)
func (*Module) MountOperations ¶ added in v0.1.2
func (m *Module) MountOperations(reg router.OperationRegistry)
type ValidationError ¶ added in v0.1.0
type ValidationError struct{ Err error }
func (ValidationError) Error ¶ added in v0.1.0
func (v ValidationError) Error() string