summary refs log tree commit diff
path: root/util/src/entities
diff options
context:
space:
mode:
authoruurgothat <cckhmck@gmail.com>2021-10-09 18:44:46 +0300
committeruurgothat <cckhmck@gmail.com>2021-10-09 18:44:46 +0300
commit09c3d7a560d536391d17a085c9c908aa5dcfec05 (patch)
tree928a97b088b18ff1afba76f9b71362c2dc4b23f9 /util/src/entities
parentImplement GIFs (diff)
parent:sparkles: added read state (diff)
downloadserver-09c3d7a560d536391d17a085c9c908aa5dcfec05.tar.xz
Merge branch 'master' of https://github.com/fosscord/fosscord-server
Diffstat (limited to '')
-rw-r--r--util/src/entities/ReadState.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/util/src/entities/ReadState.ts b/util/src/entities/ReadState.ts

index 68e867a0..89480e83 100644 --- a/util/src/entities/ReadState.ts +++ b/util/src/entities/ReadState.ts
@@ -1,4 +1,4 @@ -import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; +import { Column, Entity, Index, JoinColumn, ManyToOne, RelationId } from "typeorm"; import { BaseClass } from "./BaseClass"; import { Channel } from "./Channel"; import { Message } from "./Message"; @@ -9,8 +9,9 @@ import { User } from "./User"; // public read receipt ≥ notification cursor ≥ private fully read marker @Entity("read_states") +@Index(["channel_id", "user_id"], { unique: true }) export class ReadState extends BaseClass { - @Column({ nullable: true }) + @Column() @RelationId((read_state: ReadState) => read_state.channel) channel_id: string; @@ -20,7 +21,7 @@ export class ReadState extends BaseClass { }) channel: Channel; - @Column({ nullable: true }) + @Column() @RelationId((read_state: ReadState) => read_state.user) user_id: string; @@ -35,15 +36,15 @@ export class ReadState extends BaseClass { last_message_id: string; @JoinColumn({ name: "last_message_id" }) - @ManyToOne(() => Message) + @ManyToOne(() => Message, { nullable: true }) last_message?: Message; @Column({ nullable: true }) last_pin_timestamp?: Date; - @Column() + @Column({ nullable: true }) mention_count: number; - @Column() + @Column({ nullable: true }) manual: boolean; }