mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-27 12:44:55 +00:00
removed unused entity
This commit is contained in:
@ -9,7 +9,6 @@ import { ProductEntity } from '../modules/product/entities';
|
|||||||
import { DeviceEntity } from '../modules/device/entities';
|
import { DeviceEntity } from '../modules/device/entities';
|
||||||
import { PermissionTypeEntity } from '../modules/permission/entities';
|
import { PermissionTypeEntity } from '../modules/permission/entities';
|
||||||
import { SpaceEntity, SubspaceEntity } from '../modules/space/entities';
|
import { SpaceEntity, SubspaceEntity } from '../modules/space/entities';
|
||||||
import { SpaceTypeEntity } from '../modules/space/entities';
|
|
||||||
import { UserSpaceEntity } from '../modules/user/entities';
|
import { UserSpaceEntity } from '../modules/user/entities';
|
||||||
import { DeviceUserPermissionEntity } from '../modules/device/entities';
|
import { DeviceUserPermissionEntity } from '../modules/device/entities';
|
||||||
import { UserRoleEntity } from '../modules/user/entities';
|
import { UserRoleEntity } from '../modules/user/entities';
|
||||||
@ -47,7 +46,6 @@ import { SceneEntity, SceneIconEntity } from '../modules/scene/entities';
|
|||||||
CommunityEntity,
|
CommunityEntity,
|
||||||
SpaceEntity,
|
SpaceEntity,
|
||||||
SubspaceEntity,
|
SubspaceEntity,
|
||||||
SpaceTypeEntity,
|
|
||||||
UserSpaceEntity,
|
UserSpaceEntity,
|
||||||
DeviceUserPermissionEntity,
|
DeviceUserPermissionEntity,
|
||||||
UserRoleEntity,
|
UserRoleEntity,
|
||||||
|
|||||||
@ -21,13 +21,3 @@ export class SpaceDto {
|
|||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
public invitationCode: string;
|
public invitationCode: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class SpaceTypeDto {
|
|
||||||
@IsString()
|
|
||||||
@IsNotEmpty()
|
|
||||||
public uuid: string;
|
|
||||||
|
|
||||||
@IsString()
|
|
||||||
@IsNotEmpty()
|
|
||||||
public type: string;
|
|
||||||
}
|
|
||||||
|
|||||||
@ -6,33 +6,13 @@ import {
|
|||||||
OneToMany,
|
OneToMany,
|
||||||
Unique,
|
Unique,
|
||||||
} from 'typeorm';
|
} from 'typeorm';
|
||||||
import { SpaceDto, SpaceTypeDto } from '../dtos';
|
import { SpaceDto } from '../dtos';
|
||||||
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
||||||
import { UserSpaceEntity } from '../../user/entities';
|
import { UserSpaceEntity } from '../../user/entities';
|
||||||
import { DeviceEntity } from '../../device/entities';
|
import { DeviceEntity } from '../../device/entities';
|
||||||
import { CommunityEntity } from '../../community/entities';
|
import { CommunityEntity } from '../../community/entities';
|
||||||
import { SubspaceEntity } from './subspace.entity';
|
import { SubspaceEntity } from './subspace.entity';
|
||||||
|
|
||||||
@Entity({ name: 'space-type' })
|
|
||||||
export class SpaceTypeEntity extends AbstractEntity<SpaceTypeDto> {
|
|
||||||
@Column({
|
|
||||||
type: 'uuid',
|
|
||||||
default: () => 'gen_random_uuid()',
|
|
||||||
nullable: false,
|
|
||||||
})
|
|
||||||
public uuid: string;
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
nullable: false,
|
|
||||||
})
|
|
||||||
type: string;
|
|
||||||
|
|
||||||
constructor(partial: Partial<SpaceTypeEntity>) {
|
|
||||||
super();
|
|
||||||
Object.assign(this, partial);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity({ name: 'space' })
|
@Entity({ name: 'space' })
|
||||||
@Unique(['invitationCode'])
|
@Unique(['invitationCode'])
|
||||||
export class SpaceEntity extends AbstractEntity<SpaceDto> {
|
export class SpaceEntity extends AbstractEntity<SpaceDto> {
|
||||||
@ -77,6 +57,13 @@ export class SpaceEntity extends AbstractEntity<SpaceDto> {
|
|||||||
})
|
})
|
||||||
subspaces?: SubspaceEntity[];
|
subspaces?: SubspaceEntity[];
|
||||||
|
|
||||||
|
// Position columns
|
||||||
|
@Column({ type: 'float', nullable: false, default: 0 })
|
||||||
|
public x: number; // X coordinate for position
|
||||||
|
|
||||||
|
@Column({ type: 'float', nullable: false, default: 0 })
|
||||||
|
public y: number; // Y coordinate for position
|
||||||
|
|
||||||
@OneToMany(
|
@OneToMany(
|
||||||
() => DeviceEntity,
|
() => DeviceEntity,
|
||||||
(devicesSpaceEntity) => devicesSpaceEntity.spaceDevice,
|
(devicesSpaceEntity) => devicesSpaceEntity.spaceDevice,
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { DataSource, Repository } from 'typeorm';
|
import { DataSource, Repository } from 'typeorm';
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import { SpaceEntity, SpaceTypeEntity, SubspaceEntity } from '../entities';
|
import { SpaceEntity, SubspaceEntity } from '../entities';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SpaceRepository extends Repository<SpaceEntity> {
|
export class SpaceRepository extends Repository<SpaceEntity> {
|
||||||
@ -8,14 +8,6 @@ export class SpaceRepository extends Repository<SpaceEntity> {
|
|||||||
super(SpaceEntity, dataSource.createEntityManager());
|
super(SpaceEntity, dataSource.createEntityManager());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Injectable()
|
|
||||||
export class SpaceTypeRepository extends Repository<SpaceTypeEntity> {
|
|
||||||
constructor(private dataSource: DataSource) {
|
|
||||||
super(SpaceTypeEntity, dataSource.createEntityManager());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SubspaceRepository extends Repository<SubspaceEntity> {
|
export class SubspaceRepository extends Repository<SubspaceEntity> {
|
||||||
constructor(private dataSource: DataSource) {
|
constructor(private dataSource: DataSource) {
|
||||||
|
|||||||
@ -1,13 +1,11 @@
|
|||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||||
import { SpaceEntity, SpaceTypeEntity, SubspaceEntity } from './entities';
|
import { SpaceEntity, SubspaceEntity } from './entities';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
providers: [],
|
providers: [],
|
||||||
exports: [],
|
exports: [],
|
||||||
controllers: [],
|
controllers: [],
|
||||||
imports: [
|
imports: [TypeOrmModule.forFeature([SpaceEntity, SubspaceEntity])],
|
||||||
TypeOrmModule.forFeature([SpaceEntity, SpaceTypeEntity, SubspaceEntity]),
|
|
||||||
],
|
|
||||||
})
|
})
|
||||||
export class SpaceRepositoryModule {}
|
export class SpaceRepositoryModule {}
|
||||||
|
|||||||
@ -7,8 +7,6 @@ import { ConfigModule } from '@nestjs/config';
|
|||||||
import { RoleTypeRepositoryModule } from '../modules/role-type/role.type.repository.module';
|
import { RoleTypeRepositoryModule } from '../modules/role-type/role.type.repository.module';
|
||||||
import { RoleTypeRepository } from '../modules/role-type/repositories';
|
import { RoleTypeRepository } from '../modules/role-type/repositories';
|
||||||
import { RoleTypeSeeder } from './services/role.type.seeder';
|
import { RoleTypeSeeder } from './services/role.type.seeder';
|
||||||
import { SpaceTypeRepository } from '../modules/space/repositories';
|
|
||||||
import { SpaceTypeSeeder } from './services/space.type.seeder';
|
|
||||||
import { SpaceRepositoryModule } from '../modules/space/space.repository.module';
|
import { SpaceRepositoryModule } from '../modules/space/space.repository.module';
|
||||||
import { SuperAdminSeeder } from './services/supper.admin.seeder';
|
import { SuperAdminSeeder } from './services/supper.admin.seeder';
|
||||||
import { UserRepository } from '../modules/user/repositories';
|
import { UserRepository } from '../modules/user/repositories';
|
||||||
@ -25,11 +23,9 @@ import { SceneIconRepository } from '../modules/scene/repositories';
|
|||||||
providers: [
|
providers: [
|
||||||
PermissionTypeSeeder,
|
PermissionTypeSeeder,
|
||||||
RoleTypeSeeder,
|
RoleTypeSeeder,
|
||||||
SpaceTypeSeeder,
|
|
||||||
SeederService,
|
SeederService,
|
||||||
PermissionTypeRepository,
|
PermissionTypeRepository,
|
||||||
RoleTypeRepository,
|
RoleTypeRepository,
|
||||||
SpaceTypeRepository,
|
|
||||||
SuperAdminSeeder,
|
SuperAdminSeeder,
|
||||||
UserRepository,
|
UserRepository,
|
||||||
UserRoleRepository,
|
UserRoleRepository,
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import { PermissionTypeSeeder } from './permission.type.seeder';
|
import { PermissionTypeSeeder } from './permission.type.seeder';
|
||||||
import { RoleTypeSeeder } from './role.type.seeder';
|
import { RoleTypeSeeder } from './role.type.seeder';
|
||||||
import { SpaceTypeSeeder } from './space.type.seeder';
|
|
||||||
import { SuperAdminSeeder } from './supper.admin.seeder';
|
import { SuperAdminSeeder } from './supper.admin.seeder';
|
||||||
import { RegionSeeder } from './regions.seeder';
|
import { RegionSeeder } from './regions.seeder';
|
||||||
import { TimeZoneSeeder } from './timezone.seeder';
|
import { TimeZoneSeeder } from './timezone.seeder';
|
||||||
@ -11,7 +10,6 @@ export class SeederService {
|
|||||||
constructor(
|
constructor(
|
||||||
private readonly permissionTypeSeeder: PermissionTypeSeeder,
|
private readonly permissionTypeSeeder: PermissionTypeSeeder,
|
||||||
private readonly roleTypeSeeder: RoleTypeSeeder,
|
private readonly roleTypeSeeder: RoleTypeSeeder,
|
||||||
private readonly spaceTypeSeeder: SpaceTypeSeeder,
|
|
||||||
private readonly regionSeeder: RegionSeeder,
|
private readonly regionSeeder: RegionSeeder,
|
||||||
private readonly timeZoneSeeder: TimeZoneSeeder,
|
private readonly timeZoneSeeder: TimeZoneSeeder,
|
||||||
private readonly superAdminSeeder: SuperAdminSeeder,
|
private readonly superAdminSeeder: SuperAdminSeeder,
|
||||||
@ -21,7 +19,6 @@ export class SeederService {
|
|||||||
async seed() {
|
async seed() {
|
||||||
await this.permissionTypeSeeder.addPermissionTypeDataIfNotFound();
|
await this.permissionTypeSeeder.addPermissionTypeDataIfNotFound();
|
||||||
await this.roleTypeSeeder.addRoleTypeDataIfNotFound();
|
await this.roleTypeSeeder.addRoleTypeDataIfNotFound();
|
||||||
await this.spaceTypeSeeder.addSpaceTypeDataIfNotFound();
|
|
||||||
await this.regionSeeder.addRegionDataIfNotFound();
|
await this.regionSeeder.addRegionDataIfNotFound();
|
||||||
await this.timeZoneSeeder.addTimeZoneDataIfNotFound();
|
await this.timeZoneSeeder.addTimeZoneDataIfNotFound();
|
||||||
await this.superAdminSeeder.createSuperAdminIfNotFound();
|
await this.superAdminSeeder.createSuperAdminIfNotFound();
|
||||||
|
|||||||
@ -1,52 +0,0 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
|
||||||
import { SpaceType } from '../../constants/space-type.enum';
|
|
||||||
import { SpaceTypeRepository } from '../../modules/space/repositories';
|
|
||||||
|
|
||||||
@Injectable()
|
|
||||||
export class SpaceTypeSeeder {
|
|
||||||
constructor(private readonly spaceTypeRepository: SpaceTypeRepository) {}
|
|
||||||
|
|
||||||
async addSpaceTypeDataIfNotFound(): Promise<void> {
|
|
||||||
try {
|
|
||||||
const existingSpaceTypes = await this.spaceTypeRepository.find();
|
|
||||||
|
|
||||||
const spaceTypeNames = existingSpaceTypes.map((pt) => pt.type);
|
|
||||||
|
|
||||||
const missingSpaceTypes = [];
|
|
||||||
if (!spaceTypeNames.includes(SpaceType.COMMUNITY)) {
|
|
||||||
missingSpaceTypes.push(SpaceType.COMMUNITY);
|
|
||||||
}
|
|
||||||
if (!spaceTypeNames.includes(SpaceType.BUILDING)) {
|
|
||||||
missingSpaceTypes.push(SpaceType.BUILDING);
|
|
||||||
}
|
|
||||||
if (!spaceTypeNames.includes(SpaceType.FLOOR)) {
|
|
||||||
missingSpaceTypes.push(SpaceType.FLOOR);
|
|
||||||
}
|
|
||||||
if (!spaceTypeNames.includes(SpaceType.UNIT)) {
|
|
||||||
missingSpaceTypes.push(SpaceType.UNIT);
|
|
||||||
}
|
|
||||||
if (!spaceTypeNames.includes(SpaceType.ROOM)) {
|
|
||||||
missingSpaceTypes.push(SpaceType.ROOM);
|
|
||||||
}
|
|
||||||
if (missingSpaceTypes.length > 0) {
|
|
||||||
await this.addSpaceTypeData(missingSpaceTypes);
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
console.error('Error while checking space type data:', err);
|
|
||||||
throw err;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async addSpaceTypeData(spaceTypes: string[]): Promise<void> {
|
|
||||||
try {
|
|
||||||
const spaceTypeEntities = spaceTypes.map((type) => ({
|
|
||||||
type,
|
|
||||||
}));
|
|
||||||
|
|
||||||
await this.spaceTypeRepository.save(spaceTypeEntities);
|
|
||||||
} catch (err) {
|
|
||||||
console.error('Error while adding space type data:', err);
|
|
||||||
throw err;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user