feat(device): add endpoint to add device to user

This commit is contained in:
faris Aljohari
2024-05-29 23:29:53 +03:00
parent 93bab79d31
commit 423533df04
9 changed files with 223 additions and 65 deletions

View File

@ -9,6 +9,10 @@ export class DeviceDto {
@IsNotEmpty()
spaceUuid: string;
@IsString()
@IsNotEmpty()
userUuid: string;
@IsString()
@IsNotEmpty()
deviceTuyaUuid: string;

View File

@ -5,9 +5,10 @@ import { GroupDeviceEntity } from '../../group-device/entities';
import { SpaceEntity } from '../../space/entities';
import { ProductEntity } from '../../product/entities';
import { DeviceUserPermissionEntity } from '../../device-user-permission/entities';
import { UserEntity } from '../../user/entities';
@Entity({ name: 'device' })
@Unique(['spaceDevice', 'deviceTuyaUuid'])
@Unique(['deviceTuyaUuid'])
export class DeviceEntity extends AbstractEntity<DeviceDto> {
@Column({
nullable: false,
@ -20,6 +21,9 @@ export class DeviceEntity extends AbstractEntity<DeviceDto> {
})
isActive: true;
@ManyToOne(() => UserEntity, (user) => user.userSpaces, { nullable: false })
user: UserEntity;
@OneToMany(
() => DeviceUserPermissionEntity,
(permission) => permission.device,
@ -36,7 +40,7 @@ export class DeviceEntity extends AbstractEntity<DeviceDto> {
userGroupDevices: GroupDeviceEntity[];
@ManyToOne(() => SpaceEntity, (space) => space.devicesSpaceEntity, {
nullable: false,
nullable: true,
})
spaceDevice: SpaceEntity;

View File

@ -4,6 +4,7 @@ import { UserDto } from '../dtos';
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
import { UserSpaceEntity } from '../../user-space/entities';
import { UserRoleEntity } from '../../user-role/entities';
import { DeviceEntity } from '../../device/entities';
@Entity({ name: 'user' })
export class UserEntity extends AbstractEntity<UserDto> {
@ -53,6 +54,9 @@ export class UserEntity extends AbstractEntity<UserDto> {
@OneToMany(() => UserSpaceEntity, (userSpace) => userSpace.user)
userSpaces: UserSpaceEntity[];
@OneToMany(() => DeviceEntity, (userDevice) => userDevice.user)
userDevice: DeviceEntity[];
@OneToMany(
() => DeviceUserPermissionEntity,
(userPermission) => userPermission.user,