Files
few-line-engine/src/project/entities/project.entity.ts

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[];
}