mirror of
https://github.com/spacebarchat/server.git
synced 2026-07-27 12:11:17 +00:00
Fix webhook edit
This commit is contained in:
@@ -20,21 +20,9 @@ import { Request, Response, Router } from "express";
|
||||
import { HTTPError } from "lambert-server/HTTPError";
|
||||
import multer from "multer";
|
||||
import { handleMessage, postHandleMessage, route } from "@spacebar/api/util";
|
||||
import { Attachment, Channel, Message, Webhook } from "@spacebar/database";
|
||||
import {
|
||||
MessageCreateEvent,
|
||||
MessageDeleteEvent,
|
||||
MessageUpdateEvent,
|
||||
Snowflake,
|
||||
SpacebarApiErrors,
|
||||
emitEvent,
|
||||
getPermission,
|
||||
getRights,
|
||||
uploadFile,
|
||||
NewUrlUserSignatureData,
|
||||
DiscordApiErrors,
|
||||
} from "@spacebar/util";
|
||||
import { MessageCreateAttachment, MessageCreateCloudAttachment, MessageCreateSchema, MessageEditSchema, ChannelType } from "@spacebar/schemas";
|
||||
import { Channel, Message, Webhook } from "@spacebar/database";
|
||||
import { MessageDeleteEvent, MessageUpdateEvent, emitEvent, DiscordApiErrors } from "@spacebar/util";
|
||||
import { ChannelType, WebhookExecuteSchema } from "@spacebar/schemas";
|
||||
|
||||
const router = Router({ mergeParams: true });
|
||||
// TODO: message content/embed string length limit
|
||||
@@ -63,7 +51,7 @@ const messageUpload = multer({
|
||||
router.patch(
|
||||
"/",
|
||||
route({
|
||||
requestBody: "MessageEditSchema",
|
||||
requestBody: "WebhookExecuteSchema",
|
||||
responses: {
|
||||
200: {
|
||||
body: "Message",
|
||||
@@ -77,7 +65,7 @@ router.patch(
|
||||
}),
|
||||
async (req: Request, res: Response) => {
|
||||
const { webhook_id, webhook_token, message_id } = req.params as { [key: string]: string };
|
||||
const body = req.body as MessageEditSchema;
|
||||
const body = req.body as WebhookExecuteSchema;
|
||||
|
||||
await assertValidWebhookAuth(webhook_id, webhook_token, message_id);
|
||||
|
||||
@@ -91,7 +79,8 @@ router.patch(
|
||||
// TODO: should message_reference be overridable?
|
||||
message_reference: message.message_reference,
|
||||
...body,
|
||||
author_id: message.author_id,
|
||||
// author_id: message.author_id,
|
||||
author_id: undefined, // skip rights check
|
||||
webhook_id: message.webhook_id,
|
||||
channel_id: message.channel_id,
|
||||
id: message_id,
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { Embed } from "@spacebar/schemas";
|
||||
import { AllowedMentions, Embed } from "@spacebar/schemas";
|
||||
import { MessageCreateAttachment, PollCreationSchema } from "./MessageCreateSchema";
|
||||
|
||||
export interface WebhookExecuteSchema {
|
||||
@@ -25,12 +25,7 @@ export interface WebhookExecuteSchema {
|
||||
avatar_url?: string;
|
||||
tts?: boolean;
|
||||
embeds?: Embed[];
|
||||
allowed_mentions?: {
|
||||
parse?: string[];
|
||||
roles?: string[];
|
||||
users?: string[];
|
||||
replied_user?: boolean;
|
||||
};
|
||||
allowed_mentions?: AllowedMentions;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
components?: any[];
|
||||
file?: { filename: string };
|
||||
|
||||
Reference in New Issue
Block a user