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