feat(database): refactor entities and relationships for service management

This commit is contained in:
2025-11-26 10:57:57 +01:00
parent 104023162a
commit 55e4cf3e6c
9 changed files with 110 additions and 213 deletions

View File

@@ -1,4 +1,5 @@
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
import { Service } from "./service.entity";
@Entity({name: 'follows'})
export class Follow {
@@ -8,8 +9,12 @@ export class Follow {
@Column()
user_discord: string;
@ManyToOne(() => Service, service => service.follows)
@JoinColumn({name: 'serviceId'})
service: Service;
@Column()
host: string;
serviceId: number;
@Column({default: false})
enable: boolean;

View File

@@ -1,12 +1,17 @@
import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn } from "typeorm";
import { Column, CreateDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
import { Service } from "./service.entity";
@Entity({name: 'hosts_logs'})
export class HostsLog {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(() => Service, service => service.logs)
@JoinColumn({name: 'serviceId'})
service: Service;
@Column()
host: string;
serviceId: number;
@Column()
status: boolean;

View File

@@ -1,4 +1,6 @@
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
import { HostsLog } from "./hostslog.entity";
import { Follow } from "./follow.entity";
@Entity({name: 'services'})
export class Service {
@@ -21,5 +23,12 @@ export class Service {
type: string;
@Column()
notify: boolean;
notify: boolean
@OneToMany(() => HostsLog, log => log.service)
logs: HostsLog[];
@OneToMany(() => Follow, follow => follow.service)
follows: Follow[];
}