summaryrefslogtreecommitdiff
path: root/server/entities
diff options
context:
space:
mode:
Diffstat (limited to 'server/entities')
-rw-r--r--server/entities/chat_room.entity.ts9
-rw-r--r--server/entities/chat_room_connection.entity.ts15
2 files changed, 23 insertions, 1 deletions
diff --git a/server/entities/chat_room.entity.ts b/server/entities/chat_room.entity.ts
index 2981589..36ce585 100644
--- a/server/entities/chat_room.entity.ts
+++ b/server/entities/chat_room.entity.ts
@@ -1,4 +1,5 @@
-import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm';
+import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, OneToMany } from 'typeorm';
+import { ChatRoomConnection } from './chat_room_connection.entity';
import { User } from './user.entity';
@Entity()
@@ -18,6 +19,12 @@ export class ChatRoom {
@Column()
name: string;
+ @Column()
+ lastConnection: Date;
+
@ManyToOne(() => User, (user) => user.chatRooms)
user: User;
+
+ @OneToMany(() => ChatRoomConnection, (chatRoomConnection) => chatRoomConnection.chatRoom)
+ chatRoomConnections: ChatRoomConnection[];
}
diff --git a/server/entities/chat_room_connection.entity.ts b/server/entities/chat_room_connection.entity.ts
new file mode 100644
index 0000000..5691df1
--- /dev/null
+++ b/server/entities/chat_room_connection.entity.ts
@@ -0,0 +1,15 @@
+import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm';
+import { User } from './user.entity';
+import { ChatRoom } from './chat_room.entity';
+
+@Entity()
+export class ChatRoomConnection {
+ @PrimaryGeneratedColumn()
+ id: string;
+
+ @ManyToOne(() => User, (user) => user.chatRooms)
+ user: User;
+
+ @ManyToOne(() => ChatRoom, (chatRoom) => chatRoom.chatRoomConnections)
+ chatRoom: ChatRoom;
+}