50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
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[];
|
|
}
|