mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-26 21:54:54 +00:00
test
This commit is contained in:
@ -10,8 +10,14 @@ import { PermissionTypeRepository } from '@app/common/modules/permission/reposit
|
||||
import { SpaceRepository } from '@app/common/modules/space/repositories';
|
||||
import { DeviceUserPermissionRepository } from '@app/common/modules/device-user-permission/repositories';
|
||||
import { UserRepository } from '@app/common/modules/user/repositories';
|
||||
import { DeviceStatusMongoModule } from '@app/common/mongoose/devices-status/devices-status.module';
|
||||
@Module({
|
||||
imports: [ConfigModule, ProductRepositoryModule, DeviceRepositoryModule],
|
||||
imports: [
|
||||
ConfigModule,
|
||||
ProductRepositoryModule,
|
||||
DeviceRepositoryModule,
|
||||
DeviceStatusMongoModule,
|
||||
],
|
||||
controllers: [DeviceController],
|
||||
providers: [
|
||||
DeviceService,
|
||||
|
||||
@ -25,6 +25,7 @@ import { PermissionType } from '@app/common/constants/permission-type.enum';
|
||||
import { In } from 'typeorm';
|
||||
import { ProductType } from '@app/common/constants/product-type.enum';
|
||||
import { SpaceRepository } from '@app/common/modules/space/repositories';
|
||||
import { DeviceStatusMongoService } from '@app/common/mongoose/devices-status/services/devices-status.service';
|
||||
|
||||
@Injectable()
|
||||
export class DeviceService {
|
||||
@ -33,6 +34,7 @@ export class DeviceService {
|
||||
private readonly configService: ConfigService,
|
||||
private readonly deviceRepository: DeviceRepository,
|
||||
private readonly productRepository: ProductRepository,
|
||||
private readonly deviceStatusMongoService: DeviceStatusMongoService,
|
||||
private readonly spaceRepository: SpaceRepository,
|
||||
) {
|
||||
const accessKey = this.configService.get<string>('auth-config.ACCESS_KEY');
|
||||
@ -72,14 +74,28 @@ export class DeviceService {
|
||||
if (!device.productUuid) {
|
||||
throw new Error('Product UUID is missing for the device.');
|
||||
}
|
||||
|
||||
return await this.deviceRepository.save({
|
||||
const deviceSaved = await this.deviceRepository.save({
|
||||
deviceTuyaUuid: addDeviceDto.deviceTuyaUuid,
|
||||
productDevice: { uuid: device.productUuid },
|
||||
user: {
|
||||
uuid: addDeviceDto.userUuid,
|
||||
},
|
||||
});
|
||||
if (deviceSaved.uuid) {
|
||||
const deviceStatus = await this.getDevicesInstructionStatus(
|
||||
deviceSaved.uuid,
|
||||
);
|
||||
if (deviceStatus.productUuid) {
|
||||
await this.deviceStatusMongoService.addDeviceStatusToMongo({
|
||||
deviceUuid: deviceSaved.uuid,
|
||||
deviceTuyaUuid: addDeviceDto.deviceTuyaUuid,
|
||||
status: deviceStatus.status,
|
||||
productUuid: deviceStatus.productUuid,
|
||||
productType: deviceStatus.productType,
|
||||
});
|
||||
}
|
||||
}
|
||||
return deviceSaved;
|
||||
} catch (error) {
|
||||
if (error.code === '23505') {
|
||||
throw new HttpException(
|
||||
|
||||
Reference in New Issue
Block a user