iot_server/internal/hummingbird/core/interface/device.go

75 lines
2.9 KiB
Go

package interfaces
import (
"context"
"github.com/winc-link/edge-driver-proto/driverdevice"
"github.com/winc-link/hummingbird/internal/dtos"
"github.com/winc-link/hummingbird/internal/models"
)
type DeviceItf interface {
DeviceCtlItf
DeviceSyncItf
OpenApiDeviceItf
}
type DeviceCtlItf interface {
AddDevice(ctx context.Context, req dtos.DeviceAddRequest) (string, error)
DevicesSearch(ctx context.Context, req dtos.DeviceSearchQueryRequest) ([]dtos.DeviceSearchQueryResponse, uint32, error)
DevicesModelSearch(ctx context.Context, req dtos.DeviceSearchQueryRequest) ([]models.Device, uint32, error)
DeviceById(ctx context.Context, id string) (dtos.DeviceInfoResponse, error)
DeviceModelById(ctx context.Context, id string) (models.Device, error)
DeviceByCloudId(ctx context.Context, id string) (models.Device, error)
DeviceUpdate(ctx context.Context, req dtos.DeviceUpdateRequest) error
DevicesBindDriver(ctx context.Context, req dtos.DevicesBindDriver) error
DevicesUnBindDriver(ctx context.Context, req dtos.DevicesUnBindDriver) error
DevicesBindProductId(ctx context.Context, req dtos.DevicesBindProductId) error
ConnectIotPlatform(ctx context.Context, request *driverdevice.ConnectIotPlatformRequest) *driverdevice.ConnectIotPlatformResponse
DisConnectIotPlatform(ctx context.Context, request *driverdevice.DisconnectIotPlatformRequest) *driverdevice.DisconnectIotPlatformResponse
GetDeviceConnectStatus(ctx context.Context, request *driverdevice.GetDeviceConnectStatusRequest) *driverdevice.GetDeviceConnectStatusResponse
DeviceMqttAuthInfo(ctx context.Context, id string) (dtos.DeviceAuthInfoResponse, error)
AddMqttAuth(ctx context.Context, req dtos.AddMqttAuthInfoRequest) (string, error)
DeleteDeviceById(ctx context.Context, id string) error
BatchDeleteDevice(ctx context.Context, ids []string) error
DeviceImportTemplateDownload(ctx context.Context, req dtos.DeviceImportTemplateRequest) (*dtos.ExportFile, error)
DevicesImport(ctx context.Context, file *dtos.ImportFile, productId, driverInstanceId string) (int64, error)
UploadValidated(ctx context.Context, file *dtos.ImportFile) error
DevicesReportMsgGather(ctx context.Context) error
DeviceAction(jobAction dtos.JobAction) dtos.DeviceExecRes
DeviceInvokeThingService(invokeDeviceServiceReq dtos.InvokeDeviceServiceReq) (map[string]interface{}, error)
SetDeviceProperty(req dtos.OpenApiSetDeviceThingModel) error
DeviceEffectivePropertyData(deviceEffectivePropertyDataReq dtos.DeviceEffectivePropertyDataReq) (dtos.DeviceEffectivePropertyDataResponse, error)
}
type OpenApiDeviceItf interface {
OpenApiDeviceById(ctx context.Context, id string) (dtos.OpenApiDeviceInfoResponse, error)
OpenApiDeviceStatusById(ctx context.Context, id string) (dtos.OpenApiDeviceStatus, error)
OpenApiDevicesSearch(ctx context.Context, req dtos.DeviceSearchQueryRequest) ([]dtos.OpenApiDeviceInfoResponse, uint32, error)
}
type DeviceSyncItf interface {
}