Files
3dp-manager/server/src/subscriptions/entities/subscription.entity.ts
T
Den Piligrim 5629b43cd0 add: nodes
2026-05-18 15:50:36 +03:00

65 lines
1.3 KiB
TypeScript

import {
Entity,
Column,
PrimaryGeneratedColumn,
CreateDateColumn,
UpdateDateColumn,
OneToMany,
ManyToOne,
} from 'typeorm';
import { Inbound } from '../../inbounds/entities/inbound.entity';
import { Node } from '../../nodes/entities/node.entity';
import { Tunnel } from '../../tunnels/entities/tunnel.entity';
@Entity()
export class Subscription {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column()
name: string;
@Column({ unique: true })
uuid: string;
@Column({ default: true })
isEnabled: boolean;
@Column({ default: true })
isAutoRotationEnabled: boolean;
@Column({ type: 'simple-json', nullable: true })
inboundsConfig: Array<{
type?: string;
port?: number | string;
sni?: string;
link?: string;
nodeId?: string;
relayServerId?: number;
}>;
@Column({ nullable: true })
nodeId?: string;
@ManyToOne(() => Node, (node) => node.subscriptions, {
nullable: true,
onDelete: 'SET NULL',
})
node?: Node;
@Column({ nullable: true })
relayServerId?: number;
@ManyToOne(() => Tunnel, { nullable: true, onDelete: 'SET NULL' })
relayServer?: Tunnel;
@OneToMany(() => Inbound, (inbound) => inbound.subscription)
inbounds: Inbound[];
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
}