Merge pull request #54 from SyncrowIOT/fix-issue-door-lock

Fix issue door lock
This commit is contained in:
faris Aljohari
2024-06-29 17:22:19 +03:00
committed by GitHub
2 changed files with 19 additions and 11 deletions

View File

@ -6,6 +6,7 @@ import {
ValidateNested, ValidateNested,
IsEnum, IsEnum,
Length, Length,
IsOptional,
} from 'class-validator'; } from 'class-validator';
import { Type } from 'class-transformer'; import { Type } from 'class-transformer';
import { WorkingDays } from '@app/common/constants/working-days'; import { WorkingDays } from '@app/common/constants/working-days';
@ -79,6 +80,7 @@ export class AddDoorLockOnlineDto {
}) })
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@IsOptional()
@Type(() => ScheduleDto) @Type(() => ScheduleDto)
public scheduleList: ScheduleDto[]; public scheduleList: ScheduleDto[];
} }

View File

@ -168,18 +168,24 @@ export class DoorLockService {
if (passwords.result.length > 0) { if (passwords.result.length > 0) {
const passwordFiltered = passwords.result const passwordFiltered = passwords.result
.filter((item) => item.schedule_list && item.schedule_list.length > 0) .filter((item) => item.type === 1)
.map((password: any) => { .map((password: any) => {
password.schedule_list = password.schedule_list.map((schedule) => { if (password.schedule_list?.length > 0) {
password.schedule_list = password.schedule_list.map(
(schedule) => {
schedule.working_day = this.getDaysFromWorkingDayValue( schedule.working_day = this.getDaysFromWorkingDayValue(
schedule.working_day, schedule.working_day,
); );
schedule.effective_time = this.minutesToTime( schedule.effective_time = this.minutesToTime(
schedule.effective_time, schedule.effective_time,
); );
schedule.invalid_time = this.minutesToTime(schedule.invalid_time); schedule.invalid_time = this.minutesToTime(
schedule.invalid_time,
);
return schedule; return schedule;
}); },
);
}
return password; return password;
}); });
@ -343,7 +349,7 @@ export class DoorLockService {
addDeviceObj, addDeviceObj,
passwordData.deviceTuyaUuid, passwordData.deviceTuyaUuid,
type, type,
isOnline, addDeviceObj.scheduleList ? isOnline : false,
); );
if (!createPass.success) { if (!createPass.success) {