From 5c9df99b07d9c297af05c5a2f32e608da32be2ce Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Wed, 24 Sep 2025 19:18:13 +0900 Subject: [PATCH] Update NoteDraftService.ts --- packages/backend/src/core/NoteDraftService.ts | 43 +++---------------- 1 file changed, 7 insertions(+), 36 deletions(-) diff --git a/packages/backend/src/core/NoteDraftService.ts b/packages/backend/src/core/NoteDraftService.ts index 23601739a8..fc980b3ac3 100644 --- a/packages/backend/src/core/NoteDraftService.ts +++ b/packages/backend/src/core/NoteDraftService.ts @@ -18,22 +18,7 @@ import { isRenote, isQuote } from '@/misc/is-renote.js'; import { NoteEntityService } from '@/core/entities/NoteEntityService.js'; import { QueueService } from '@/core/QueueService.js'; -export type NoteDraftOptions = { - replyId: MiNote['id'] | null; - renoteId: MiNote['id'] | null; - text: string | null; - cw: string | null; - localOnly: boolean; - reactionAcceptance: typeof noteReactionAcceptances[number]; - visibility: typeof noteVisibilities[number]; - fileIds: MiDriveFile['id'][]; - visibleUserIds: MiUser['id'][]; - hashtag: string | null; - channelId: MiChannel['id'] | null; - poll: (IPoll & { expiredAfter?: number | null }) | null; - scheduledAt: Date | null; - isActuallyScheduled: boolean; -}; +export type NoteDraftOptions = MiNoteDraft; @Injectable() export class NoteDraftService { @@ -84,16 +69,6 @@ export class NoteDraftService { } //#endregion - if (data.poll) { - if (typeof data.poll.expiresAt === 'number') { - if (data.poll.expiresAt < Date.now()) { - throw new IdentifiableError('04da457d-b083-4055-9082-955525eda5a5', 'Cannot create expired poll'); - } - } else if (typeof data.poll.expiredAfter === 'number') { - data.poll.expiresAt = new Date(Date.now() + data.poll.expiredAfter); - } - } - await this.validate(me, data); const draft = await this.noteDraftsRepository.insertOne({ @@ -120,16 +95,6 @@ export class NoteDraftService { throw new IdentifiableError('49cd6b9d-848e-41ee-b0b9-adaca711a6b1', 'No such note draft'); } - if (data.poll) { - if (typeof data.poll.expiresAt === 'number') { - if (data.poll.expiresAt < Date.now()) { - throw new IdentifiableError('04da457d-b083-4055-9082-955525eda5a5', 'Cannot create expired poll'); - } - } else if (typeof data.poll.expiredAfter === 'number') { - data.poll.expiresAt = new Date(Date.now() + data.poll.expiredAfter); - } - } - await this.validate(me, data); await this.noteDraftsRepository.update(draftId, data); @@ -181,6 +146,12 @@ export class NoteDraftService { me: MiLocalUser, data: Partial, ): Promise { + if (data.pollExpiresAt != null) { + if (data.pollExpiresAt.getTime() < Date.now()) { + throw new IdentifiableError('04da457d-b083-4055-9082-955525eda5a5', 'Cannot create expired poll'); + } + } + //#region visibleUsers let visibleUsers: MiUser[] = []; if (data.visibleUserIds != null && data.visibleUserIds.length > 0) {