package com.dji.sample.manage.service;

import com.dji.sample.common.model.CustomClaim;
import com.dji.sample.manage.model.dto.DeviceDTO;
import com.dji.sample.manage.model.dto.DeviceLogsDTO;
import com.dji.sample.manage.model.dto.DeviceOprLogsDTO;
import com.dji.sample.manage.model.enums.LogOprTypeEnum;
import com.dji.sample.manage.model.param.DeviceLogsCreateParam;
import com.dji.sample.manage.model.param.DeviceLogsQueryParam;
import com.dji.sample.manage.model.param.DeviceOprLogsQueryParam;
import com.dji.sdk.cloudapi.log.FileUploadUpdateRequest;
import com.dji.sdk.cloudapi.log.LogModuleEnum;
import com.dji.sdk.common.HttpResultResponse;
import com.dji.sdk.common.PaginationData;

import java.net.URL;
import java.util.List;

/**
 * @author hqjiang
 * @version 1.0
 * @date 2024/6/25
 */
public interface IDeviceOprLogsService {

    /**
     * 添加设备操作日志
     * @param logsDTO
     * @return 日志ID
     */
    Long insertDeviceOprLogs(DeviceOprLogsDTO logsDTO);

    /**
     * 获取设备日志信息
     * @param workspaceId
     * @param param
     * @return
     */
    PaginationData<DeviceOprLogsDTO> getDeviceOprLogs(String workspaceId, DeviceOprLogsQueryParam param);

    void addDeviceOprLogsDTO(DeviceDTO redisDevice, LogOprTypeEnum oprTypeEnum);

    void addDeviceOprLogsDTO(DeviceDTO redisDevice, LogOprTypeEnum oprTypeEnum, CustomClaim customClaim);
}
