summary refs log tree commit diff
path: root/util/src/entities/ReadState.ts
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-15 00:44:19 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-15 00:44:19 +0200
commitd828a5e03d9f16f36e52a36851b4ef81276d385e (patch)
treebb87793ab6f8913ace58d552b2f79fc6848e0078 /util/src/entities/ReadState.ts
parentfeat: implement a database check on the healthz and readyz probes, remove /-/... (diff)
parent:art: do not automatically create default guild (diff)
downloadserver-d828a5e03d9f16f36e52a36851b4ef81276d385e.tar.xz
Merge branch 'master' into pr/hbjydev/454
Diffstat (limited to 'util/src/entities/ReadState.ts')
-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; }