From dc85a79498941e4f38bf0e4e1bee4d83b6e35e80 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sun, 10 Oct 2021 11:03:32 +0200 Subject: :art: clean up imports + classes --- util/src/entities/Message.ts | 3 --- 1 file changed, 3 deletions(-) (limited to 'util/src/entities/Message.ts') diff --git a/util/src/entities/Message.ts b/util/src/entities/Message.ts index 04c3c7aa..c7f7a1d1 100644 --- a/util/src/entities/Message.ts +++ b/util/src/entities/Message.ts @@ -46,9 +46,6 @@ export enum MessageType { @Entity("messages") export class Message extends BaseClass { - @Column() - id: string; - @Column({ nullable: true }) @RelationId((message: Message) => message.channel) channel_id: string; -- cgit 1.5.1 From d7fa45771d8acf1d0127754a5e813b45e62e353b Mon Sep 17 00:00:00 2001 From: The Arcane Brony Date: Sun, 10 Oct 2021 20:34:45 +0200 Subject: Change enums to numbers --- util/src/entities/AuditLog.ts | 7 ++----- util/src/entities/Channel.ts | 4 ++-- util/src/entities/Message.ts | 4 ++-- util/src/entities/Relationship.ts | 4 ++-- util/src/entities/Role.ts | 2 +- util/src/entities/Sticker.ts | 8 ++++---- util/src/entities/TeamMember.ts | 4 ++-- util/src/entities/Webhook.ts | 4 ++-- 8 files changed, 17 insertions(+), 20 deletions(-) (limited to 'util/src/entities/Message.ts') diff --git a/util/src/entities/AuditLog.ts b/util/src/entities/AuditLog.ts index ae9feb76..4b3536b6 100644 --- a/util/src/entities/AuditLog.ts +++ b/util/src/entities/AuditLog.ts @@ -55,11 +55,8 @@ export class AuditLog extends BaseClass { @ManyToOne(() => User, (user: User) => user.id) user: User; - @Column({ - type: "simple-enum", - enum: AuditLogEvents, - }) - action_type: AuditLogEvents; + @Column() + action_type: number; @Column({ type: "simple-json", nullable: true }) options?: { diff --git a/util/src/entities/Channel.ts b/util/src/entities/Channel.ts index 51d8b026..e10bd8ed 100644 --- a/util/src/entities/Channel.ts +++ b/util/src/entities/Channel.ts @@ -39,8 +39,8 @@ export class Channel extends BaseClass { @Column({ type: "text", nullable: true }) icon?: string | null; - @Column({ type: "simple-enum", enum: ChannelType }) - type: ChannelType; + @Column() + type: number; @OneToMany(() => Recipient, (recipient: Recipient) => recipient.channel, { cascade: true, diff --git a/util/src/entities/Message.ts b/util/src/entities/Message.ts index c7f7a1d1..e364c57b 100644 --- a/util/src/entities/Message.ts +++ b/util/src/entities/Message.ts @@ -148,8 +148,8 @@ export class Message extends BaseClass { @Column({ nullable: true }) pinned?: boolean; - @Column({ type: "simple-enum", enum: MessageType }) - type: MessageType; + @Column() + type: number; @Column({ type: "simple-json", nullable: true }) activity?: { diff --git a/util/src/entities/Relationship.ts b/util/src/entities/Relationship.ts index e016b36b..2e886e71 100644 --- a/util/src/entities/Relationship.ts +++ b/util/src/entities/Relationship.ts @@ -35,8 +35,8 @@ export class Relationship extends BaseClass { @Column({ nullable: true }) nickname?: string; - @Column({ type: "simple-enum", enum: RelationshipType }) - type: RelationshipType; + @Column() + type: number; toPublicRelationship() { return { diff --git a/util/src/entities/Role.ts b/util/src/entities/Role.ts index 9fca99a5..4a3dae98 100644 --- a/util/src/entities/Role.ts +++ b/util/src/entities/Role.ts @@ -36,7 +36,7 @@ export class Role extends BaseClass { @Column() position: number; - @Column({ type: "simple-json", nullable: true }) + @Column({ type: "simple-json", nullable: true, }) tags?: { bot_id?: string; integration_id?: string; diff --git a/util/src/entities/Sticker.ts b/util/src/entities/Sticker.ts index ab224d1d..8956616e 100644 --- a/util/src/entities/Sticker.ts +++ b/util/src/entities/Sticker.ts @@ -36,9 +36,9 @@ export class Sticker extends BaseClass { }) guild?: Guild; - @Column({ type: "simple-enum", enum: StickerType }) - type: StickerType; + @Column() + type: number; - @Column({ type: "simple-enum", enum: StickerFormatType }) - format_type: StickerFormatType; + @Column() + format_type: number; } diff --git a/util/src/entities/TeamMember.ts b/util/src/entities/TeamMember.ts index bdfdccf0..5642a211 100644 --- a/util/src/entities/TeamMember.ts +++ b/util/src/entities/TeamMember.ts @@ -9,8 +9,8 @@ export enum TeamMemberState { @Entity("team_members") export class TeamMember extends BaseClass { - @Column({ type: "simple-enum", enum: TeamMemberState }) - membership_state: TeamMemberState; + @Column() + membership_state: number; @Column({ type: "simple-array" }) permissions: string[]; diff --git a/util/src/entities/Webhook.ts b/util/src/entities/Webhook.ts index 9d8609ae..0d500962 100644 --- a/util/src/entities/Webhook.ts +++ b/util/src/entities/Webhook.ts @@ -12,8 +12,8 @@ export enum WebhookType { @Entity("webhooks") export class Webhook extends BaseClass { - @Column({ type: "simple-enum", enum: WebhookType }) - type: WebhookType; + @Column() + type: number; @Column({ nullable: true }) name?: string; -- cgit 1.5.1 From 496d7d2780c8710221564302419f16fb07a8edd5 Mon Sep 17 00:00:00 2001 From: The Arcane Brony Date: Sun, 10 Oct 2021 21:30:46 +0200 Subject: Put local types back --- util/src/entities/AuditLog.ts | 4 ++-- util/src/entities/Channel.ts | 4 ++-- util/src/entities/Message.ts | 4 ++-- util/src/entities/Relationship.ts | 4 ++-- util/src/entities/Role.ts | 2 +- util/src/entities/Sticker.ts | 8 ++++---- util/src/entities/TeamMember.ts | 4 ++-- util/src/entities/Webhook.ts | 4 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) (limited to 'util/src/entities/Message.ts') diff --git a/util/src/entities/AuditLog.ts b/util/src/entities/AuditLog.ts index 4b3536b6..4b81ed6a 100644 --- a/util/src/entities/AuditLog.ts +++ b/util/src/entities/AuditLog.ts @@ -55,8 +55,8 @@ export class AuditLog extends BaseClass { @ManyToOne(() => User, (user: User) => user.id) user: User; - @Column() - action_type: number; + @Column({ type: "int" }) + action_type: AuditLogEvents; @Column({ type: "simple-json", nullable: true }) options?: { diff --git a/util/src/entities/Channel.ts b/util/src/entities/Channel.ts index e10bd8ed..bd2e5a58 100644 --- a/util/src/entities/Channel.ts +++ b/util/src/entities/Channel.ts @@ -39,8 +39,8 @@ export class Channel extends BaseClass { @Column({ type: "text", nullable: true }) icon?: string | null; - @Column() - type: number; + @Column({ type: "int" }) + type: ChannelType; @OneToMany(() => Recipient, (recipient: Recipient) => recipient.channel, { cascade: true, diff --git a/util/src/entities/Message.ts b/util/src/entities/Message.ts index e364c57b..63cd6ad3 100644 --- a/util/src/entities/Message.ts +++ b/util/src/entities/Message.ts @@ -148,8 +148,8 @@ export class Message extends BaseClass { @Column({ nullable: true }) pinned?: boolean; - @Column() - type: number; + @Column({ type: "int" }) + type: MessageType; @Column({ type: "simple-json", nullable: true }) activity?: { diff --git a/util/src/entities/Relationship.ts b/util/src/entities/Relationship.ts index 2e886e71..c3592c76 100644 --- a/util/src/entities/Relationship.ts +++ b/util/src/entities/Relationship.ts @@ -35,8 +35,8 @@ export class Relationship extends BaseClass { @Column({ nullable: true }) nickname?: string; - @Column() - type: number; + @Column({ type: "int" }) + type: RelationshipType; toPublicRelationship() { return { diff --git a/util/src/entities/Role.ts b/util/src/entities/Role.ts index 4a3dae98..9fca99a5 100644 --- a/util/src/entities/Role.ts +++ b/util/src/entities/Role.ts @@ -36,7 +36,7 @@ export class Role extends BaseClass { @Column() position: number; - @Column({ type: "simple-json", nullable: true, }) + @Column({ type: "simple-json", nullable: true }) tags?: { bot_id?: string; integration_id?: string; diff --git a/util/src/entities/Sticker.ts b/util/src/entities/Sticker.ts index 8956616e..036ff2d0 100644 --- a/util/src/entities/Sticker.ts +++ b/util/src/entities/Sticker.ts @@ -36,9 +36,9 @@ export class Sticker extends BaseClass { }) guild?: Guild; - @Column() - type: number; + @Column({ type: "int" }) + type: StickerType; - @Column() - format_type: number; + @Column({ type: "int" }) + format_type: StickerFormatType; } diff --git a/util/src/entities/TeamMember.ts b/util/src/entities/TeamMember.ts index 5642a211..b726e1e8 100644 --- a/util/src/entities/TeamMember.ts +++ b/util/src/entities/TeamMember.ts @@ -9,8 +9,8 @@ export enum TeamMemberState { @Entity("team_members") export class TeamMember extends BaseClass { - @Column() - membership_state: number; + @Column({ type: "int" }) + membership_state: TeamMemberState; @Column({ type: "simple-array" }) permissions: string[]; diff --git a/util/src/entities/Webhook.ts b/util/src/entities/Webhook.ts index 0d500962..89538417 100644 --- a/util/src/entities/Webhook.ts +++ b/util/src/entities/Webhook.ts @@ -12,8 +12,8 @@ export enum WebhookType { @Entity("webhooks") export class Webhook extends BaseClass { - @Column() - type: number; + @Column({ type: "int" }) + type: WebhookType; @Column({ nullable: true }) name?: string; -- cgit 1.5.1 From d8f77c687e89cdbd9f74bfee330cf1a8ef993385 Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Fri, 15 Oct 2021 00:03:05 +0200 Subject: :bug: fix message sticker sending --- api/client_test/index.html | 4 +++- api/src/routes/channels/#channel_id/messages/index.ts | 1 + api/src/routes/guilds/#guild_id/premium.ts | 10 ++++++++++ api/src/util/Message.ts | 5 +++-- util/src/entities/Message.ts | 2 +- 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 api/src/routes/guilds/#guild_id/premium.ts (limited to 'util/src/entities/Message.ts') diff --git a/api/client_test/index.html b/api/client_test/index.html index 20b431b8..5a795253 100644 --- a/api/client_test/index.html +++ b/api/client_test/index.html @@ -37,6 +37,7 @@ HTML_TIMESTAMP: Date.now(), ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0" }; + GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST; const localStorage = window.localStorage; // TODO: remote auth // window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, ""); @@ -105,7 +106,8 @@ } const settings = JSON.parse(localStorage.getItem("UserSettingsStore")); - if (settings && settings.locale === "en") { + if (settings && settings.locale.length <= 2) { + // fix client locale wrong and client not loading at all settings.locale = "en-US"; localStorage.setItem("UserSettingsStore", JSON.stringify(settings)); } diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts index 26bb9e5d..20c102ef 100644 --- a/api/src/routes/channels/#channel_id/messages/index.ts +++ b/api/src/routes/channels/#channel_id/messages/index.ts @@ -63,6 +63,7 @@ export interface MessageCreateSchema { payload_json?: string; file?: any; attachments?: any[]; //TODO we should create an interface for attachments + sticker_ids?: string[]; } // https://discord.com/developers/docs/resources/channel#create-message diff --git a/api/src/routes/guilds/#guild_id/premium.ts b/api/src/routes/guilds/#guild_id/premium.ts new file mode 100644 index 00000000..75361ac6 --- /dev/null +++ b/api/src/routes/guilds/#guild_id/premium.ts @@ -0,0 +1,10 @@ +import { Router, Request, Response } from "express"; +import { route } from "@fosscord/api"; +const router = Router(); + +router.get("/subscriptions", route({}), async (req: Request, res: Response) => { + // TODO: + res.json([]); +}); + +export default router; diff --git a/api/src/util/Message.ts b/api/src/util/Message.ts index 40d96b42..d14d3aa2 100644 --- a/api/src/util/Message.ts +++ b/api/src/util/Message.ts @@ -24,7 +24,7 @@ import fetch from "node-fetch"; import cheerio from "cheerio"; import { MessageCreateSchema } from "../routes/channels/#channel_id/messages"; -// TODO: check webhook, application, system author +// TODO: check webhook, application, system author, stickers // TODO: embed gifs/videos/images const LINK_REGEX = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g; @@ -46,6 +46,7 @@ export async function handleMessage(opts: MessageOptions): Promise { const message = new Message({ ...opts, + sticker_items: opts.sticker_ids?.map((x) => ({ id: x })), guild_id: channel.guild_id, channel_id: opts.channel_id, attachments: opts.attachments || [], @@ -82,7 +83,7 @@ export async function handleMessage(opts: MessageOptions): Promise { } // TODO: stickers/activity - if (!opts.content && !opts.embeds?.length && !opts.attachments?.length) { + if (!opts.content && !opts.embeds?.length && !opts.attachments?.length && !opts.sticker_ids?.length) { throw new HTTPError("Empty messages are not allowed", 50006); } diff --git a/util/src/entities/Message.ts b/util/src/entities/Message.ts index 63cd6ad3..a4d38315 100644 --- a/util/src/entities/Message.ts +++ b/util/src/entities/Message.ts @@ -127,7 +127,7 @@ export class Message extends BaseClass { mention_channels: Channel[]; @JoinTable({ name: "message_stickers" }) - @ManyToMany(() => Sticker) + @ManyToMany(() => Sticker, { cascade: true, onDelete: "CASCADE" }) sticker_items?: Sticker[]; @OneToMany(() => Attachment, (attachment: Attachment) => attachment.message, { -- cgit 1.5.1