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

75 lines
2.9 KiB
Go
Raw Normal View History

2023-08-29 07:36:46 +00:00
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
2023-08-31 12:28:49 +00:00
DeviceInvokeThingService(invokeDeviceServiceReq dtos.InvokeDeviceServiceReq) (map[string]interface{}, error)
SetDeviceProperty(req dtos.OpenApiSetDeviceThingModel) error
DeviceEffectivePropertyData(deviceEffectivePropertyDataReq dtos.DeviceEffectivePropertyDataReq) (dtos.DeviceEffectivePropertyDataResponse, error)
2023-08-29 07:36:46 +00:00
}
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 {
}