summary refs log tree commit diff
path: root/util/src
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-06 00:50:41 +0200
committerGitHub <noreply@github.com>2022-08-06 00:50:41 +0200
commite70a8a77f112a4df4eeced35f27106ac7d51296e (patch)
treeedc25091ebb94f921533a02eaef9c2f29c4a494a /util/src
parentMerge pull request #814 from fosscord/translation (diff)
parentDelete Note if no content (diff)
downloadserver-e70a8a77f112a4df4eeced35f27106ac7d51296e.tar.xz
Merge pull request #804 from MaddyUnderStars/feat/notesTable
Move user notes into separate table
Diffstat (limited to 'util/src')
-rw-r--r--util/src/entities/Note.ts18
-rw-r--r--util/src/entities/User.ts4
-rw-r--r--util/src/entities/index.ts3
3 files changed, 21 insertions, 4 deletions
diff --git a/util/src/entities/Note.ts b/util/src/entities/Note.ts
new file mode 100644

index 00000000..36017c5e --- /dev/null +++ b/util/src/entities/Note.ts
@@ -0,0 +1,18 @@ +import { Column, Entity, JoinColumn, ManyToOne, Unique } from "typeorm"; +import { BaseClass } from "./BaseClass"; +import { User } from "./User"; + +@Entity("notes") +@Unique(["owner", "target"]) +export class Note extends BaseClass { + @JoinColumn({ name: "owner_id" }) + @ManyToOne(() => User, { onDelete: "CASCADE" }) + owner: User; + + @JoinColumn({ name: "target_id" }) + @ManyToOne(() => User, { onDelete: "CASCADE" }) + target: User; + + @Column() + content: string; +} \ No newline at end of file diff --git a/util/src/entities/User.ts b/util/src/entities/User.ts
index 9b1c494e..8deb7ed5 100644 --- a/util/src/entities/User.ts +++ b/util/src/entities/User.ts
@@ -5,6 +5,7 @@ import { Relationship } from "./Relationship"; import { ConnectedAccount } from "./ConnectedAccount"; import { Config, FieldErrors, Snowflake, trimSpecial } from ".."; import { Member, Session } from "."; +import { Note } from "./Note"; export enum PublicUserEnum { username, @@ -168,9 +169,6 @@ export class User extends BaseClass { @Column({ type: "simple-json", select: false }) extended_settings: string; - @Column({ type: "simple-json" }) - notes: { [key: string]: string }; //key is ID of user - toPublicUser() { const user: any = {}; PublicUserProjection.forEach((x) => { diff --git a/util/src/entities/index.ts b/util/src/entities/index.ts
index f023d5a6..cb087136 100644 --- a/util/src/entities/index.ts +++ b/util/src/entities/index.ts
@@ -27,4 +27,5 @@ export * from "./Template"; export * from "./User"; export * from "./VoiceState"; export * from "./Webhook"; -export * from "./ClientRelease"; \ No newline at end of file +export * from "./ClientRelease"; +export * from "./Note"; \ No newline at end of file