Skip to content

Commit 91513d4

Browse files
committed
feat(entity): Removed GroupMembership entity, updated GroupSettings and User entities, and modified Warning entity to reference GroupSettings instead of GroupMembership.
1 parent d60ef5e commit 91513d4

4 files changed

Lines changed: 18 additions & 40 deletions

File tree

src/entities/GroupMembership.ts

Lines changed: 0 additions & 21 deletions
This file was deleted.

src/entities/GroupSettings.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from "typeorm";
2-
import { GroupMembership } from "./GroupMembership";
32
import { ApprovedUser } from "./ApprovedUser";
43
import { ChatPermissions } from "grammy/types";
4+
import { Warning } from "./Warning";
55

66
@Entity()
77
export class GroupSettings {
@@ -14,15 +14,9 @@ export class GroupSettings {
1414
@Column()
1515
group_name!: string;
1616

17-
@Column({ type: "text", nullable: true })
18-
welcome_message!: string;
19-
2017
@Column({ type: "text", nullable: true })
2118
rules!: string;
2219

23-
@Column({ type: "text", nullable: true })
24-
description!: string;
25-
2620
@Column({ type: "bigint", nullable: true })
2721
added_by_id!: number;
2822

@@ -38,15 +32,21 @@ export class GroupSettings {
3832
@Column({ type: "timestamp", default: () => "CURRENT_TIMESTAMP" })
3933
created_at!: Date;
4034

41-
@OneToMany(() => GroupMembership, (membership) => membership.group, {
35+
@OneToMany(() => ApprovedUser, (approvedUser) => approvedUser.group, {
4236
cascade: true,
4337
onDelete: "CASCADE",
4438
})
45-
members!: GroupMembership[]
39+
approvedUsers!: ApprovedUser[];
4640

47-
@OneToMany(() => ApprovedUser, (approvedUser) => approvedUser.group, {
41+
@OneToMany(() => Warning, (warning) => warning.group, {
4842
cascade: true,
4943
onDelete: "CASCADE",
5044
})
51-
approvedUsers!: ApprovedUser[];
52-
}
45+
warnings!: Warning[];
46+
47+
@Column({ type: "boolean" })
48+
isSpamTime: boolean = false;
49+
50+
@Column({ type: "simple-array", nullable: true })
51+
members!: string[];
52+
}

src/entities/User.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import { Entity, PrimaryGeneratedColumn, Column, OneToMany, Index } from "typeorm";
1+
import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from "typeorm";
22
import { Warning } from "./Warning";
3-
import { GroupMembership } from "./GroupMembership";
43
import { ApprovedUser } from "./ApprovedUser";
5-
64
@Entity()
75
export class User {
86
@PrimaryGeneratedColumn()
@@ -15,14 +13,11 @@ export class User {
1513
username!: string;
1614

1715
@Column({ type: "enum", enum: ["member", "admin", "owner", "restricted", "approved"], default: "member" })
18-
role!: string;
16+
role!: string;
1917

2018
@OneToMany(() => Warning, (warning) => warning.user, { cascade: true, onDelete: "CASCADE" })
2119
warnings!: Warning[];
2220

23-
@OneToMany(() => GroupMembership, (membership) => membership.user, { cascade: true, onDelete: "CASCADE" })
24-
memberships!: GroupMembership[];
25-
2621
@OneToMany(() => ApprovedUser, (approvedUser) => approvedUser.user, { cascade: true, onDelete: "CASCADE" })
2722
approvedUsers!: ApprovedUser[];
2823
}

src/entities/Warning.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from "typeorm";
22
import { User } from "./User";
3+
import { GroupSettings } from "./GroupSettings";
34

45
@Entity()
56
export class Warning {
@@ -9,6 +10,9 @@ export class Warning {
910
@ManyToOne(() => User, (user) => user.warnings)
1011
user!: User;
1112

13+
@ManyToOne(() => GroupSettings, (group) => group.warnings)
14+
group!: GroupSettings;
15+
1216
@Column({ type: "timestamp", default: () => "CURRENT_TIMESTAMP" })
1317
warned_at!: Date;
1418

0 commit comments

Comments
 (0)