import { Token } from "../../api/entities/token.entity"; import { Query } from "../../query/entities/query.entity"; import { Column, Entity, JoinColumn, JoinTable, ManyToMany, OneToMany, OneToOne, PrimaryGeneratedColumn, } from "typeorm"; import { Database } from "../../databaseManager/entities/database.entity"; import { FunctionEntity } from "../../query/entities/function.entity"; import { RedisNode } from "../../redisManager/entities/redis.node.entity"; import { Log } from "../../query/logger/entities/log.entity"; import { ProjectSetting } from "../settings/entities/project.setting.entity"; @Entity("project") export class Project { @PrimaryGeneratedColumn("uuid") id: string; @Column({ type: "varchar", length: 255 }) name: string; @OneToMany(() => Token, (token) => token.project) apiTokens: Token[]; @OneToOne(() => Database, (database) => database.project) @JoinColumn() database: Database; @OneToMany(() => Log, (log) => log.project) logs: Log[]; @OneToMany(() => Query, (query) => query.project) queries: Query[]; @OneToMany(() => FunctionEntity, (functionEntity) => functionEntity.project) functions: FunctionEntity[]; @OneToMany(() => ProjectSetting, (setting) => setting.project) settings: ProjectSetting[]; @ManyToMany(() => RedisNode, (redisNode) => redisNode.projects) @JoinTable() redisNodes: RedisNode[]; }