diff options
Diffstat (limited to 'server/entities')
-rw-r--r-- | server/entities/chat_room.entity.ts | 9 | ||||
-rw-r--r-- | server/entities/chat_room_connection.entity.ts | 15 |
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; +} |