Add support for multiple permission types in DeviceService

This commit is contained in:
faris Aljohari
2024-05-19 14:25:29 +03:00
parent 835fde8304
commit 4ddc379bf7

View File

@ -27,6 +27,7 @@ import { convertKeysToCamelCase } from '@app/common/helper/camelCaseConverter';
import { DeviceRepository } from '@app/common/modules/device/repositories';
import { GroupDeviceRepository } from '@app/common/modules/group-device/repositories';
import { PermissionType } from '@app/common/constants/permission-type.enum';
import { In } from 'typeorm';
@Injectable()
export class DeviceService {
@ -57,7 +58,7 @@ export class DeviceService {
permission: {
userUuid,
permissionType: {
type: PermissionType.READ || PermissionType.CONTROLLABLE,
type: In([PermissionType.READ, PermissionType.CONTROLLABLE]),
},
},
},
@ -81,6 +82,7 @@ export class DeviceService {
} as GetDeviceDetailsInterface;
}),
);
return devicesData;
} catch (error) {
// Handle the error here
@ -147,12 +149,11 @@ export class DeviceService {
throw new Error('Product UUID is missing for the device.');
}
await this.deviceRepository.save({
return await this.deviceRepository.save({
deviceTuyaUuid: addDeviceInRoomDto.deviceTuyaUuid,
spaceDevice: { uuid: addDeviceInRoomDto.roomUuid },
productDevice: { uuid: device.productUuid },
});
return { message: 'device added in room successfully' };
} catch (error) {
if (error.code === '23505') {
throw new HttpException(