summary refs log tree commit diff
path: root/src/util
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-01-17 03:22:29 +0100
committerRory& <root@rory.gay>2026-01-17 03:22:44 +0100
commit8a1295ddfd4334cac2cb025de6775983e52e2f2b (patch)
treeafca2079b9f53340bc18c0129cfd9030a56cccfc /src/util
parentRestructure extras (diff)
downloadserver-ts-8a1295ddfd4334cac2cb025de6775983e52e2f2b.tar.xz
Add stub POSt report endpoint
Diffstat (limited to 'src/util')
-rw-r--r--src/util/entities/BaseClass.ts4
-rw-r--r--src/util/entities/ReportMenu.ts43
2 files changed, 46 insertions, 1 deletions
diff --git a/src/util/entities/BaseClass.ts b/src/util/entities/BaseClass.ts

index 5338837d..1aaf1479 100644 --- a/src/util/entities/BaseClass.ts +++ b/src/util/entities/BaseClass.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { BaseEntity, BeforeInsert, BeforeUpdate, FindOptionsWhere, InsertResult, ObjectIdColumn, ObjectLiteral, PrimaryColumn } from "typeorm"; +import { BaseEntity, BeforeInsert, BeforeUpdate, Column, ColumnOptions, FindOptionsWhere, InsertResult, ObjectIdColumn, ObjectLiteral, PrimaryColumn } from "typeorm"; import { Snowflake } from "../util/Snowflake"; import { getDatabase } from "../util/Database"; import { OrmUtils } from "../imports/OrmUtils"; @@ -83,3 +83,5 @@ export class BaseClass extends BaseClassWithoutId { if (!this.id) this.id = Snowflake.generate(); } } + +export const ArrayColumn = (opts: ColumnOptions) => (process.env.DATABASE?.startsWith("postgres") ? Column({ ...opts, array: true }) : Column({ ...opts, type: "simple-array" })); diff --git a/src/util/entities/ReportMenu.ts b/src/util/entities/ReportMenu.ts new file mode 100644
index 00000000..26d66adc --- /dev/null +++ b/src/util/entities/ReportMenu.ts
@@ -0,0 +1,43 @@ +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2024 Spacebar and Spacebar Contributors + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. +*/ + +import { BaseClass, BaseClassWithoutId } from "./BaseClass"; +import { Entity, JoinColumn, ManyToOne, Column } from "typeorm"; +import { User } from "./User"; +import { AutomodAction, AutomodRuleActionType, AutomodRuleEventType, AutomodRuleTriggerMetadata, AutomodRuleTriggerType } from "@spacebar/schemas"; +import { ReportMenuType } from "../../schemas/api/reports/ReportMenu"; + +@Entity({ + name: "report_menus", +}) +export class ReportMenu extends BaseClass { + @Column() + type: ReportMenuType; + + @Column() + variant: string; + + @Column() + isCurrent: boolean; + + @Column({ nullable: true }) + inherits?: string; + + @Column({ type: "jsonb" }) + content: unknown; +}