mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-10 15:17:41 +00:00
created project entity
This commit is contained in:
@ -27,7 +27,7 @@ import { DeviceStatusLogEntity } from '../modules/device-status-log/entities';
|
||||
import { SceneEntity, SceneIconEntity } from '../modules/scene/entities';
|
||||
import { SceneDeviceEntity } from '../modules/scene-device/entities';
|
||||
import { SpaceProductEntity } from '../modules/space/entities/space-product.entity';
|
||||
|
||||
import { ProjectEntity } from '../modules/project/entities';
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forRootAsync({
|
||||
@ -42,6 +42,7 @@ import { SpaceProductEntity } from '../modules/space/entities/space-product.enti
|
||||
password: configService.get('DB_PASSWORD'),
|
||||
database: configService.get('DB_NAME'),
|
||||
entities: [
|
||||
ProjectEntity,
|
||||
UserEntity,
|
||||
UserSessionEntity,
|
||||
UserOtpEntity,
|
||||
|
1
libs/common/src/modules/project/dtos/index.ts
Normal file
1
libs/common/src/modules/project/dtos/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './project.dto';
|
15
libs/common/src/modules/project/dtos/project.dto.ts
Normal file
15
libs/common/src/modules/project/dtos/project.dto.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
|
||||
export class ProjectDto {
|
||||
@ApiProperty({
|
||||
example: 'd7a44e8a-32d5-4f39-ae2e-013f1245aead',
|
||||
description: 'UUID of the project',
|
||||
})
|
||||
uuid: string;
|
||||
|
||||
@ApiProperty({
|
||||
example: 'Project 1',
|
||||
description: 'Name of the project',
|
||||
})
|
||||
name: string;
|
||||
}
|
1
libs/common/src/modules/project/entities/index.ts
Normal file
1
libs/common/src/modules/project/entities/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './project.entity';
|
23
libs/common/src/modules/project/entities/project.entity.ts
Normal file
23
libs/common/src/modules/project/entities/project.entity.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import { Entity, Column } from 'typeorm';
|
||||
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
||||
import { ProjectDto } from '../dtos';
|
||||
|
||||
@Entity({ name: 'project' })
|
||||
export class ProjectEntity extends AbstractEntity<ProjectDto> {
|
||||
@Column({
|
||||
type: 'uuid',
|
||||
default: () => 'gen_random_uuid()',
|
||||
nullable: false,
|
||||
})
|
||||
public project_id: string;
|
||||
|
||||
@Column({
|
||||
nullable: false,
|
||||
})
|
||||
public name: string;
|
||||
|
||||
constructor(partial: Partial<ProjectEntity>) {
|
||||
super();
|
||||
Object.assign(this, partial);
|
||||
}
|
||||
}
|
1
libs/common/src/modules/project/index.ts
Normal file
1
libs/common/src/modules/project/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './project.repository.module';
|
11
libs/common/src/modules/project/project.repository.module.ts
Normal file
11
libs/common/src/modules/project/project.repository.module.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { ProjectEntity } from './entities';
|
||||
|
||||
@Module({
|
||||
providers: [],
|
||||
exports: [],
|
||||
controllers: [],
|
||||
imports: [TypeOrmModule.forFeature([ProjectEntity])],
|
||||
})
|
||||
export class ProjectEntityModule {}
|
1
libs/common/src/modules/project/repositiories/index.ts
Normal file
1
libs/common/src/modules/project/repositiories/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './project.repository';
|
@ -0,0 +1,10 @@
|
||||
import { DataSource, Repository } from 'typeorm';
|
||||
import { ProjectEntity } from '../entities';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
|
||||
@Injectable()
|
||||
export class ProjectRepository extends Repository<ProjectEntity> {
|
||||
constructor(private dataSource: DataSource) {
|
||||
super(ProjectEntity, dataSource.createEntityManager());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user