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 {
|
|
|
|
}
|