add start time and end time for the device logs

This commit is contained in:
faris Aljohari
2024-09-17 15:13:45 +03:00
parent 69890490a0
commit 20dc93c354
3 changed files with 26 additions and 8 deletions

View File

@ -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;
}

View File

@ -66,7 +66,7 @@ export interface updateDeviceFirmwareInterface {
}
export interface getDeviceLogsInterface {
data: [];
startTime: number;
endTime: number;
startTime: string;
endTime: string;
deviceUuid?: string;
}

View File

@ -806,6 +806,8 @@ export class DeviceService {
const response = await this.getDeviceLogsTuya(
deviceDetails.deviceTuyaUuid,
query.code,
query.startTime,
query.endTime,
);
return {
@ -822,11 +824,13 @@ export class DeviceService {
async getDeviceLogsTuya(
deviceId: string,
code: string,
startTime: string = (Date.now() - 1 * 60 * 60 * 1000).toString(),
endTime: string = Date.now().toString(),
): Promise<getDeviceLogsInterface> {
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`;
console.log(startTime, endTime);
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 +839,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) {