diff --git a/src/api/routes/webhooks/#webhook_id/#token/index.ts b/src/api/routes/webhooks/#webhook_id/#token/index.ts index 1dd2dac43..9c31bf95b 100644 --- a/src/api/routes/webhooks/#webhook_id/#token/index.ts +++ b/src/api/routes/webhooks/#webhook_id/#token/index.ts @@ -66,6 +66,7 @@ router.post( }, route({ requestBody: "WebhookExecuteSchema", + stripNulls: true, query: { wait: { type: "boolean", diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts index be40f7543..c6bad9c05 100644 --- a/src/api/util/handlers/Message.ts +++ b/src/api/util/handlers/Message.ts @@ -773,6 +773,7 @@ export async function postHandleMessage(message: Message) { const linkMatches = content?.match(LINK_REGEX) || []; message.clean_data(); const data = { ...message.toJSON() }; + console.log(message); const currentNormalizedUrls = new Set(); for (const link of linkMatches) { diff --git a/src/api/util/handlers/route.ts b/src/api/util/handlers/route.ts index 175015246..0dd4a4b42 100644 --- a/src/api/util/handlers/route.ts +++ b/src/api/util/handlers/route.ts @@ -52,7 +52,7 @@ export interface RouteOptions { body?: string; }; }; - stripNulls?: stripNulls; + stripNulls?: stripNulls | true; event?: EVENT | EVENT[]; summary?: string; description?: string; @@ -75,7 +75,6 @@ export interface RouteOptions { // }; } export function stripNull(obj: object) { - console.log(Object.entries(obj)); for (const [key, value] of Object.entries(obj)) { if (value instanceof Object || (value && !value.__proto__)) { stripNull(value); @@ -137,11 +136,12 @@ export function route(opts: RouteOptions) { if (validate && !ignoredRequestSchemas.includes(opts.requestBody!)) { if (opts.stripNulls) { - followNullPath(req.body, opts.stripNulls); + if (opts.stripNulls === true) stripNull(req.body); + else followNullPath(req.body, opts.stripNulls); } const valid = validate(req.body); if (!valid) { - console.log(JSON.stringify(req.body)); + //console.log(JSON.stringify(req.body)); const fields: Record = {}; validate.errors?.forEach( (x) => diff --git a/src/util/entities/Attachment.ts b/src/util/entities/Attachment.ts index 4dced10a7..2ab7358d6 100644 --- a/src/util/entities/Attachment.ts +++ b/src/util/entities/Attachment.ts @@ -67,9 +67,11 @@ export class Attachment extends BaseClass { url: getUrlSignature(new NewUrlSignatureData({ ...data, url: this.url })) .applyToUrl(this.url) .toString(), - proxy_url: getUrlSignature(new NewUrlSignatureData({ ...data, url: this.proxy_url })) - .applyToUrl(this.proxy_url) - .toString(), + proxy_url: this.proxy_url + ? getUrlSignature(new NewUrlSignatureData({ ...data, url: this.proxy_url })) + .applyToUrl(this.proxy_url) + .toString() + : this.proxy_url, }; } } diff --git a/src/util/entities/Message.ts b/src/util/entities/Message.ts index 448510ad5..42f79ee4d 100644 --- a/src/util/entities/Message.ts +++ b/src/util/entities/Message.ts @@ -134,17 +134,14 @@ export class Message extends BaseClass { mention_everyone?: boolean; @JoinTable({ name: "message_user_mentions" }) - @JsonRemoveEmpty @ManyToMany(() => User) mentions: User[]; @JoinTable({ name: "message_role_mentions" }) - @JsonRemoveEmpty @ManyToMany(() => Role) mention_roles: Role[]; @JoinTable({ name: "message_channel_mentions" }) - @JsonRemoveEmpty @ManyToMany(() => Channel) mention_channels: Channel[]; @@ -156,11 +153,9 @@ export class Message extends BaseClass { cascade: true, orphanedRowAction: "delete", }) - @JsonRemoveEmpty attachments?: Attachment[]; @Column({ type: "simple-json" }) - @JsonRemoveEmpty embeds: Embed[]; @Column({ type: "simple-json" })