From 8f761168b4965c30ca63492f276aa3c042222d79 Mon Sep 17 00:00:00 2001 From: yousef-alkhrissat Date: Sat, 3 Aug 2024 23:50:49 +0300 Subject: [PATCH] changed entity and type structure --- libs/common/src/database/database.module.ts | 14 +- libs/common/src/helper/helper.module.ts | 6 +- .../services/device.messages.service.ts | 2 +- .../device.notification.module.ts | 10 -- .../dtos/device.notification.dto.ts | 15 --- .../modules/device-notification/dtos/index.ts | 1 - .../entities/device.notification.entity.ts | 33 ----- .../device-notification/entities/index.ts | 1 - .../device.notification.repository.ts | 10 -- .../device-notification/repositories/index.ts | 1 - ...evice.user.permission.repository.module.ts | 10 -- .../dtos/device.user.permission.dto.ts | 19 --- .../device-user-permission/dtos/index.ts | 1 - .../entities/device.user.permission.entity.ts | 43 ------- .../device-user-permission/entities/index.ts | 1 - .../device.user.permission.repository.ts | 10 -- .../repositories/index.ts | 1 - .../device/device.repository.module.ts | 14 +- .../src/modules/device/dtos/device.dto.ts | 32 +++++ .../modules/device/entities/device.entity.ts | 71 ++++++++++- .../device/repositories/device.repository.ts | 18 ++- .../permission/entities/permission.entity.ts | 2 +- .../role-type/entities/role.type.entity.ts | 2 +- .../src/modules/space-type/dtos/index.ts | 1 - .../modules/space-type/dtos/space.type.dto.ts | 11 -- .../src/modules/space-type/entities/index.ts | 1 - .../space-type/entities/space.type.entity.ts | 26 ---- .../modules/space-type/repositories/index.ts | 1 - .../repositories/space.type.repository.ts | 10 -- .../space.type.repository.module.ts | 11 -- .../src/modules/space/dtos/space.dto.ts | 10 ++ .../modules/space/entities/space.entity.ts | 29 ++++- .../space/repositories/space.repository.ts | 9 +- .../modules/space/space.repository.module.ts | 4 +- .../modules/user-notification/dtos/index.ts | 1 - .../dtos/user.notification.dto.ts | 19 --- .../user-notification/entities/index.ts | 1 - .../entities/user.notification.entity.ts | 27 ---- .../user-notification/repositories/index.ts | 1 - .../user.notification.repository.ts | 10 -- .../user.notification.repository.module.ts | 10 -- .../common/src/modules/user-otp/dtos/index.ts | 1 - .../src/modules/user-otp/dtos/user-otp.dto.ts | 19 --- .../src/modules/user-otp/entities/index.ts | 1 - .../user-otp/entities/user-otp.entity.ts | 34 ----- .../modules/user-otp/repositories/index.ts | 0 .../repositories/user-otp.repository.ts | 10 -- .../user-otp/user-otp.repository.module.ts | 11 -- .../src/modules/user-role/dtos/index.ts | 1 - .../modules/user-role/dtos/user.role.dto.ts | 15 --- .../src/modules/user-role/entities/index.ts | 1 - .../user-role/entities/user.role.entity.ts | 24 ---- .../modules/user-role/repositories/index.ts | 1 - .../repositories/user.role.repository.ts | 10 -- .../user-role/user.role.repository.module.ts | 10 -- .../src/modules/user-space/dtos/index.ts | 1 - .../modules/user-space/dtos/user.space.dto.ts | 15 --- .../src/modules/user-space/entities/index.ts | 1 - .../user-space/entities/user.space.entity.ts | 29 ----- .../modules/user-space/repositories/index.ts | 1 - .../repositories/user.space.repository.ts | 10 -- .../user.space.repository.module.ts | 11 -- libs/common/src/modules/user/dtos/user.dto.ts | 66 +++++++++- .../src/modules/user/entities/user.entity.ts | 120 ++++++++++++++++-- .../user/repositories/user.repository.ts | 36 +++++- .../modules/user/user.repository.module.ts | 18 ++- libs/common/src/seed/seeder.module.ts | 10 +- .../src/seed/services/space.type.seeder.ts | 2 +- .../src/seed/services/supper.admin.seeder.ts | 2 +- src/auth/auth.module.ts | 12 +- src/auth/services/user-auth.service.ts | 4 +- src/building/building.module.ts | 14 +- src/building/services/building.service.ts | 4 +- src/community/community.module.ts | 14 +- src/community/services/community.service.ts | 4 +- src/device-messages/device-messages.module.ts | 6 +- .../services/device-messages.service.ts | 2 +- src/device/device.module.ts | 2 +- src/floor/floor.module.ts | 14 +- src/floor/services/floor.service.ts | 4 +- src/role/role.module.ts | 4 +- src/role/services/role.service.ts | 2 +- src/room/room.module.ts | 14 +- src/room/services/room.service.ts | 4 +- src/unit/services/unit.service.ts | 4 +- src/unit/unit.module.ts | 16 +-- .../user-device-permission.service.ts | 2 +- .../user-device-permission.module.ts | 2 +- .../services/user-notification.service.ts | 2 +- .../user-notification.module.ts | 6 +- 90 files changed, 470 insertions(+), 625 deletions(-) delete mode 100644 libs/common/src/modules/device-notification/device.notification.module.ts delete mode 100644 libs/common/src/modules/device-notification/dtos/device.notification.dto.ts delete mode 100644 libs/common/src/modules/device-notification/dtos/index.ts delete mode 100644 libs/common/src/modules/device-notification/entities/device.notification.entity.ts delete mode 100644 libs/common/src/modules/device-notification/entities/index.ts delete mode 100644 libs/common/src/modules/device-notification/repositories/device.notification.repository.ts delete mode 100644 libs/common/src/modules/device-notification/repositories/index.ts delete mode 100644 libs/common/src/modules/device-user-permission/device.user.permission.repository.module.ts delete mode 100644 libs/common/src/modules/device-user-permission/dtos/device.user.permission.dto.ts delete mode 100644 libs/common/src/modules/device-user-permission/dtos/index.ts delete mode 100644 libs/common/src/modules/device-user-permission/entities/device.user.permission.entity.ts delete mode 100644 libs/common/src/modules/device-user-permission/entities/index.ts delete mode 100644 libs/common/src/modules/device-user-permission/repositories/device.user.permission.repository.ts delete mode 100644 libs/common/src/modules/device-user-permission/repositories/index.ts delete mode 100644 libs/common/src/modules/space-type/dtos/index.ts delete mode 100644 libs/common/src/modules/space-type/dtos/space.type.dto.ts delete mode 100644 libs/common/src/modules/space-type/entities/index.ts delete mode 100644 libs/common/src/modules/space-type/entities/space.type.entity.ts delete mode 100644 libs/common/src/modules/space-type/repositories/index.ts delete mode 100644 libs/common/src/modules/space-type/repositories/space.type.repository.ts delete mode 100644 libs/common/src/modules/space-type/space.type.repository.module.ts delete mode 100644 libs/common/src/modules/user-notification/dtos/index.ts delete mode 100644 libs/common/src/modules/user-notification/dtos/user.notification.dto.ts delete mode 100644 libs/common/src/modules/user-notification/entities/index.ts delete mode 100644 libs/common/src/modules/user-notification/entities/user.notification.entity.ts delete mode 100644 libs/common/src/modules/user-notification/repositories/index.ts delete mode 100644 libs/common/src/modules/user-notification/repositories/user.notification.repository.ts delete mode 100644 libs/common/src/modules/user-notification/user.notification.repository.module.ts delete mode 100644 libs/common/src/modules/user-otp/dtos/index.ts delete mode 100644 libs/common/src/modules/user-otp/dtos/user-otp.dto.ts delete mode 100644 libs/common/src/modules/user-otp/entities/index.ts delete mode 100644 libs/common/src/modules/user-otp/entities/user-otp.entity.ts delete mode 100644 libs/common/src/modules/user-otp/repositories/index.ts delete mode 100644 libs/common/src/modules/user-otp/repositories/user-otp.repository.ts delete mode 100644 libs/common/src/modules/user-otp/user-otp.repository.module.ts delete mode 100644 libs/common/src/modules/user-role/dtos/index.ts delete mode 100644 libs/common/src/modules/user-role/dtos/user.role.dto.ts delete mode 100644 libs/common/src/modules/user-role/entities/index.ts delete mode 100644 libs/common/src/modules/user-role/entities/user.role.entity.ts delete mode 100644 libs/common/src/modules/user-role/repositories/index.ts delete mode 100644 libs/common/src/modules/user-role/repositories/user.role.repository.ts delete mode 100644 libs/common/src/modules/user-role/user.role.repository.module.ts delete mode 100644 libs/common/src/modules/user-space/dtos/index.ts delete mode 100644 libs/common/src/modules/user-space/dtos/user.space.dto.ts delete mode 100644 libs/common/src/modules/user-space/entities/index.ts delete mode 100644 libs/common/src/modules/user-space/entities/user.space.entity.ts delete mode 100644 libs/common/src/modules/user-space/repositories/index.ts delete mode 100644 libs/common/src/modules/user-space/repositories/user.space.repository.ts delete mode 100644 libs/common/src/modules/user-space/user.space.repository.module.ts diff --git a/libs/common/src/database/database.module.ts b/libs/common/src/database/database.module.ts index e6ddb6c..1934a18 100644 --- a/libs/common/src/database/database.module.ts +++ b/libs/common/src/database/database.module.ts @@ -4,18 +4,18 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { SnakeNamingStrategy } from './strategies'; import { UserEntity } from '../modules/user/entities/user.entity'; import { UserSessionEntity } from '../modules/session/entities/session.entity'; -import { UserOtpEntity } from '../modules/user-otp/entities'; +import { UserOtpEntity } from '../modules/user/entities'; import { ProductEntity } from '../modules/product/entities'; import { DeviceEntity } from '../modules/device/entities'; import { PermissionTypeEntity } from '../modules/permission/entities'; import { SpaceEntity } from '../modules/space/entities'; -import { SpaceTypeEntity } from '../modules/space-type/entities'; -import { UserSpaceEntity } from '../modules/user-space/entities'; -import { DeviceUserPermissionEntity } from '../modules/device-user-permission/entities'; -import { UserRoleEntity } from '../modules/user-role/entities'; +import { SpaceTypeEntity } from '../modules/space/entities'; +import { UserSpaceEntity } from '../modules/user/entities'; +import { DeviceUserPermissionEntity } from '../modules/device/entities'; +import { UserRoleEntity } from '../modules/user/entities'; import { RoleTypeEntity } from '../modules/role-type/entities'; -import { UserNotificationEntity } from '../modules/user-notification/entities'; -import { DeviceNotificationEntity } from '../modules/device-notification/entities'; +import { UserNotificationEntity } from '../modules/user/entities'; +import { DeviceNotificationEntity } from '../modules/device/entities'; import { RegionEntity } from '../modules/region/entities'; import { TimeZoneEntity } from '../modules/timezone/entities'; diff --git a/libs/common/src/helper/helper.module.ts b/libs/common/src/helper/helper.module.ts index 3378051..99ed24d 100644 --- a/libs/common/src/helper/helper.module.ts +++ b/libs/common/src/helper/helper.module.ts @@ -7,8 +7,8 @@ import { TuyaWebSocketService } from './services/tuya.web.socket.service'; import { OneSignalService } from './services/onesignal.service'; import { DeviceMessagesService } from './services/device.messages.service'; -import { DeviceNotificationRepositoryModule } from '../modules/device-notification/device.notification.module'; -import { DeviceNotificationRepository } from '../modules/device-notification/repositories'; +import { DeviceRepositoryModule } from '../modules/device/device.repository.module'; +import { DeviceNotificationRepository } from '../modules/device/repositories'; @Global() @Module({ @@ -23,6 +23,6 @@ import { DeviceNotificationRepository } from '../modules/device-notification/rep ], exports: [HelperHashService, SpacePermissionService], controllers: [], - imports: [SpaceRepositoryModule, DeviceNotificationRepositoryModule], + imports: [SpaceRepositoryModule, DeviceRepositoryModule], }) export class HelperModule {} diff --git a/libs/common/src/helper/services/device.messages.service.ts b/libs/common/src/helper/services/device.messages.service.ts index c51f6f4..c4e7024 100644 --- a/libs/common/src/helper/services/device.messages.service.ts +++ b/libs/common/src/helper/services/device.messages.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { DeviceNotificationRepository } from '@app/common/modules/device-notification/repositories'; +import { DeviceNotificationRepository } from '@app/common/modules/device/repositories'; import { OneSignalService } from './onesignal.service'; @Injectable() diff --git a/libs/common/src/modules/device-notification/device.notification.module.ts b/libs/common/src/modules/device-notification/device.notification.module.ts deleted file mode 100644 index 73acce3..0000000 --- a/libs/common/src/modules/device-notification/device.notification.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { DeviceNotificationEntity } from './entities'; -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([DeviceNotificationEntity])], -}) -export class DeviceNotificationRepositoryModule {} diff --git a/libs/common/src/modules/device-notification/dtos/device.notification.dto.ts b/libs/common/src/modules/device-notification/dtos/device.notification.dto.ts deleted file mode 100644 index 0746c14..0000000 --- a/libs/common/src/modules/device-notification/dtos/device.notification.dto.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { IsNotEmpty, IsString } from 'class-validator'; - -export class DeviceNotificationDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public userUuid: string; - - @IsString() - @IsNotEmpty() - public deviceUuid: string; -} diff --git a/libs/common/src/modules/device-notification/dtos/index.ts b/libs/common/src/modules/device-notification/dtos/index.ts deleted file mode 100644 index d205031..0000000 --- a/libs/common/src/modules/device-notification/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device.notification.dto'; diff --git a/libs/common/src/modules/device-notification/entities/device.notification.entity.ts b/libs/common/src/modules/device-notification/entities/device.notification.entity.ts deleted file mode 100644 index 84e592a..0000000 --- a/libs/common/src/modules/device-notification/entities/device.notification.entity.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Column, Entity, ManyToOne, Unique } from 'typeorm'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { DeviceNotificationDto } from '../dtos'; -import { DeviceEntity } from '../../device/entities'; -import { UserEntity } from '../../user/entities'; - -@Entity({ name: 'device-notification' }) -@Unique(['userUuid', 'deviceUuid']) -export class DeviceNotificationEntity extends AbstractEntity { - @Column({ - nullable: false, - }) - public userUuid: string; - - @Column({ - nullable: false, - }) - deviceUuid: string; - - @ManyToOne(() => DeviceEntity, (device) => device.permission, { - nullable: false, - }) - device: DeviceEntity; - - @ManyToOne(() => UserEntity, (user) => user.userPermission, { - nullable: false, - }) - user: UserEntity; - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/device-notification/entities/index.ts b/libs/common/src/modules/device-notification/entities/index.ts deleted file mode 100644 index fedfc80..0000000 --- a/libs/common/src/modules/device-notification/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device.notification.entity'; diff --git a/libs/common/src/modules/device-notification/repositories/device.notification.repository.ts b/libs/common/src/modules/device-notification/repositories/device.notification.repository.ts deleted file mode 100644 index b226791..0000000 --- a/libs/common/src/modules/device-notification/repositories/device.notification.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { DeviceNotificationEntity } from '../entities'; - -@Injectable() -export class DeviceNotificationRepository extends Repository { - constructor(private dataSource: DataSource) { - super(DeviceNotificationEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/device-notification/repositories/index.ts b/libs/common/src/modules/device-notification/repositories/index.ts deleted file mode 100644 index 1f3da6f..0000000 --- a/libs/common/src/modules/device-notification/repositories/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device.notification.repository'; diff --git a/libs/common/src/modules/device-user-permission/device.user.permission.repository.module.ts b/libs/common/src/modules/device-user-permission/device.user.permission.repository.module.ts deleted file mode 100644 index d950fd8..0000000 --- a/libs/common/src/modules/device-user-permission/device.user.permission.repository.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { DeviceUserPermissionEntity } from './entities'; -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([DeviceUserPermissionEntity])], -}) -export class DeviceUserPermissionRepositoryModule {} diff --git a/libs/common/src/modules/device-user-permission/dtos/device.user.permission.dto.ts b/libs/common/src/modules/device-user-permission/dtos/device.user.permission.dto.ts deleted file mode 100644 index e78ea3c..0000000 --- a/libs/common/src/modules/device-user-permission/dtos/device.user.permission.dto.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { IsNotEmpty, IsString } from 'class-validator'; - -export class DeviceUserPermissionDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public userUuid: string; - - @IsString() - @IsNotEmpty() - public deviceUuid: string; - - @IsString() - @IsNotEmpty() - public permissionTypeUuid: string; -} diff --git a/libs/common/src/modules/device-user-permission/dtos/index.ts b/libs/common/src/modules/device-user-permission/dtos/index.ts deleted file mode 100644 index b95b695..0000000 --- a/libs/common/src/modules/device-user-permission/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device.user.permission.dto'; diff --git a/libs/common/src/modules/device-user-permission/entities/device.user.permission.entity.ts b/libs/common/src/modules/device-user-permission/entities/device.user.permission.entity.ts deleted file mode 100644 index d136df7..0000000 --- a/libs/common/src/modules/device-user-permission/entities/device.user.permission.entity.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Column, Entity, ManyToOne, Unique } from 'typeorm'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { DeviceUserPermissionDto } from '../dtos'; -import { PermissionTypeEntity } from '../../permission/entities'; -import { DeviceEntity } from '../../device/entities'; -import { UserEntity } from '../../user/entities'; - -@Entity({ name: 'device-user-permission' }) -@Unique(['userUuid', 'deviceUuid']) -export class DeviceUserPermissionEntity extends AbstractEntity { - @Column({ - nullable: false, - }) - public userUuid: string; - - @Column({ - nullable: false, - }) - deviceUuid: string; - - @ManyToOne(() => DeviceEntity, (device) => device.permission, { - nullable: false, - }) - device: DeviceEntity; - - @ManyToOne( - () => PermissionTypeEntity, - (permissionType) => permissionType.permission, - { - nullable: false, - }, - ) - permissionType: PermissionTypeEntity; - - @ManyToOne(() => UserEntity, (user) => user.userPermission, { - nullable: false, - }) - user: UserEntity; - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/device-user-permission/entities/index.ts b/libs/common/src/modules/device-user-permission/entities/index.ts deleted file mode 100644 index 9e95d82..0000000 --- a/libs/common/src/modules/device-user-permission/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device.user.permission.entity'; diff --git a/libs/common/src/modules/device-user-permission/repositories/device.user.permission.repository.ts b/libs/common/src/modules/device-user-permission/repositories/device.user.permission.repository.ts deleted file mode 100644 index a1776b3..0000000 --- a/libs/common/src/modules/device-user-permission/repositories/device.user.permission.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { DeviceUserPermissionEntity } from '../entities'; - -@Injectable() -export class DeviceUserPermissionRepository extends Repository { - constructor(private dataSource: DataSource) { - super(DeviceUserPermissionEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/device-user-permission/repositories/index.ts b/libs/common/src/modules/device-user-permission/repositories/index.ts deleted file mode 100644 index 6957209..0000000 --- a/libs/common/src/modules/device-user-permission/repositories/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device.user.permission.repository'; diff --git a/libs/common/src/modules/device/device.repository.module.ts b/libs/common/src/modules/device/device.repository.module.ts index 438e268..4b914fa 100644 --- a/libs/common/src/modules/device/device.repository.module.ts +++ b/libs/common/src/modules/device/device.repository.module.ts @@ -1,11 +1,21 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { DeviceEntity } from './entities'; +import { + DeviceEntity, + DeviceNotificationEntity, + DeviceUserPermissionEntity, +} from './entities'; @Module({ providers: [], exports: [], controllers: [], - imports: [TypeOrmModule.forFeature([DeviceEntity])], + imports: [ + TypeOrmModule.forFeature([ + DeviceEntity, + DeviceNotificationEntity, + DeviceUserPermissionEntity, + ]), + ], }) export class DeviceRepositoryModule {} diff --git a/libs/common/src/modules/device/dtos/device.dto.ts b/libs/common/src/modules/device/dtos/device.dto.ts index 7a6ba0c..41a0476 100644 --- a/libs/common/src/modules/device/dtos/device.dto.ts +++ b/libs/common/src/modules/device/dtos/device.dto.ts @@ -21,3 +21,35 @@ export class DeviceDto { @IsNotEmpty() productUuid: string; } + +export class DeviceUserPermissionDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public userUuid: string; + + @IsString() + @IsNotEmpty() + public deviceUuid: string; + + @IsString() + @IsNotEmpty() + public permissionTypeUuid: string; +} + +export class DeviceNotificationDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public userUuid: string; + + @IsString() + @IsNotEmpty() + public deviceUuid: string; +} diff --git a/libs/common/src/modules/device/entities/device.entity.ts b/libs/common/src/modules/device/entities/device.entity.ts index f782b4a..c02f8a1 100644 --- a/libs/common/src/modules/device/entities/device.entity.ts +++ b/libs/common/src/modules/device/entities/device.entity.ts @@ -1,11 +1,11 @@ import { Column, Entity, ManyToOne, OneToMany, Unique, Index } from 'typeorm'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { DeviceDto } from '../dtos/device.dto'; +import { DeviceDto, DeviceUserPermissionDto } from '../dtos/device.dto'; import { SpaceEntity } from '../../space/entities'; import { ProductEntity } from '../../product/entities'; -import { DeviceUserPermissionEntity } from '../../device-user-permission/entities'; -import { DeviceNotificationEntity } from '../../device-notification/entities'; import { UserEntity } from '../../user/entities'; +import { DeviceNotificationDto } from '../dtos'; +import { PermissionTypeEntity } from '../../permission/entities'; @Entity({ name: 'device' }) @Unique(['deviceTuyaUuid']) @@ -60,3 +60,68 @@ export class DeviceEntity extends AbstractEntity { Object.assign(this, partial); } } + +@Entity({ name: 'device-notification' }) +@Unique(['userUuid', 'deviceUuid']) +export class DeviceNotificationEntity extends AbstractEntity { + @Column({ + nullable: false, + }) + public userUuid: string; + + @Column({ + nullable: false, + }) + deviceUuid: string; + + @ManyToOne(() => DeviceEntity, (device) => device.permission, { + nullable: false, + }) + device: DeviceEntity; + + @ManyToOne(() => UserEntity, (user) => user.userPermission, { + nullable: false, + }) + user: UserEntity; + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} + +@Entity({ name: 'device-user-permission' }) +@Unique(['userUuid', 'deviceUuid']) +export class DeviceUserPermissionEntity extends AbstractEntity { + @Column({ + nullable: false, + }) + public userUuid: string; + + @Column({ + nullable: false, + }) + deviceUuid: string; + + @ManyToOne(() => DeviceEntity, (device) => device.permission, { + nullable: false, + }) + device: DeviceEntity; + + @ManyToOne( + () => PermissionTypeEntity, + (permissionType) => permissionType.permission, + { + nullable: false, + }, + ) + permissionType: PermissionTypeEntity; + + @ManyToOne(() => UserEntity, (user) => user.userPermission, { + nullable: false, + }) + user: UserEntity; + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} diff --git a/libs/common/src/modules/device/repositories/device.repository.ts b/libs/common/src/modules/device/repositories/device.repository.ts index 267c06c..dad195b 100644 --- a/libs/common/src/modules/device/repositories/device.repository.ts +++ b/libs/common/src/modules/device/repositories/device.repository.ts @@ -1,6 +1,10 @@ import { DataSource, Repository } from 'typeorm'; import { Injectable } from '@nestjs/common'; -import { DeviceEntity } from '../entities'; +import { + DeviceEntity, + DeviceNotificationEntity, + DeviceUserPermissionEntity, +} from '../entities'; @Injectable() export class DeviceRepository extends Repository { @@ -8,3 +12,15 @@ export class DeviceRepository extends Repository { super(DeviceEntity, dataSource.createEntityManager()); } } +@Injectable() +export class DeviceNotificationRepository extends Repository { + constructor(private dataSource: DataSource) { + super(DeviceNotificationEntity, dataSource.createEntityManager()); + } +} +@Injectable() +export class DeviceUserPermissionRepository extends Repository { + constructor(private dataSource: DataSource) { + super(DeviceUserPermissionEntity, dataSource.createEntityManager()); + } +} diff --git a/libs/common/src/modules/permission/entities/permission.entity.ts b/libs/common/src/modules/permission/entities/permission.entity.ts index d15d936..ffb6c9f 100644 --- a/libs/common/src/modules/permission/entities/permission.entity.ts +++ b/libs/common/src/modules/permission/entities/permission.entity.ts @@ -2,7 +2,7 @@ import { Column, Entity, OneToMany } from 'typeorm'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; import { PermissionType } from '@app/common/constants/permission-type.enum'; import { PermissionTypeDto } from '../dtos/permission.dto'; -import { DeviceUserPermissionEntity } from '../../device-user-permission/entities'; +import { DeviceUserPermissionEntity } from '../../device/entities'; @Entity({ name: 'permission-type' }) export class PermissionTypeEntity extends AbstractEntity { diff --git a/libs/common/src/modules/role-type/entities/role.type.entity.ts b/libs/common/src/modules/role-type/entities/role.type.entity.ts index fd332fb..10f30bd 100644 --- a/libs/common/src/modules/role-type/entities/role.type.entity.ts +++ b/libs/common/src/modules/role-type/entities/role.type.entity.ts @@ -2,7 +2,7 @@ import { Column, Entity, OneToMany, Unique } from 'typeorm'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; import { RoleTypeDto } from '../dtos/role.type.dto'; import { RoleType } from '@app/common/constants/role.type.enum'; -import { UserRoleEntity } from '../../user-role/entities'; +import { UserRoleEntity } from '../../user/entities'; @Entity({ name: 'role-type' }) @Unique(['type']) diff --git a/libs/common/src/modules/space-type/dtos/index.ts b/libs/common/src/modules/space-type/dtos/index.ts deleted file mode 100644 index e9824e7..0000000 --- a/libs/common/src/modules/space-type/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './space.type.dto'; diff --git a/libs/common/src/modules/space-type/dtos/space.type.dto.ts b/libs/common/src/modules/space-type/dtos/space.type.dto.ts deleted file mode 100644 index 2f3d807..0000000 --- a/libs/common/src/modules/space-type/dtos/space.type.dto.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { IsNotEmpty, IsString } from 'class-validator'; - -export class SpaceTypeDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public type: string; -} diff --git a/libs/common/src/modules/space-type/entities/index.ts b/libs/common/src/modules/space-type/entities/index.ts deleted file mode 100644 index 71944ff..0000000 --- a/libs/common/src/modules/space-type/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './space.type.entity'; diff --git a/libs/common/src/modules/space-type/entities/space.type.entity.ts b/libs/common/src/modules/space-type/entities/space.type.entity.ts deleted file mode 100644 index f66ee86..0000000 --- a/libs/common/src/modules/space-type/entities/space.type.entity.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Column, Entity, OneToMany } from 'typeorm'; -import { SpaceTypeDto } from '../dtos'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { SpaceEntity } from '../../space/entities'; - -@Entity({ name: 'space-type' }) -export class SpaceTypeEntity extends AbstractEntity { - @Column({ - type: 'uuid', - default: () => 'gen_random_uuid()', // Use gen_random_uuid() for default value - nullable: false, - }) - public uuid: string; - - @Column({ - nullable: false, - }) - type: string; - - @OneToMany(() => SpaceEntity, (space) => space.spaceType) - spaces: SpaceEntity[]; - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/space-type/repositories/index.ts b/libs/common/src/modules/space-type/repositories/index.ts deleted file mode 100644 index 26f69ae..0000000 --- a/libs/common/src/modules/space-type/repositories/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './space.type.repository'; diff --git a/libs/common/src/modules/space-type/repositories/space.type.repository.ts b/libs/common/src/modules/space-type/repositories/space.type.repository.ts deleted file mode 100644 index 0ea5b13..0000000 --- a/libs/common/src/modules/space-type/repositories/space.type.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { SpaceTypeEntity } from '../entities/space.type.entity'; - -@Injectable() -export class SpaceTypeRepository extends Repository { - constructor(private dataSource: DataSource) { - super(SpaceTypeEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/space-type/space.type.repository.module.ts b/libs/common/src/modules/space-type/space.type.repository.module.ts deleted file mode 100644 index 6787b67..0000000 --- a/libs/common/src/modules/space-type/space.type.repository.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { SpaceTypeEntity } from './entities/space.type.entity'; - -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([SpaceTypeEntity])], -}) -export class SpaceTypeRepositoryModule {} diff --git a/libs/common/src/modules/space/dtos/space.dto.ts b/libs/common/src/modules/space/dtos/space.dto.ts index 98706d0..04072fd 100644 --- a/libs/common/src/modules/space/dtos/space.dto.ts +++ b/libs/common/src/modules/space/dtos/space.dto.ts @@ -21,3 +21,13 @@ export class SpaceDto { @IsNotEmpty() public invitationCode: string; } + +export class SpaceTypeDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public type: string; +} diff --git a/libs/common/src/modules/space/entities/space.entity.ts b/libs/common/src/modules/space/entities/space.entity.ts index 030db57..10e78a8 100644 --- a/libs/common/src/modules/space/entities/space.entity.ts +++ b/libs/common/src/modules/space/entities/space.entity.ts @@ -1,16 +1,37 @@ import { Column, Entity, ManyToOne, OneToMany, Unique } from 'typeorm'; -import { SpaceDto } from '../dtos'; +import { SpaceDto, SpaceTypeDto } from '../dtos'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { SpaceTypeEntity } from '../../space-type/entities'; -import { UserSpaceEntity } from '../../user-space/entities'; +import { UserSpaceEntity } from '../../user/entities'; import { DeviceEntity } from '../../device/entities'; +@Entity({ name: 'space-type' }) +export class SpaceTypeEntity extends AbstractEntity { + @Column({ + type: 'uuid', + default: () => 'gen_random_uuid()', + nullable: false, + }) + public uuid: string; + + @Column({ + nullable: false, + }) + type: string; + + @OneToMany(() => SpaceEntity, (space) => space.spaceType) + spaces: SpaceEntity[]; + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} + @Entity({ name: 'space' }) @Unique(['invitationCode']) export class SpaceEntity extends AbstractEntity { @Column({ type: 'uuid', - default: () => 'gen_random_uuid()', // Use gen_random_uuid() for default value + default: () => 'gen_random_uuid()', nullable: false, }) public uuid: string; diff --git a/libs/common/src/modules/space/repositories/space.repository.ts b/libs/common/src/modules/space/repositories/space.repository.ts index c939761..ea11a6e 100644 --- a/libs/common/src/modules/space/repositories/space.repository.ts +++ b/libs/common/src/modules/space/repositories/space.repository.ts @@ -1,6 +1,6 @@ import { DataSource, Repository } from 'typeorm'; import { Injectable } from '@nestjs/common'; -import { SpaceEntity } from '../entities/space.entity'; +import { SpaceEntity, SpaceTypeEntity } from '../entities'; @Injectable() export class SpaceRepository extends Repository { @@ -8,3 +8,10 @@ export class SpaceRepository extends Repository { super(SpaceEntity, dataSource.createEntityManager()); } } + +@Injectable() +export class SpaceTypeRepository extends Repository { + constructor(private dataSource: DataSource) { + super(SpaceTypeEntity, dataSource.createEntityManager()); + } +} diff --git a/libs/common/src/modules/space/space.repository.module.ts b/libs/common/src/modules/space/space.repository.module.ts index 58a8ad0..9906708 100644 --- a/libs/common/src/modules/space/space.repository.module.ts +++ b/libs/common/src/modules/space/space.repository.module.ts @@ -1,11 +1,11 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { SpaceEntity } from './entities/space.entity'; +import { SpaceEntity, SpaceTypeEntity } from './entities'; @Module({ providers: [], exports: [], controllers: [], - imports: [TypeOrmModule.forFeature([SpaceEntity])], + imports: [TypeOrmModule.forFeature([SpaceEntity, SpaceTypeEntity])], }) export class SpaceRepositoryModule {} diff --git a/libs/common/src/modules/user-notification/dtos/index.ts b/libs/common/src/modules/user-notification/dtos/index.ts deleted file mode 100644 index 307e6f3..0000000 --- a/libs/common/src/modules/user-notification/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.notification.dto'; diff --git a/libs/common/src/modules/user-notification/dtos/user.notification.dto.ts b/libs/common/src/modules/user-notification/dtos/user.notification.dto.ts deleted file mode 100644 index 4e9f72f..0000000 --- a/libs/common/src/modules/user-notification/dtos/user.notification.dto.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { IsBoolean, IsNotEmpty, IsString } from 'class-validator'; - -export class UserNotificationDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public userUuid: string; - - @IsString() - @IsNotEmpty() - public subscriptionUuid: string; - - @IsBoolean() - @IsNotEmpty() - public active: boolean; -} diff --git a/libs/common/src/modules/user-notification/entities/index.ts b/libs/common/src/modules/user-notification/entities/index.ts deleted file mode 100644 index 1acf5c0..0000000 --- a/libs/common/src/modules/user-notification/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.notification.entity'; diff --git a/libs/common/src/modules/user-notification/entities/user.notification.entity.ts b/libs/common/src/modules/user-notification/entities/user.notification.entity.ts deleted file mode 100644 index aa6ec6b..0000000 --- a/libs/common/src/modules/user-notification/entities/user.notification.entity.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Column, Entity, ManyToOne, Unique } from 'typeorm'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { UserNotificationDto } from '../dtos'; -import { UserEntity } from '../../user/entities'; - -@Entity({ name: 'user-notification' }) -@Unique(['user', 'subscriptionUuid']) -export class UserNotificationEntity extends AbstractEntity { - @ManyToOne(() => UserEntity, (user) => user.roles, { - nullable: false, - }) - user: UserEntity; - @Column({ - nullable: false, - }) - subscriptionUuid: string; - - @Column({ - nullable: false, - default: true, - }) - active: boolean; - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/user-notification/repositories/index.ts b/libs/common/src/modules/user-notification/repositories/index.ts deleted file mode 100644 index 76d3ac2..0000000 --- a/libs/common/src/modules/user-notification/repositories/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.notification.repository'; diff --git a/libs/common/src/modules/user-notification/repositories/user.notification.repository.ts b/libs/common/src/modules/user-notification/repositories/user.notification.repository.ts deleted file mode 100644 index 6862e88..0000000 --- a/libs/common/src/modules/user-notification/repositories/user.notification.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { UserNotificationEntity } from '../entities'; - -@Injectable() -export class UserNotificationRepository extends Repository { - constructor(private dataSource: DataSource) { - super(UserNotificationEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/user-notification/user.notification.repository.module.ts b/libs/common/src/modules/user-notification/user.notification.repository.module.ts deleted file mode 100644 index 73997be..0000000 --- a/libs/common/src/modules/user-notification/user.notification.repository.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { UserNotificationEntity } from './entities'; -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([UserNotificationEntity])], -}) -export class UserNotificationRepositoryModule {} diff --git a/libs/common/src/modules/user-otp/dtos/index.ts b/libs/common/src/modules/user-otp/dtos/index.ts deleted file mode 100644 index 114762e..0000000 --- a/libs/common/src/modules/user-otp/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user-otp.dto'; diff --git a/libs/common/src/modules/user-otp/dtos/user-otp.dto.ts b/libs/common/src/modules/user-otp/dtos/user-otp.dto.ts deleted file mode 100644 index febdacb..0000000 --- a/libs/common/src/modules/user-otp/dtos/user-otp.dto.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { IsNotEmpty, IsString } from 'class-validator'; - -export class UserOtpDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public email: string; - - @IsString() - @IsNotEmpty() - public otpCode: string; - - @IsString() - @IsNotEmpty() - public expiryTime: string; -} diff --git a/libs/common/src/modules/user-otp/entities/index.ts b/libs/common/src/modules/user-otp/entities/index.ts deleted file mode 100644 index d09957f..0000000 --- a/libs/common/src/modules/user-otp/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user-otp.entity'; diff --git a/libs/common/src/modules/user-otp/entities/user-otp.entity.ts b/libs/common/src/modules/user-otp/entities/user-otp.entity.ts deleted file mode 100644 index 454a3b1..0000000 --- a/libs/common/src/modules/user-otp/entities/user-otp.entity.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Column, Entity } from 'typeorm'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { UserOtpDto } from '../dtos'; -import { OtpType } from '../../../../src/constants/otp-type.enum'; - -@Entity({ name: 'user-otp' }) -export class UserOtpEntity extends AbstractEntity { - @Column({ - type: 'uuid', - default: () => 'gen_random_uuid()', - nullable: false, - }) - public uuid: string; - - @Column({ nullable: false }) - email: string; - - @Column({ nullable: false }) - otpCode: string; - - @Column({ nullable: false }) - expiryTime: Date; - - @Column({ - type: 'enum', - enum: Object.values(OtpType), - }) - type: OtpType; - - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/user-otp/repositories/index.ts b/libs/common/src/modules/user-otp/repositories/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/libs/common/src/modules/user-otp/repositories/user-otp.repository.ts b/libs/common/src/modules/user-otp/repositories/user-otp.repository.ts deleted file mode 100644 index 75cff43..0000000 --- a/libs/common/src/modules/user-otp/repositories/user-otp.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { UserOtpEntity } from '../entities'; - -@Injectable() -export class UserOtpRepository extends Repository { - constructor(private dataSource: DataSource) { - super(UserOtpEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/user-otp/user-otp.repository.module.ts b/libs/common/src/modules/user-otp/user-otp.repository.module.ts deleted file mode 100644 index 9286d8b..0000000 --- a/libs/common/src/modules/user-otp/user-otp.repository.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { UserOtpEntity } from './entities'; - -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([UserOtpEntity])], -}) -export class UserOtpRepositoryModule {} diff --git a/libs/common/src/modules/user-role/dtos/index.ts b/libs/common/src/modules/user-role/dtos/index.ts deleted file mode 100644 index 7879674..0000000 --- a/libs/common/src/modules/user-role/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.role.dto'; diff --git a/libs/common/src/modules/user-role/dtos/user.role.dto.ts b/libs/common/src/modules/user-role/dtos/user.role.dto.ts deleted file mode 100644 index 3ff4dab..0000000 --- a/libs/common/src/modules/user-role/dtos/user.role.dto.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { IsNotEmpty, IsString } from 'class-validator'; - -export class UserRoleDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public userUuid: string; - - @IsString() - @IsNotEmpty() - public roleTypeUuid: string; -} diff --git a/libs/common/src/modules/user-role/entities/index.ts b/libs/common/src/modules/user-role/entities/index.ts deleted file mode 100644 index b6f3bd9..0000000 --- a/libs/common/src/modules/user-role/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.role.entity'; diff --git a/libs/common/src/modules/user-role/entities/user.role.entity.ts b/libs/common/src/modules/user-role/entities/user.role.entity.ts deleted file mode 100644 index c733594..0000000 --- a/libs/common/src/modules/user-role/entities/user.role.entity.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Entity, ManyToOne, Unique } from 'typeorm'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { UserRoleDto } from '../dtos'; -import { UserEntity } from '../../user/entities'; -import { RoleTypeEntity } from '../../role-type/entities'; - -@Entity({ name: 'user-role' }) -@Unique(['user', 'roleType']) -export class UserRoleEntity extends AbstractEntity { - @ManyToOne(() => UserEntity, (user) => user.roles, { - nullable: false, - }) - user: UserEntity; - - @ManyToOne(() => RoleTypeEntity, (roleType) => roleType.roles, { - nullable: false, - }) - roleType: RoleTypeEntity; - - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/user-role/repositories/index.ts b/libs/common/src/modules/user-role/repositories/index.ts deleted file mode 100644 index abf7247..0000000 --- a/libs/common/src/modules/user-role/repositories/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.role.repository'; diff --git a/libs/common/src/modules/user-role/repositories/user.role.repository.ts b/libs/common/src/modules/user-role/repositories/user.role.repository.ts deleted file mode 100644 index 9bc9a24..0000000 --- a/libs/common/src/modules/user-role/repositories/user.role.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { UserRoleEntity } from '../entities'; - -@Injectable() -export class UserRoleRepository extends Repository { - constructor(private dataSource: DataSource) { - super(UserRoleEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/user-role/user.role.repository.module.ts b/libs/common/src/modules/user-role/user.role.repository.module.ts deleted file mode 100644 index 540787e..0000000 --- a/libs/common/src/modules/user-role/user.role.repository.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { UserRoleEntity } from './entities'; -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([UserRoleEntity])], -}) -export class UserRoleRepositoryModule {} diff --git a/libs/common/src/modules/user-space/dtos/index.ts b/libs/common/src/modules/user-space/dtos/index.ts deleted file mode 100644 index 41572f5..0000000 --- a/libs/common/src/modules/user-space/dtos/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.space.dto'; diff --git a/libs/common/src/modules/user-space/dtos/user.space.dto.ts b/libs/common/src/modules/user-space/dtos/user.space.dto.ts deleted file mode 100644 index b9ef4d0..0000000 --- a/libs/common/src/modules/user-space/dtos/user.space.dto.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { IsNotEmpty, IsString } from 'class-validator'; - -export class UserSpaceDto { - @IsString() - @IsNotEmpty() - public uuid: string; - - @IsString() - @IsNotEmpty() - public spaceUuid: string; - - @IsString() - @IsNotEmpty() - public userUuid: string; -} diff --git a/libs/common/src/modules/user-space/entities/index.ts b/libs/common/src/modules/user-space/entities/index.ts deleted file mode 100644 index ef6849a..0000000 --- a/libs/common/src/modules/user-space/entities/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.space.entity'; diff --git a/libs/common/src/modules/user-space/entities/user.space.entity.ts b/libs/common/src/modules/user-space/entities/user.space.entity.ts deleted file mode 100644 index a6caaa5..0000000 --- a/libs/common/src/modules/user-space/entities/user.space.entity.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Column, Entity, ManyToOne, Unique } from 'typeorm'; -import { UserSpaceDto } from '../dtos'; -import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { SpaceEntity } from '../../space/entities'; -import { UserEntity } from '../../user/entities'; - -@Entity({ name: 'user-space' }) -@Unique(['user', 'space']) -export class UserSpaceEntity extends AbstractEntity { - @Column({ - type: 'uuid', - default: () => 'gen_random_uuid()', // Use gen_random_uuid() for default value - nullable: false, - }) - public uuid: string; - - @ManyToOne(() => UserEntity, (user) => user.userSpaces, { nullable: false }) - user: UserEntity; - - @ManyToOne(() => SpaceEntity, (space) => space.userSpaces, { - nullable: false, - }) - space: SpaceEntity; - - constructor(partial: Partial) { - super(); - Object.assign(this, partial); - } -} diff --git a/libs/common/src/modules/user-space/repositories/index.ts b/libs/common/src/modules/user-space/repositories/index.ts deleted file mode 100644 index 3ad6d48..0000000 --- a/libs/common/src/modules/user-space/repositories/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './user.space.repository'; diff --git a/libs/common/src/modules/user-space/repositories/user.space.repository.ts b/libs/common/src/modules/user-space/repositories/user.space.repository.ts deleted file mode 100644 index b4b7507..0000000 --- a/libs/common/src/modules/user-space/repositories/user.space.repository.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DataSource, Repository } from 'typeorm'; -import { Injectable } from '@nestjs/common'; -import { UserSpaceEntity } from '../entities/user.space.entity'; - -@Injectable() -export class UserSpaceRepository extends Repository { - constructor(private dataSource: DataSource) { - super(UserSpaceEntity, dataSource.createEntityManager()); - } -} diff --git a/libs/common/src/modules/user-space/user.space.repository.module.ts b/libs/common/src/modules/user-space/user.space.repository.module.ts deleted file mode 100644 index 9655252..0000000 --- a/libs/common/src/modules/user-space/user.space.repository.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { UserSpaceEntity } from './entities/user.space.entity'; - -@Module({ - providers: [], - exports: [], - controllers: [], - imports: [TypeOrmModule.forFeature([UserSpaceEntity])], -}) -export class UserSpaceRepositoryModule {} diff --git a/libs/common/src/modules/user/dtos/user.dto.ts b/libs/common/src/modules/user/dtos/user.dto.ts index 706ca31..0a4bda2 100644 --- a/libs/common/src/modules/user/dtos/user.dto.ts +++ b/libs/common/src/modules/user/dtos/user.dto.ts @@ -1,4 +1,4 @@ -import { IsNotEmpty, IsString } from 'class-validator'; +import { IsBoolean, IsNotEmpty, IsString } from 'class-validator'; export class UserDto { @IsString() @@ -21,3 +21,67 @@ export class UserDto { @IsNotEmpty() public lastName: string; } + +export class UserNotificationDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public userUuid: string; + + @IsString() + @IsNotEmpty() + public subscriptionUuid: string; + + @IsBoolean() + @IsNotEmpty() + public active: boolean; +} + +export class UserOtpDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public email: string; + + @IsString() + @IsNotEmpty() + public otpCode: string; + + @IsString() + @IsNotEmpty() + public expiryTime: string; +} + +export class UserRoleDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public userUuid: string; + + @IsString() + @IsNotEmpty() + public roleTypeUuid: string; +} + +export class UserSpaceDto { + @IsString() + @IsNotEmpty() + public uuid: string; + + @IsString() + @IsNotEmpty() + public spaceUuid: string; + + @IsString() + @IsNotEmpty() + public userUuid: string; +} diff --git a/libs/common/src/modules/user/entities/user.entity.ts b/libs/common/src/modules/user/entities/user.entity.ts index 5b754e8..11dcd5c 100644 --- a/libs/common/src/modules/user/entities/user.entity.ts +++ b/libs/common/src/modules/user/entities/user.entity.ts @@ -1,15 +1,23 @@ -import { DeviceUserPermissionEntity } from '../../device-user-permission/entities/device.user.permission.entity'; -import { Column, Entity, ManyToOne, OneToMany } from 'typeorm'; -import { UserDto } from '../dtos'; +import { Column, Entity, ManyToOne, OneToMany, Unique } from 'typeorm'; +import { + UserDto, + UserNotificationDto, + UserOtpDto, + UserRoleDto, + UserSpaceDto, +} from '../dtos'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; -import { UserSpaceEntity } from '../../user-space/entities'; -import { UserRoleEntity } from '../../user-role/entities'; -import { DeviceNotificationEntity } from '../../device-notification/entities'; -import { UserNotificationEntity } from '../../user-notification/entities'; -import { DeviceEntity } from '../../device/entities'; +import { + DeviceEntity, + DeviceNotificationEntity, + DeviceUserPermissionEntity, +} from '../../device/entities'; import { defaultProfilePicture } from '@app/common/constants/default.profile.picture'; import { RegionEntity } from '../../region/entities'; import { TimeZoneEntity } from '../../timezone/entities'; +import { OtpType } from '../../../../src/constants/otp-type.enum'; +import { RoleTypeEntity } from '../../role-type/entities'; +import { SpaceEntity } from '../../space/entities'; @Entity({ name: 'user' }) export class UserEntity extends AbstractEntity { @@ -99,3 +107,99 @@ export class UserEntity extends AbstractEntity { Object.assign(this, partial); } } + +@Entity({ name: 'user-notification' }) +@Unique(['user', 'subscriptionUuid']) +export class UserNotificationEntity extends AbstractEntity { + @ManyToOne(() => UserEntity, (user) => user.roles, { + nullable: false, + }) + user: UserEntity; + @Column({ + nullable: false, + }) + subscriptionUuid: string; + + @Column({ + nullable: false, + default: true, + }) + active: boolean; + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} + +@Entity({ name: 'user-otp' }) +export class UserOtpEntity extends AbstractEntity { + @Column({ + type: 'uuid', + default: () => 'gen_random_uuid()', + nullable: false, + }) + public uuid: string; + + @Column({ nullable: false }) + email: string; + + @Column({ nullable: false }) + otpCode: string; + + @Column({ nullable: false }) + expiryTime: Date; + + @Column({ + type: 'enum', + enum: Object.values(OtpType), + }) + type: OtpType; + + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} + +@Entity({ name: 'user-role' }) +@Unique(['user', 'roleType']) +export class UserRoleEntity extends AbstractEntity { + @ManyToOne(() => UserEntity, (user) => user.roles, { + nullable: false, + }) + user: UserEntity; + + @ManyToOne(() => RoleTypeEntity, (roleType) => roleType.roles, { + nullable: false, + }) + roleType: RoleTypeEntity; + + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} + +@Entity({ name: 'user-space' }) +@Unique(['user', 'space']) +export class UserSpaceEntity extends AbstractEntity { + @Column({ + type: 'uuid', + default: () => 'gen_random_uuid()', // Use gen_random_uuid() for default value + nullable: false, + }) + public uuid: string; + + @ManyToOne(() => UserEntity, (user) => user.userSpaces, { nullable: false }) + user: UserEntity; + + @ManyToOne(() => SpaceEntity, (space) => space.userSpaces, { + nullable: false, + }) + space: SpaceEntity; + + constructor(partial: Partial) { + super(); + Object.assign(this, partial); + } +} diff --git a/libs/common/src/modules/user/repositories/user.repository.ts b/libs/common/src/modules/user/repositories/user.repository.ts index f83f14f..ffc1aa1 100644 --- a/libs/common/src/modules/user/repositories/user.repository.ts +++ b/libs/common/src/modules/user/repositories/user.repository.ts @@ -1,6 +1,12 @@ import { DataSource, Repository } from 'typeorm'; import { Injectable } from '@nestjs/common'; -import { UserEntity } from '../entities/user.entity'; +import { + UserEntity, + UserNotificationEntity, + UserOtpEntity, + UserRoleEntity, + UserSpaceEntity, +} from '../entities/'; @Injectable() export class UserRepository extends Repository { @@ -8,3 +14,31 @@ export class UserRepository extends Repository { super(UserEntity, dataSource.createEntityManager()); } } + +@Injectable() +export class UserNotificationRepository extends Repository { + constructor(private dataSource: DataSource) { + super(UserNotificationEntity, dataSource.createEntityManager()); + } +} + +@Injectable() +export class UserOtpRepository extends Repository { + constructor(private dataSource: DataSource) { + super(UserOtpEntity, dataSource.createEntityManager()); + } +} + +@Injectable() +export class UserRoleRepository extends Repository { + constructor(private dataSource: DataSource) { + super(UserRoleEntity, dataSource.createEntityManager()); + } +} + +@Injectable() +export class UserSpaceRepository extends Repository { + constructor(private dataSource: DataSource) { + super(UserSpaceEntity, dataSource.createEntityManager()); + } +} diff --git a/libs/common/src/modules/user/user.repository.module.ts b/libs/common/src/modules/user/user.repository.module.ts index 1b40c6a..11cefe0 100644 --- a/libs/common/src/modules/user/user.repository.module.ts +++ b/libs/common/src/modules/user/user.repository.module.ts @@ -1,11 +1,25 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { UserEntity } from './entities/user.entity'; +import { + UserEntity, + UserNotificationEntity, + UserOtpEntity, + UserRoleEntity, + UserSpaceEntity, +} from './entities'; @Module({ providers: [], exports: [], controllers: [], - imports: [TypeOrmModule.forFeature([UserEntity])], + imports: [ + TypeOrmModule.forFeature([ + UserEntity, + UserNotificationEntity, + UserOtpEntity, + UserRoleEntity, + UserSpaceEntity, + ]), + ], }) export class UserRepositoryModule {} diff --git a/libs/common/src/seed/seeder.module.ts b/libs/common/src/seed/seeder.module.ts index f148182..f63c05d 100644 --- a/libs/common/src/seed/seeder.module.ts +++ b/libs/common/src/seed/seeder.module.ts @@ -7,13 +7,12 @@ import { ConfigModule } from '@nestjs/config'; import { RoleTypeRepositoryModule } from '../modules/role-type/role.type.repository.module'; import { RoleTypeRepository } from '../modules/role-type/repositories'; import { RoleTypeSeeder } from './services/role.type.seeder'; -import { SpaceTypeRepository } from '../modules/space-type/repositories'; +import { SpaceTypeRepository } from '../modules/space/repositories'; import { SpaceTypeSeeder } from './services/space.type.seeder'; -import { SpaceTypeRepositoryModule } from '../modules/space-type/space.type.repository.module'; +import { SpaceRepositoryModule } from '../modules/space/space.repository.module'; import { SuperAdminSeeder } from './services/supper.admin.seeder'; import { UserRepository } from '../modules/user/repositories'; -import { UserRoleRepository } from '../modules/user-role/repositories'; -import { UserRoleRepositoryModule } from '../modules/user-role/user.role.repository.module'; +import { UserRoleRepository } from '../modules/user/repositories'; import { UserRepositoryModule } from '../modules/user/user.repository.module'; import { RegionSeeder } from './services/regions.seeder'; import { RegionRepository } from '../modules/region/repositories'; @@ -44,8 +43,7 @@ import { TimeZoneRepository } from '../modules/timezone/repositories'; PermissionTypeRepositoryModule, RoleTypeRepositoryModule, UserRepositoryModule, - UserRoleRepositoryModule, - SpaceTypeRepositoryModule, + SpaceRepositoryModule, ], }) export class SeederModule {} diff --git a/libs/common/src/seed/services/space.type.seeder.ts b/libs/common/src/seed/services/space.type.seeder.ts index 3cbcb87..56c2ee8 100644 --- a/libs/common/src/seed/services/space.type.seeder.ts +++ b/libs/common/src/seed/services/space.type.seeder.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { SpaceType } from '../../constants/space-type.enum'; -import { SpaceTypeRepository } from '../../modules/space-type/repositories'; +import { SpaceTypeRepository } from '../../modules/space/repositories'; @Injectable() export class SpaceTypeSeeder { diff --git a/libs/common/src/seed/services/supper.admin.seeder.ts b/libs/common/src/seed/services/supper.admin.seeder.ts index 6cb5f60..9cfdfee 100644 --- a/libs/common/src/seed/services/supper.admin.seeder.ts +++ b/libs/common/src/seed/services/supper.admin.seeder.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { UserRepository } from '@app/common/modules/user/repositories'; import { RoleType } from '@app/common/constants/role.type.enum'; -import { UserRoleRepository } from '@app/common/modules/user-role/repositories'; +import { UserRoleRepository } from '@app/common/modules/user/repositories'; import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; import { ConfigService } from '@nestjs/config'; import { HelperHashService } from '../../helper/services'; diff --git a/src/auth/auth.module.ts b/src/auth/auth.module.ts index 10515e7..012312d 100644 --- a/src/auth/auth.module.ts +++ b/src/auth/auth.module.ts @@ -2,14 +2,16 @@ import { Module } from '@nestjs/common'; import { AuthenticationController } from './controllers/authentication.controller'; import { AuthenticationService } from './services/authentication.service'; import { ConfigModule } from '@nestjs/config'; -import { UserRepositoryModule } from '../../libs/common/src/modules/user/user.repository.module'; +import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; import { CommonModule } from '../../libs/common/src'; import { UserAuthController } from './controllers'; import { UserAuthService } from './services'; -import { UserRepository } from '../../libs/common/src/modules/user/repositories'; -import { UserSessionRepository } from '../../libs/common/src/modules/session/repositories/session.repository'; -import { UserOtpRepository } from '../../libs/common/src/modules/user-otp/repositories/user-otp.repository'; -import { UserRoleRepository } from '@app/common/modules/user-role/repositories'; +import { UserRepository } from '@app/common/modules/user/repositories'; +import { UserSessionRepository } from '@app/common/modules/session/repositories/session.repository'; +import { + UserRoleRepository, + UserOtpRepository, +} from '@app/common/modules/user/repositories'; import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; @Module({ diff --git a/src/auth/services/user-auth.service.ts b/src/auth/services/user-auth.service.ts index a514c1c..08d0c42 100644 --- a/src/auth/services/user-auth.service.ts +++ b/src/auth/services/user-auth.service.ts @@ -1,5 +1,5 @@ import { RoleTypeRepository } from './../../../libs/common/src/modules/role-type/repositories/role.type.repository'; -import { UserRoleRepository } from './../../../libs/common/src/modules/user-role/repositories/user.role.repository'; +import { UserRoleRepository } from './../../../libs/common/src/modules/user/repositories/user.repository'; import { UserRepository } from '../../../libs/common/src/modules/user/repositories'; import { BadRequestException, @@ -12,7 +12,7 @@ import { HelperHashService } from '../../../libs/common/src/helper/services'; import { UserLoginDto } from '../dtos/user-login.dto'; import { AuthService } from '../../../libs/common/src/auth/services/auth.service'; import { UserSessionRepository } from '../../../libs/common/src/modules/session/repositories/session.repository'; -import { UserOtpRepository } from '../../../libs/common/src/modules/user-otp/repositories/user-otp.repository'; +import { UserOtpRepository } from '../../../libs/common/src/modules/user/repositories/user.repository'; import { ForgetPasswordDto, UserOtpDto, VerifyOtpDto } from '../dtos'; import { EmailService } from '../../../libs/common/src/util/email.service'; import { OtpType } from '../../../libs/common/src/constants/otp-type.enum'; diff --git a/src/building/building.module.ts b/src/building/building.module.ts index 80391fe..a78c049 100644 --- a/src/building/building.module.ts +++ b/src/building/building.module.ts @@ -4,21 +4,13 @@ import { BuildingController } from './controllers/building.controller'; import { ConfigModule } from '@nestjs/config'; import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module'; import { SpaceRepository } from '@app/common/modules/space/repositories'; -import { SpaceTypeRepositoryModule } from '@app/common/modules/space-type/space.type.repository.module'; -import { SpaceTypeRepository } from '@app/common/modules/space-type/repositories'; -import { UserSpaceRepositoryModule } from '@app/common/modules/user-space/user.space.repository.module'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { SpaceTypeRepository } from '@app/common/modules/space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; import { UserRepository } from '@app/common/modules/user/repositories'; import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; @Module({ - imports: [ - ConfigModule, - SpaceRepositoryModule, - SpaceTypeRepositoryModule, - UserSpaceRepositoryModule, - UserRepositoryModule, - ], + imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule], controllers: [BuildingController], providers: [ BuildingService, diff --git a/src/building/services/building.service.ts b/src/building/services/building.service.ts index dfc2089..c9f8273 100644 --- a/src/building/services/building.service.ts +++ b/src/building/services/building.service.ts @@ -1,5 +1,5 @@ import { GetBuildingChildDto } from '../dtos/get.building.dto'; -import { SpaceTypeRepository } from '../../../libs/common/src/modules/space-type/repositories/space.type.repository'; +import { SpaceTypeRepository } from '../../../libs/common/src/modules/space/repositories/space.repository'; import { Injectable, HttpException, @@ -17,7 +17,7 @@ import { } from '../interface/building.interface'; import { SpaceEntity } from '@app/common/modules/space/entities'; import { UpdateBuildingNameDto } from '../dtos/update.building.dto'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; @Injectable() export class BuildingService { diff --git a/src/community/community.module.ts b/src/community/community.module.ts index e27627e..d5f7d93 100644 --- a/src/community/community.module.ts +++ b/src/community/community.module.ts @@ -4,22 +4,14 @@ import { CommunityController } from './controllers/community.controller'; import { ConfigModule } from '@nestjs/config'; import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module'; import { SpaceRepository } from '@app/common/modules/space/repositories'; -import { SpaceTypeRepositoryModule } from '@app/common/modules/space-type/space.type.repository.module'; -import { SpaceTypeRepository } from '@app/common/modules/space-type/repositories'; -import { UserSpaceRepositoryModule } from '@app/common/modules/user-space/user.space.repository.module'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { SpaceTypeRepository } from '@app/common/modules/space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; import { UserRepository } from '@app/common/modules/user/repositories'; import { SpacePermissionService } from '@app/common/helper/services'; @Module({ - imports: [ - ConfigModule, - SpaceRepositoryModule, - SpaceTypeRepositoryModule, - UserSpaceRepositoryModule, - UserRepositoryModule, - ], + imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule], controllers: [CommunityController], providers: [ CommunityService, diff --git a/src/community/services/community.service.ts b/src/community/services/community.service.ts index 66c7037..2476c25 100644 --- a/src/community/services/community.service.ts +++ b/src/community/services/community.service.ts @@ -1,5 +1,5 @@ import { GetCommunityChildDto } from './../dtos/get.community.dto'; -import { SpaceTypeRepository } from './../../../libs/common/src/modules/space-type/repositories/space.type.repository'; +import { SpaceTypeRepository } from './../../../libs/common/src/modules/space/repositories/space.repository'; import { Injectable, HttpException, @@ -16,7 +16,7 @@ import { } from '../interface/community.interface'; import { SpaceEntity } from '@app/common/modules/space/entities'; import { UpdateCommunityNameDto } from '../dtos/update.community.dto'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; @Injectable() export class CommunityService { diff --git a/src/device-messages/device-messages.module.ts b/src/device-messages/device-messages.module.ts index 451f013..185d38b 100644 --- a/src/device-messages/device-messages.module.ts +++ b/src/device-messages/device-messages.module.ts @@ -2,11 +2,11 @@ import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { DeviceMessagesSubscriptionController } from './controllers'; import { DeviceMessagesSubscriptionService } from './services'; -import { DeviceNotificationRepositoryModule } from '@app/common/modules/device-notification/device.notification.module'; -import { DeviceNotificationRepository } from '@app/common/modules/device-notification/repositories'; +import { DeviceRepositoryModule } from '@app/common/modules/device/device.repository.module'; +import { DeviceNotificationRepository } from '@app/common/modules/device/repositories'; @Module({ - imports: [ConfigModule, DeviceNotificationRepositoryModule], + imports: [ConfigModule, DeviceRepositoryModule], controllers: [DeviceMessagesSubscriptionController], providers: [DeviceNotificationRepository, DeviceMessagesSubscriptionService], exports: [DeviceMessagesSubscriptionService], diff --git a/src/device-messages/services/device-messages.service.ts b/src/device-messages/services/device-messages.service.ts index 73c8182..4722b79 100644 --- a/src/device-messages/services/device-messages.service.ts +++ b/src/device-messages/services/device-messages.service.ts @@ -1,6 +1,6 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { DeviceMessagesAddDto } from '../dtos/device-messages.dto'; -import { DeviceNotificationRepository } from '@app/common/modules/device-notification/repositories'; +import { DeviceNotificationRepository } from '@app/common/modules/device/repositories'; @Injectable() export class DeviceMessagesSubscriptionService { diff --git a/src/device/device.module.ts b/src/device/device.module.ts index 07d1ad0..03a65cd 100644 --- a/src/device/device.module.ts +++ b/src/device/device.module.ts @@ -8,7 +8,7 @@ import { DeviceRepositoryModule } from '@app/common/modules/device'; import { DeviceRepository } from '@app/common/modules/device/repositories'; import { PermissionTypeRepository } from '@app/common/modules/permission/repositories'; import { SpaceRepository } from '@app/common/modules/space/repositories'; -import { DeviceUserPermissionRepository } from '@app/common/modules/device-user-permission/repositories'; +import { DeviceUserPermissionRepository } from '@app/common/modules/device/repositories'; import { UserRepository } from '@app/common/modules/user/repositories'; @Module({ imports: [ConfigModule, ProductRepositoryModule, DeviceRepositoryModule], diff --git a/src/floor/floor.module.ts b/src/floor/floor.module.ts index 71a6c67..9fdc1c7 100644 --- a/src/floor/floor.module.ts +++ b/src/floor/floor.module.ts @@ -4,21 +4,13 @@ import { FloorController } from './controllers/floor.controller'; import { ConfigModule } from '@nestjs/config'; import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module'; import { SpaceRepository } from '@app/common/modules/space/repositories'; -import { SpaceTypeRepositoryModule } from '@app/common/modules/space-type/space.type.repository.module'; -import { SpaceTypeRepository } from '@app/common/modules/space-type/repositories'; -import { UserSpaceRepositoryModule } from '@app/common/modules/user-space/user.space.repository.module'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { SpaceTypeRepository } from '@app/common/modules/space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; import { UserRepository } from '@app/common/modules/user/repositories'; @Module({ - imports: [ - ConfigModule, - SpaceRepositoryModule, - SpaceTypeRepositoryModule, - UserSpaceRepositoryModule, - UserRepositoryModule, - ], + imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule], controllers: [FloorController], providers: [ FloorService, diff --git a/src/floor/services/floor.service.ts b/src/floor/services/floor.service.ts index af4b26f..5113206 100644 --- a/src/floor/services/floor.service.ts +++ b/src/floor/services/floor.service.ts @@ -1,5 +1,5 @@ import { GetFloorChildDto } from '../dtos/get.floor.dto'; -import { SpaceTypeRepository } from '../../../libs/common/src/modules/space-type/repositories/space.type.repository'; +import { SpaceTypeRepository } from '../../../libs/common/src/modules/space/repositories/space.repository'; import { Injectable, HttpException, @@ -17,7 +17,7 @@ import { } from '../interface/floor.interface'; import { SpaceEntity } from '@app/common/modules/space/entities'; import { UpdateFloorNameDto } from '../dtos/update.floor.dto'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; @Injectable() export class FloorService { diff --git a/src/role/role.module.ts b/src/role/role.module.ts index a487979..4e51725 100644 --- a/src/role/role.module.ts +++ b/src/role/role.module.ts @@ -4,10 +4,10 @@ import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { RoleService } from './services/role.service'; import { RoleController } from './controllers/role.controller'; -import { DeviceUserPermissionRepository } from '@app/common/modules/device-user-permission/repositories'; +import { DeviceUserPermissionRepository } from '@app/common/modules/device/repositories'; import { PermissionTypeRepository } from '@app/common/modules/permission/repositories'; import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; -import { UserRoleRepository } from '@app/common/modules/user-role/repositories'; +import { UserRoleRepository } from '@app/common/modules/user/repositories'; @Module({ imports: [ConfigModule, DeviceRepositoryModule], diff --git a/src/role/services/role.service.ts b/src/role/services/role.service.ts index ece3780..42076d4 100644 --- a/src/role/services/role.service.ts +++ b/src/role/services/role.service.ts @@ -1,7 +1,7 @@ import { RoleTypeRepository } from './../../../libs/common/src/modules/role-type/repositories/role.type.repository'; import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { AddUserRoleDto } from '../dtos/role.add.dto'; -import { UserRoleRepository } from '@app/common/modules/user-role/repositories'; +import { UserRoleRepository } from '@app/common/modules/user/repositories'; import { QueryFailedError } from 'typeorm'; @Injectable() diff --git a/src/room/room.module.ts b/src/room/room.module.ts index 2d6d98c..4a07d1a 100644 --- a/src/room/room.module.ts +++ b/src/room/room.module.ts @@ -4,21 +4,13 @@ import { RoomController } from './controllers/room.controller'; import { ConfigModule } from '@nestjs/config'; import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module'; import { SpaceRepository } from '@app/common/modules/space/repositories'; -import { SpaceTypeRepositoryModule } from '@app/common/modules/space-type/space.type.repository.module'; -import { SpaceTypeRepository } from '@app/common/modules/space-type/repositories'; -import { UserSpaceRepositoryModule } from '@app/common/modules/user-space/user.space.repository.module'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { SpaceTypeRepository } from '@app/common/modules/space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; import { UserRepository } from '@app/common/modules/user/repositories'; @Module({ - imports: [ - ConfigModule, - SpaceRepositoryModule, - SpaceTypeRepositoryModule, - UserSpaceRepositoryModule, - UserRepositoryModule, - ], + imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule], controllers: [RoomController], providers: [ RoomService, diff --git a/src/room/services/room.service.ts b/src/room/services/room.service.ts index b9ea30e..7babd6b 100644 --- a/src/room/services/room.service.ts +++ b/src/room/services/room.service.ts @@ -1,4 +1,4 @@ -import { SpaceTypeRepository } from '../../../libs/common/src/modules/space-type/repositories/space.type.repository'; +import { SpaceTypeRepository } from '../../../libs/common/src/modules/space/repositories/space.repository'; import { Injectable, HttpException, @@ -14,7 +14,7 @@ import { GetRoomByUserUuidInterface, } from '../interface/room.interface'; import { UpdateRoomNameDto } from '../dtos/update.room.dto'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; @Injectable() export class RoomService { diff --git a/src/unit/services/unit.service.ts b/src/unit/services/unit.service.ts index 1106043..b5dfb8f 100644 --- a/src/unit/services/unit.service.ts +++ b/src/unit/services/unit.service.ts @@ -1,5 +1,5 @@ import { GetUnitChildDto } from '../dtos/get.unit.dto'; -import { SpaceTypeRepository } from '../../../libs/common/src/modules/space-type/repositories/space.type.repository'; +import { SpaceTypeRepository } from '../../../libs/common/src/modules/space/repositories/space.repository'; import { Injectable, HttpException, @@ -18,7 +18,7 @@ import { } from '../interface/unit.interface'; import { SpaceEntity } from '@app/common/modules/space/entities'; import { UpdateUnitNameDto } from '../dtos/update.unit.dto'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; import { generateRandomString } from '@app/common/helper/randomString'; import { UserDevicePermissionService } from 'src/user-device-permission/services'; import { PermissionType } from '@app/common/constants/permission-type.enum'; diff --git a/src/unit/unit.module.ts b/src/unit/unit.module.ts index 7924e4a..7ecd965 100644 --- a/src/unit/unit.module.ts +++ b/src/unit/unit.module.ts @@ -4,24 +4,16 @@ import { UnitController } from './controllers/unit.controller'; import { ConfigModule } from '@nestjs/config'; import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module'; import { SpaceRepository } from '@app/common/modules/space/repositories'; -import { SpaceTypeRepositoryModule } from '@app/common/modules/space-type/space.type.repository.module'; -import { SpaceTypeRepository } from '@app/common/modules/space-type/repositories'; -import { UserSpaceRepositoryModule } from '@app/common/modules/user-space/user.space.repository.module'; -import { UserSpaceRepository } from '@app/common/modules/user-space/repositories'; +import { SpaceTypeRepository } from '@app/common/modules/space/repositories'; +import { UserSpaceRepository } from '@app/common/modules/user/repositories'; import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; import { UserRepository } from '@app/common/modules/user/repositories'; import { UserDevicePermissionService } from 'src/user-device-permission/services'; -import { DeviceUserPermissionRepository } from '@app/common/modules/device-user-permission/repositories'; +import { DeviceUserPermissionRepository } from '@app/common/modules/device/repositories'; import { PermissionTypeRepository } from '@app/common/modules/permission/repositories'; @Module({ - imports: [ - ConfigModule, - SpaceRepositoryModule, - SpaceTypeRepositoryModule, - UserSpaceRepositoryModule, - UserRepositoryModule, - ], + imports: [ConfigModule, SpaceRepositoryModule, UserRepositoryModule], controllers: [UnitController], providers: [ UnitService, diff --git a/src/user-device-permission/services/user-device-permission.service.ts b/src/user-device-permission/services/user-device-permission.service.ts index c1f3d07..9ec93e6 100644 --- a/src/user-device-permission/services/user-device-permission.service.ts +++ b/src/user-device-permission/services/user-device-permission.service.ts @@ -1,7 +1,7 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { UserDevicePermissionAddDto } from '../dtos/user-device-permission.add.dto'; import { UserDevicePermissionEditDto } from '../dtos/user-device-permission.edit.dto'; -import { DeviceUserPermissionRepository } from '@app/common/modules/device-user-permission/repositories'; +import { DeviceUserPermissionRepository } from '@app/common/modules/device/repositories'; import { PermissionTypeRepository } from '@app/common/modules/permission/repositories'; @Injectable() diff --git a/src/user-device-permission/user-device-permission.module.ts b/src/user-device-permission/user-device-permission.module.ts index e2a8b46..53b7377 100644 --- a/src/user-device-permission/user-device-permission.module.ts +++ b/src/user-device-permission/user-device-permission.module.ts @@ -4,7 +4,7 @@ import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { UserDevicePermissionService } from './services/user-device-permission.service'; import { UserDevicePermissionController } from './controllers/user-device-permission.controller'; -import { DeviceUserPermissionRepository } from '@app/common/modules/device-user-permission/repositories'; +import { DeviceUserPermissionRepository } from '@app/common/modules/device/repositories'; import { PermissionTypeRepository } from '@app/common/modules/permission/repositories'; @Module({ diff --git a/src/user-notification/services/user-notification.service.ts b/src/user-notification/services/user-notification.service.ts index d8992c0..8c9616b 100644 --- a/src/user-notification/services/user-notification.service.ts +++ b/src/user-notification/services/user-notification.service.ts @@ -3,7 +3,7 @@ import { UserNotificationAddDto, UserNotificationUpdateDto, } from '../dtos/user-notification.dto'; -import { UserNotificationRepository } from '@app/common/modules/user-notification/repositories'; +import { UserNotificationRepository } from '@app/common/modules/user/repositories'; @Injectable() export class UserNotificationService { diff --git a/src/user-notification/user-notification.module.ts b/src/user-notification/user-notification.module.ts index 0b03df1..da564cf 100644 --- a/src/user-notification/user-notification.module.ts +++ b/src/user-notification/user-notification.module.ts @@ -1,12 +1,12 @@ import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; -import { UserNotificationRepositoryModule } from '@app/common/modules/user-notification/user.notification.repository.module'; -import { UserNotificationRepository } from '@app/common/modules/user-notification/repositories'; +import { UserRepositoryModule } from '@app/common/modules/user/user.repository.module'; +import { UserNotificationRepository } from '@app/common/modules/user/repositories'; import { UserNotificationService } from 'src/user-notification/services'; import { UserNotificationController } from 'src/user-notification/controllers'; @Module({ - imports: [ConfigModule, UserNotificationRepositoryModule], + imports: [ConfigModule, UserRepositoryModule], controllers: [UserNotificationController], providers: [UserNotificationRepository, UserNotificationService], exports: [UserNotificationService],