mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-27 05:14:53 +00:00
finished soft delete devices
This commit is contained in:
@ -85,6 +85,7 @@ export class DeviceStatusFirebaseService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
deviceTuyaUuid,
|
deviceTuyaUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
@ -139,6 +140,7 @@ export class DeviceStatusFirebaseService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
...(withProductDevice && { relations: ['productDevice'] }),
|
...(withProductDevice && { relations: ['productDevice'] }),
|
||||||
});
|
});
|
||||||
|
|||||||
@ -18,8 +18,9 @@ export class DeviceEntity extends AbstractEntity<DeviceDto> {
|
|||||||
@Column({
|
@Column({
|
||||||
nullable: true,
|
nullable: true,
|
||||||
default: true,
|
default: true,
|
||||||
|
type: 'boolean',
|
||||||
})
|
})
|
||||||
isActive: true;
|
isActive: boolean;
|
||||||
|
|
||||||
@ManyToOne(() => UserEntity, (user) => user.userSpaces, { nullable: false })
|
@ManyToOne(() => UserEntity, (user) => user.userSpaces, { nullable: false })
|
||||||
user: UserEntity;
|
user: UserEntity;
|
||||||
|
|||||||
@ -62,6 +62,7 @@ export class DeviceService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
...(withProductDevice && { relations: ['productDevice'] }),
|
...(withProductDevice && { relations: ['productDevice'] }),
|
||||||
});
|
});
|
||||||
@ -70,6 +71,7 @@ export class DeviceService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
deviceTuyaUuid,
|
deviceTuyaUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
@ -126,6 +128,7 @@ export class DeviceService {
|
|||||||
const devices = await this.deviceRepository.find({
|
const devices = await this.deviceRepository.find({
|
||||||
where: {
|
where: {
|
||||||
user: { uuid: userUuid },
|
user: { uuid: userUuid },
|
||||||
|
isActive: true,
|
||||||
permission: {
|
permission: {
|
||||||
userUuid,
|
userUuid,
|
||||||
permissionType: {
|
permissionType: {
|
||||||
@ -172,6 +175,7 @@ export class DeviceService {
|
|||||||
const devices = await this.deviceRepository.find({
|
const devices = await this.deviceRepository.find({
|
||||||
where: {
|
where: {
|
||||||
spaceDevice: { uuid: getDeviceByRoomUuidDto.roomUuid },
|
spaceDevice: { uuid: getDeviceByRoomUuidDto.roomUuid },
|
||||||
|
isActive: true,
|
||||||
permission: {
|
permission: {
|
||||||
userUuid,
|
userUuid,
|
||||||
permissionType: {
|
permissionType: {
|
||||||
@ -221,6 +225,7 @@ export class DeviceService {
|
|||||||
const device = await this.deviceRepository.findOne({
|
const device = await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: updateDeviceInRoomDto.deviceUuid,
|
uuid: updateDeviceInRoomDto.deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
relations: ['spaceDevice', 'spaceDevice.parent'],
|
relations: ['spaceDevice', 'spaceDevice.parent'],
|
||||||
});
|
});
|
||||||
@ -407,7 +412,7 @@ export class DeviceService {
|
|||||||
}
|
}
|
||||||
async checkAllDevicesHaveSameProductUuid(deviceUuids: string[]) {
|
async checkAllDevicesHaveSameProductUuid(deviceUuids: string[]) {
|
||||||
const firstDevice = await this.deviceRepository.findOne({
|
const firstDevice = await this.deviceRepository.findOne({
|
||||||
where: { uuid: deviceUuids[0] },
|
where: { uuid: deviceUuids[0], isActive: true },
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -419,7 +424,7 @@ export class DeviceService {
|
|||||||
|
|
||||||
for (let i = 1; i < deviceUuids.length; i++) {
|
for (let i = 1; i < deviceUuids.length; i++) {
|
||||||
const device = await this.deviceRepository.findOne({
|
const device = await this.deviceRepository.findOne({
|
||||||
where: { uuid: deviceUuids[i] },
|
where: { uuid: deviceUuids[i], isActive: true },
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -463,6 +468,11 @@ export class DeviceService {
|
|||||||
if (operationResult.success) {
|
if (operationResult.success) {
|
||||||
// Add to success results if operationResult.success is true
|
// Add to success results if operationResult.success is true
|
||||||
successResults.push({ deviceUuid, result: operationResult });
|
successResults.push({ deviceUuid, result: operationResult });
|
||||||
|
// Update isActive to false in the repository for the successfully reset device
|
||||||
|
await this.deviceRepository.update(
|
||||||
|
{ uuid: deviceUuid },
|
||||||
|
{ isActive: false },
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
// Add to failed results if operationResult.success is false
|
// Add to failed results if operationResult.success is false
|
||||||
failedResults.push({ deviceUuid, error: operationResult.msg });
|
failedResults.push({ deviceUuid, error: operationResult.msg });
|
||||||
@ -643,6 +653,7 @@ export class DeviceService {
|
|||||||
const device = await this.deviceRepository.findOne({
|
const device = await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
permission: {
|
permission: {
|
||||||
userUuid: userUuid,
|
userUuid: userUuid,
|
||||||
},
|
},
|
||||||
@ -774,6 +785,9 @@ export class DeviceService {
|
|||||||
parent: {
|
parent: {
|
||||||
uuid: unitUuid,
|
uuid: unitUuid,
|
||||||
},
|
},
|
||||||
|
devicesSpaceEntity: {
|
||||||
|
isActive: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
relations: ['devicesSpaceEntity', 'devicesSpaceEntity.productDevice'],
|
relations: ['devicesSpaceEntity', 'devicesSpaceEntity.productDevice'],
|
||||||
});
|
});
|
||||||
@ -808,6 +822,7 @@ export class DeviceService {
|
|||||||
async getAllDevices(): Promise<GetDeviceDetailsInterface[]> {
|
async getAllDevices(): Promise<GetDeviceDetailsInterface[]> {
|
||||||
try {
|
try {
|
||||||
const devices = await this.deviceRepository.find({
|
const devices = await this.deviceRepository.find({
|
||||||
|
where: { isActive: true },
|
||||||
relations: [
|
relations: [
|
||||||
'spaceDevice.parent',
|
'spaceDevice.parent',
|
||||||
'productDevice',
|
'productDevice',
|
||||||
|
|||||||
@ -826,6 +826,7 @@ export class DoorLockService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
...(withProductDevice && { relations: ['productDevice'] }),
|
...(withProductDevice && { relations: ['productDevice'] }),
|
||||||
});
|
});
|
||||||
|
|||||||
@ -28,7 +28,7 @@ export class CheckProductUuidForAllDevicesGuard implements CanActivate {
|
|||||||
|
|
||||||
async checkAllDevicesHaveSameProductUuid(deviceUuids: string[]) {
|
async checkAllDevicesHaveSameProductUuid(deviceUuids: string[]) {
|
||||||
const firstDevice = await this.deviceRepository.findOne({
|
const firstDevice = await this.deviceRepository.findOne({
|
||||||
where: { uuid: deviceUuids[0] },
|
where: { uuid: deviceUuids[0], isActive: true },
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ export class CheckProductUuidForAllDevicesGuard implements CanActivate {
|
|||||||
|
|
||||||
for (let i = 1; i < deviceUuids.length; i++) {
|
for (let i = 1; i < deviceUuids.length; i++) {
|
||||||
const device = await this.deviceRepository.findOne({
|
const device = await this.deviceRepository.findOne({
|
||||||
where: { uuid: deviceUuids[i] },
|
where: { uuid: deviceUuids[i], isActive: true },
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -55,6 +55,7 @@ export class CheckRoomGuard implements CanActivate {
|
|||||||
const response = await this.deviceRepository.findOne({
|
const response = await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -58,7 +58,11 @@ export class CheckUserHaveControllablePermission implements CanActivate {
|
|||||||
deviceUuid: string,
|
deviceUuid: string,
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const device = await this.deviceRepository.findOne({
|
const device = await this.deviceRepository.findOne({
|
||||||
where: { uuid: deviceUuid, permission: { userUuid: userUuid } },
|
where: {
|
||||||
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
|
permission: { userUuid: userUuid },
|
||||||
|
},
|
||||||
relations: ['permission', 'permission.permissionType'],
|
relations: ['permission', 'permission.permissionType'],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -59,7 +59,11 @@ export class CheckUserHavePermission implements CanActivate {
|
|||||||
deviceUuid: string,
|
deviceUuid: string,
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const device = await this.deviceRepository.findOne({
|
const device = await this.deviceRepository.findOne({
|
||||||
where: { uuid: deviceUuid, permission: { userUuid: userUuid } },
|
where: {
|
||||||
|
uuid: deviceUuid,
|
||||||
|
permission: { userUuid: userUuid },
|
||||||
|
isActive: true,
|
||||||
|
},
|
||||||
relations: ['permission', 'permission.permissionType'],
|
relations: ['permission', 'permission.permissionType'],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -298,6 +298,7 @@ export class ScheduleService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
...(withProductDevice && { relations: ['productDevice'] }),
|
...(withProductDevice && { relations: ['productDevice'] }),
|
||||||
});
|
});
|
||||||
|
|||||||
@ -440,6 +440,7 @@ export class VisitorPasswordService {
|
|||||||
productDevice: {
|
productDevice: {
|
||||||
prodType: ProductType.DL,
|
prodType: ProductType.DL,
|
||||||
},
|
},
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const data = [];
|
const data = [];
|
||||||
@ -482,6 +483,7 @@ export class VisitorPasswordService {
|
|||||||
productDevice: {
|
productDevice: {
|
||||||
prodType: ProductType.DL,
|
prodType: ProductType.DL,
|
||||||
},
|
},
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
relations: ['productDevice'],
|
relations: ['productDevice'],
|
||||||
});
|
});
|
||||||
@ -823,6 +825,7 @@ export class VisitorPasswordService {
|
|||||||
return await this.deviceRepository.findOne({
|
return await this.deviceRepository.findOne({
|
||||||
where: {
|
where: {
|
||||||
uuid: deviceUuid,
|
uuid: deviceUuid,
|
||||||
|
isActive: true,
|
||||||
},
|
},
|
||||||
...(withProductDevice && { relations: ['productDevice'] }),
|
...(withProductDevice && { relations: ['productDevice'] }),
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user