From 8ff56b1f9e1b02c111ae725916f7e5be63d94662 Mon Sep 17 00:00:00 2001 From: AlTech98 Date: Thu, 2 Sep 2021 19:33:04 +0200 Subject: VOICE_STATE_UPDATE implementation, fix #210 --- util/src/entities/Session.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 util/src/entities/Session.ts (limited to 'util/src/entities/Session.ts') diff --git a/util/src/entities/Session.ts b/util/src/entities/Session.ts new file mode 100644 index 00000000..fb288522 --- /dev/null +++ b/util/src/entities/Session.ts @@ -0,0 +1,33 @@ +import { User } from "./User"; +import { BaseClass } from "./BaseClass"; +import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; + +//TODO we need to remove all sessions on server start because if the server crashes without closing websockets it won't delete them + + +@Entity("sessions") +export class Session extends BaseClass { + @Column({ nullable: true }) + @RelationId((session: Session) => session.user) + user_id: string; + + @JoinColumn({ name: "user_id" }) + @ManyToOne(() => User) + user: User; + + //TODO check, should be 32 char long hex string + @Column({ nullable: false }) + session_id: string; + + activities: []; //TODO + + @Column({ type: "simple-json", select: false }) + client_info: { + client: string, + os: string, + version: number + } + + @Column({ nullable: false }) + status: string; //TODO enum +} -- cgit 1.5.1