mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-17 03:05:13 +00:00
Add support for multiple permission types in DeviceService
This commit is contained in:
@ -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(
|
||||||
|
Reference in New Issue
Block a user