diff --git a/src/device/dtos/get.device.dto.ts b/src/device/dtos/get.device.dto.ts index 99c0dad..13204de 100644 --- a/src/device/dtos/get.device.dto.ts +++ b/src/device/dtos/get.device.dto.ts @@ -1,5 +1,5 @@ import { ApiProperty } from '@nestjs/swagger'; -import { IsNotEmpty, IsString } from 'class-validator'; +import { IsNotEmpty, IsOptional, IsString } from 'class-validator'; export class GetDeviceByRoomUuidDto { @ApiProperty({ @@ -18,4 +18,18 @@ export class GetDeviceLogsDto { @IsString() @IsNotEmpty() public code: string; + @ApiProperty({ + description: 'startTime', + required: false, + }) + @IsString() + @IsOptional() + public startTime: string; + @ApiProperty({ + description: 'endTime', + required: false, + }) + @IsString() + @IsOptional() + public endTime: string; } diff --git a/src/device/interfaces/get.device.interface.ts b/src/device/interfaces/get.device.interface.ts index 880a976..7422ed2 100644 --- a/src/device/interfaces/get.device.interface.ts +++ b/src/device/interfaces/get.device.interface.ts @@ -66,7 +66,7 @@ export interface updateDeviceFirmwareInterface { } export interface getDeviceLogsInterface { data: []; - startTime: number; - endTime: number; + startTime: string; + endTime: string; deviceUuid?: string; } diff --git a/src/device/services/device.service.ts b/src/device/services/device.service.ts index c856143..8e4377e 100644 --- a/src/device/services/device.service.ts +++ b/src/device/services/device.service.ts @@ -806,6 +806,8 @@ export class DeviceService { const response = await this.getDeviceLogsTuya( deviceDetails.deviceTuyaUuid, query.code, + query.startTime, + query.endTime, ); return { @@ -822,11 +824,11 @@ export class DeviceService { async getDeviceLogsTuya( deviceId: string, code: string, + startTime: string = (Date.now() - 1 * 60 * 60 * 1000).toString(), + endTime: string = Date.now().toString(), ): Promise { try { - const now = Date.now(); - const oneHourAgo = now - 1 * 60 * 60 * 1000; - const path = `/v2.0/cloud/thing/${deviceId}/report-logs?start_time=${oneHourAgo}&end_time=${now}&codes=${code}&size=50`; + const path = `/v2.0/cloud/thing/${deviceId}/report-logs?start_time=${startTime}&end_time=${endTime}&codes=${code}&size=50`; const response = await this.tuya.request({ method: 'GET', path, @@ -835,8 +837,8 @@ export class DeviceService { const camelCaseResponse = convertKeysToCamelCase(response); const logs = camelCaseResponse.result.logs ?? []; return { - startTime: oneHourAgo, - endTime: now, + startTime, + endTime, data: logs, } as getDeviceLogsInterface; } catch (error) {