Add utf8mb4 "engine" property to all entitys
This commit is contained in:
		
							parent
							
								
									771d6a2ab8
								
							
						
					
					
						commit
						ed28de95a5
					
				| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -21,7 +21,7 @@ import { BaseClass } from "./BaseClass"; | ||||
| import { Team } from "./Team"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| @Entity("applications") | ||||
| @Entity({name: "applications", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Application extends BaseClass { | ||||
| 	@Column() | ||||
| 	name: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -28,7 +28,7 @@ import { URL } from "url"; | ||||
| import { deleteFile } from "../util/cdn"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("attachments") | ||||
| @Entity({name: "attachments", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Attachment extends BaseClass { | ||||
| 	@Column() | ||||
| 	filename: string; // name of file attached
 | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -111,7 +111,7 @@ export enum AuditLogEvents { | ||||
| 	ROUTE_UPDATE = 226, | ||||
| } | ||||
| 
 | ||||
| @Entity("audit_logs") | ||||
| @Entity({name: "audit_logs", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class AuditLog extends BaseClass { | ||||
| 	@JoinColumn({ name: "target_id" }) | ||||
| 	@ManyToOne(() => User) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -21,7 +21,7 @@ import { BaseClass } from "./BaseClass"; | ||||
| import { User } from "./User"; | ||||
| import crypto from "crypto"; | ||||
| 
 | ||||
| @Entity("backup_codes") | ||||
| @Entity({name: "backup_codes", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class BackupCode extends BaseClass { | ||||
| 	@JoinColumn({ name: "user_id" }) | ||||
| 	@ManyToOne(() => User, { onDelete: "CASCADE" }) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity } from "typeorm"; | ||||
| import { BaseClassWithoutId } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("badges") | ||||
| @Entity({name: "badges", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Badge extends BaseClassWithoutId { | ||||
| 	@Column({ primary: true }) | ||||
| 	id: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -21,7 +21,7 @@ import { BaseClass } from "./BaseClass"; | ||||
| import { Guild } from "./Guild"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| @Entity("bans") | ||||
| @Entity({name: "bans", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Ban extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	@RelationId((ban: Ban) => ban.user) | ||||
|  | ||||
| @ -33,7 +33,7 @@ import { BaseClassWithoutId, PrimaryIdColumn } from "./BaseClass"; | ||||
| // }]
 | ||||
| // Also populate discord default categories
 | ||||
| 
 | ||||
| @Entity("categories") | ||||
| @Entity({name: "categories", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Categories extends BaseClassWithoutId { | ||||
| 	// Not using snowflake
 | ||||
| 
 | ||||
|  | ||||
| @ -69,7 +69,7 @@ export enum ChannelType { | ||||
| 	UNHANDLED = 255, // unhandled unowned pass-through channel type
 | ||||
| } | ||||
| 
 | ||||
| @Entity("channels") | ||||
| @Entity({name: "channels", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Channel extends BaseClass { | ||||
| 	@Column() | ||||
| 	created_at: Date; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("client_release") | ||||
| @Entity({name: "client_release", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Release extends BaseClass { | ||||
| 	@Column() | ||||
| 	name: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity } from "typeorm"; | ||||
| import { BaseClassWithoutId, PrimaryIdColumn } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("config") | ||||
| @Entity({name: "config", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class ConfigEntity extends BaseClassWithoutId { | ||||
| 	@PrimaryIdColumn() | ||||
| 	key: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -26,7 +26,7 @@ export type PublicConnectedAccount = Pick< | ||||
| 	"name" | "type" | "verified" | ||||
| >; | ||||
| 
 | ||||
| @Entity("connected_accounts") | ||||
| @Entity({name: "connected_accounts", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class ConnectedAccount extends BaseClass { | ||||
| 	@Column() | ||||
| 	external_id: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity } from "typeorm"; | ||||
| import { BaseClassWithoutId, PrimaryIdColumn } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("connection_config") | ||||
| @Entity({name: "connection_config", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class ConnectionConfigEntity extends BaseClassWithoutId { | ||||
| 	@PrimaryIdColumn() | ||||
| 	key: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -20,7 +20,7 @@ import { BaseClass } from "./BaseClass"; | ||||
| import { Entity, Column } from "typeorm"; | ||||
| import { Embed } from "./Message"; | ||||
| 
 | ||||
| @Entity("embed_cache") | ||||
| @Entity({name: "embed_cache", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class EmbedCache extends BaseClass { | ||||
| 	@Column() | ||||
| 	url: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -21,7 +21,7 @@ import { User } from "."; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| import { Guild } from "./Guild"; | ||||
| 
 | ||||
| @Entity("emojis") | ||||
| @Entity({name: "emojis", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Emoji extends BaseClass { | ||||
| 	@Column() | ||||
| 	animated: boolean; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("security_settings") | ||||
| @Entity({name: "security_settings", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class SecuritySettings extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	guild_id: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -66,7 +66,7 @@ export const PublicGuildRelations = [ | ||||
| 	// "members.user",
 | ||||
| ]; | ||||
| 
 | ||||
| @Entity("guilds") | ||||
| @Entity({name: "guilds", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Guild extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	@RelationId((guild: Guild) => guild.afk_channel) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -25,7 +25,7 @@ import { User } from "./User"; | ||||
| 
 | ||||
| export const PublicInviteRelation = ["inviter", "guild", "channel"]; | ||||
| 
 | ||||
| @Entity("invites") | ||||
| @Entity({name: "invites", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Invite extends BaseClassWithoutId { | ||||
| 	@PrimaryIdColumn() | ||||
| 	code: string; | ||||
|  | ||||
| @ -65,7 +65,7 @@ export const MemberPrivateProjection: (keyof Member)[] = [ | ||||
| 	"user", | ||||
| ]; | ||||
| 
 | ||||
| @Entity("members") | ||||
| @Entity({name: "members", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| @Index(["id", "guild_id"], { unique: true }) | ||||
| export class Member extends BaseClassWithoutId { | ||||
| 	@PrimaryGeneratedColumn() | ||||
|  | ||||
| @ -68,7 +68,7 @@ export enum MessageType { | ||||
| 	UNHANDLED = 255, | ||||
| } | ||||
| 
 | ||||
| @Entity("messages") | ||||
| @Entity({name: "messages", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| @Index(["channel_id", "id"], { unique: true }) | ||||
| export class Message extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -30,7 +30,7 @@ export const PrimaryIdAutoGenerated = process.env.DATABASE?.startsWith( | ||||
| 	? ObjectIdColumn | ||||
| 	: PrimaryGeneratedColumn; | ||||
| 
 | ||||
| @Entity("migrations") | ||||
| @Entity({name: "migrations", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Migration extends BaseEntity { | ||||
| 	@PrimaryIdAutoGenerated() | ||||
| 	id: number; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -20,7 +20,7 @@ import { Column, Entity, JoinColumn, ManyToOne, Unique } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| @Entity("notes") | ||||
| @Entity({name: "notes", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| @Unique(["owner", "target"]) | ||||
| export class Note extends BaseClass { | ||||
| 	@JoinColumn({ name: "owner_id" }) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("rate_limits") | ||||
| @Entity({name: "rate_limits", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class RateLimit extends BaseClass { | ||||
| 	@Column() // no relation as it also
 | ||||
| 	executor_id: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -32,7 +32,7 @@ import { User } from "./User"; | ||||
| // notification cursor and public read receipt need to be forwards-only (the former to prevent re-pinging when marked as unread, and the latter to be acceptable as a legal acknowledgement in criminal proceedings), and private read marker needs to be advance-rewind capable
 | ||||
| // public read receipt ≥ notification cursor ≥ private fully read marker
 | ||||
| 
 | ||||
| @Entity("read_states") | ||||
| @Entity({name: "read_states", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| @Index(["channel_id", "user_id"], { unique: true }) | ||||
| export class ReadState extends BaseClass { | ||||
| 	@Column() | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("recipients") | ||||
| @Entity({name: "recipients", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Recipient extends BaseClass { | ||||
| 	@Column() | ||||
| 	@RelationId((recipient: Recipient) => recipient.channel) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -34,7 +34,7 @@ export enum RelationshipType { | ||||
| 	friends = 1, | ||||
| } | ||||
| 
 | ||||
| @Entity("relationships") | ||||
| @Entity({name: "relationships", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| @Index(["from_id", "to_id"], { unique: true }) | ||||
| export class Relationship extends BaseClass { | ||||
| 	@Column({}) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -21,7 +21,7 @@ import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| import { Guild } from "./Guild"; | ||||
| 
 | ||||
| @Entity("roles") | ||||
| @Entity({name: "roles", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Role extends BaseClass { | ||||
| 	@Column() | ||||
| 	@RelationId((role: Role) => role.guild) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -20,7 +20,7 @@ import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| @Entity("security_keys") | ||||
| @Entity({name: "security_keys", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class SecurityKey extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	@RelationId((key: SecurityKey) => key.user) | ||||
|  | ||||
| @ -24,7 +24,7 @@ import { Activity } from "../interfaces/Activity"; | ||||
| 
 | ||||
| //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") | ||||
| @Entity({name: "sessions", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Session extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	@RelationId((session: Session) => session.user) | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -33,7 +33,7 @@ export enum StickerFormatType { | ||||
| 	LOTTIE = 3, | ||||
| } | ||||
| 
 | ||||
| @Entity("stickers") | ||||
| @Entity({name: "stickers", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Sticker extends BaseClass { | ||||
| 	@Column() | ||||
| 	name: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -27,7 +27,7 @@ import { | ||||
| import { Sticker } from "."; | ||||
| import { BaseClass } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("sticker_packs") | ||||
| @Entity({name: "sticker_packs", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class StickerPack extends BaseClass { | ||||
| 	@Column() | ||||
| 	name: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -28,7 +28,7 @@ import { BaseClass } from "./BaseClass"; | ||||
| import { TeamMember } from "./TeamMember"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| @Entity("teams") | ||||
| @Entity({name: "teams", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Team extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	icon?: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -25,7 +25,7 @@ export enum TeamMemberState { | ||||
| 	ACCEPTED = 2, | ||||
| } | ||||
| 
 | ||||
| @Entity("team_members") | ||||
| @Entity({name: "team_members", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class TeamMember extends BaseClass { | ||||
| 	@Column({ type: "int" }) | ||||
| 	membership_state: TeamMemberState; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -21,7 +21,7 @@ import { BaseClass } from "./BaseClass"; | ||||
| import { Guild } from "./Guild"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| @Entity("templates") | ||||
| @Entity({name: "templates", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Template extends BaseClass { | ||||
| 	@Column({ unique: true }) | ||||
| 	code: string; | ||||
|  | ||||
| @ -86,7 +86,7 @@ export interface UserPrivate extends Pick<User, PrivateUserKeys> { | ||||
| 	locale: string; | ||||
| } | ||||
| 
 | ||||
| @Entity("users") | ||||
| @Entity({name: "users", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class User extends BaseClass { | ||||
| 	@Column() | ||||
| 	username: string; // username max length 32, min 2 (should be configurable)
 | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -19,7 +19,7 @@ | ||||
| import { Column, Entity, PrimaryGeneratedColumn } from "typeorm"; | ||||
| import { BaseClassWithoutId } from "./BaseClass"; | ||||
| 
 | ||||
| @Entity("user_settings") | ||||
| @Entity({name: "user_settings", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class UserSettings extends BaseClassWithoutId { | ||||
| 	@PrimaryGeneratedColumn() | ||||
| 	index: string; | ||||
|  | ||||
| @ -1,24 +1,24 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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 { BaseEntity, Column, Entity, PrimaryColumn } from "typeorm"; | ||||
| 
 | ||||
| @Entity("valid_registration_tokens") | ||||
| @Entity({name: "valid_registration_tokens", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class ValidRegistrationToken extends BaseEntity { | ||||
| 	@PrimaryColumn() | ||||
| 	token: string; | ||||
|  | ||||
| @ -1,17 +1,17 @@ | ||||
| /* | ||||
| 	Spacebar: A FOSS re-implementation and extension of the Discord.com backend. | ||||
| 	Copyright (C) 2023 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/>.
 | ||||
| */ | ||||
| @ -24,7 +24,7 @@ import { Member } from "./Member"; | ||||
| import { User } from "./User"; | ||||
| 
 | ||||
| //https://gist.github.com/vassjozsef/e482c65df6ee1facaace8b3c9ff66145#file-voice_state-ex
 | ||||
| @Entity("voice_states") | ||||
| @Entity({name: "voice_states", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class VoiceState extends BaseClass { | ||||
| 	@Column({ nullable: true }) | ||||
| 	@RelationId((voice_state: VoiceState) => voice_state.guild) | ||||
|  | ||||
| @ -29,7 +29,7 @@ export enum WebhookType { | ||||
| 	Application = 3, | ||||
| } | ||||
| 
 | ||||
| @Entity("webhooks") | ||||
| @Entity({name: "webhooks", engine: "InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"}) | ||||
| export class Webhook extends BaseClass { | ||||
| 	@Column({ type: "int" }) | ||||
| 	type: WebhookType; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 TomatoCake
						TomatoCake