Refactor code structure for improved readability and maintainability
This commit is contained in:
18
src/project/entities/project.entity.ts
Normal file
18
src/project/entities/project.entity.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { Token } from "src/api/entities/token.entity";
|
||||
import { Query } from "src/query/entities/query.enitity";
|
||||
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
|
||||
|
||||
@Entity("project")
|
||||
export class Project {
|
||||
@PrimaryGeneratedColumn("uuid")
|
||||
token: string;
|
||||
|
||||
@Column({ type: "varchar", length: 255 })
|
||||
name: string;
|
||||
|
||||
@OneToMany(() => Token, (token) => token.project)
|
||||
apiTokens: Token[];
|
||||
|
||||
@OneToMany(() => Query, (query) => query.project)
|
||||
queries: Query[];
|
||||
}
|
||||
15
src/project/project.controller.ts
Normal file
15
src/project/project.controller.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { Body, Controller, Inject, Put } from "@nestjs/common";
|
||||
import { ProjectService } from "./project.service";
|
||||
|
||||
@Controller("")
|
||||
export class ProjectController {
|
||||
constructor(
|
||||
@Inject(ProjectService)
|
||||
private readonly projectService: ProjectService
|
||||
) {}
|
||||
|
||||
@Put("project/create")
|
||||
createProject(@Body() body: { name: string }) {
|
||||
return this.projectService.create(body.name);
|
||||
}
|
||||
}
|
||||
11
src/project/project.module.ts
Normal file
11
src/project/project.module.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { Module } from "@nestjs/common";
|
||||
import { TypeOrmModule } from "@nestjs/typeorm";
|
||||
import { Project } from "./entities/project.entity";
|
||||
import { ProjectService } from "./project.service";
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Project])],
|
||||
controllers: [],
|
||||
providers: [ProjectService],
|
||||
})
|
||||
export class ProjectModule {}
|
||||
17
src/project/project.service.ts
Normal file
17
src/project/project.service.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { InjectRepository } from "@nestjs/typeorm";
|
||||
import { Repository } from "typeorm";
|
||||
import { Project } from "./entities/project.entity";
|
||||
|
||||
@Injectable()
|
||||
export class ProjectService {
|
||||
constructor(
|
||||
@InjectRepository(Project)
|
||||
private readonly projectRepository: Repository<Project>
|
||||
) {}
|
||||
|
||||
create(name: string) {
|
||||
const project = this.projectRepository.create({ name });
|
||||
return this.projectRepository.save(project);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user