summary refs log tree commit diff
path: root/util/src/entities/Session.ts
blob: fb288522b68331d73b4c6d2960e67cbf6debea37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
}