Files
gamegroup/src/entities/group.entity.ts
UGREEN USER 575a29ac8f chore: 代码风格统一和项目文档添加
主要变更:

1. 代码风格统一
   - 统一使用双引号替代单引号
   - 保持项目代码风格一致性
   - 涵盖所有模块、配置、实体和服务文件

2. 项目文档
   - 新增 SECURITY_FIXES_SUMMARY.md - 安全修复总结文档
   - 新增 项目问题评估报告.md - 项目问题评估文档

3. 包含修改的文件类别
   - 配置文件:app, database, jwt, redis, cache, performance
   - 实体文件:所有 TypeORM 实体
   - 模块文件:所有业务模块
   - 公共模块:guards, decorators, interceptors, filters, utils
   - 测试文件:单元测试和 E2E 测试

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 13:03:28 +08:00

70 lines
1.6 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
Entity,
PrimaryGeneratedColumn,
Column,
CreateDateColumn,
UpdateDateColumn,
ManyToOne,
JoinColumn,
OneToMany,
} from "typeorm";
import { User } from "./user.entity";
import { GroupMember } from "./group-member.entity";
import { Appointment } from "./appointment.entity";
@Entity("groups")
export class Group {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column({ length: 100 })
name: string;
@Column({ type: "text", nullable: true })
description: string;
@Column({ type: "varchar", nullable: true, length: 255 })
avatar: string;
@Column()
ownerId: string;
@ManyToOne(() => User)
@JoinColumn({ name: "ownerId" })
owner: User;
@Column({ default: "normal", length: 20, comment: "类型: normal/guild" })
type: string;
@Column({ nullable: true, comment: "父组ID用于子组" })
parentId: string;
@ManyToOne(() => Group, { nullable: true })
@JoinColumn({ name: "parentId" })
parent: Group;
@Column({ type: "text", nullable: true, comment: "公示信息" })
announcement: string;
@Column({ default: 50, comment: "最大成员数" })
maxMembers: number;
@Column({ default: 1, comment: "当前成员数" })
currentMembers: number;
@Column({ default: true })
isActive: boolean;
@CreateDateColumn()
createdAt: Date;
@UpdateDateColumn()
updatedAt: Date;
@OneToMany(() => GroupMember, (member) => member.group)
members: GroupMember[];
@OneToMany(() => Appointment, (appointment) => appointment.group)
appointments: Appointment[];
}