mirror of
https://github.com/misskey-dev/misskey.git
synced 2024-12-24 00:39:32 +09:00
refactor
This commit is contained in:
parent
02bb36cdc4
commit
ff8313b48b
@ -1,15 +1,15 @@
|
|||||||
import ms from 'ms';
|
import ms from 'ms';
|
||||||
|
import { In } from 'typeorm';
|
||||||
import create from '@/services/note/create.js';
|
import create from '@/services/note/create.js';
|
||||||
import define from '../../define.js';
|
|
||||||
import { ApiError } from '../../error.js';
|
|
||||||
import { User } from '@/models/entities/user.js';
|
import { User } from '@/models/entities/user.js';
|
||||||
import { Users, DriveFiles, Notes, Channels, Blockings } from '@/models/index.js';
|
import { Users, DriveFiles, Notes, Channels, Blockings } from '@/models/index.js';
|
||||||
import { DriveFile } from '@/models/entities/drive-file.js';
|
import { DriveFile } from '@/models/entities/drive-file.js';
|
||||||
import { Note } from '@/models/entities/note.js';
|
import { Note } from '@/models/entities/note.js';
|
||||||
import { noteVisibilities } from '../../../../types.js';
|
|
||||||
import { Channel } from '@/models/entities/channel.js';
|
import { Channel } from '@/models/entities/channel.js';
|
||||||
import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
|
import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
|
||||||
import { In } from 'typeorm';
|
import { noteVisibilities } from '../../../../types.js';
|
||||||
|
import { ApiError } from '../../error.js';
|
||||||
|
import define from '../../define.js';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
tags: ['notes'],
|
tags: ['notes'],
|
||||||
@ -83,7 +83,7 @@ export const meta = {
|
|||||||
export const paramDef = {
|
export const paramDef = {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
properties: {
|
properties: {
|
||||||
visibility: { type: 'string', enum: ['public', 'home', 'followers', 'specified'], default: "public" },
|
visibility: { type: 'string', enum: ['public', 'home', 'followers', 'specified'], default: 'public' },
|
||||||
visibleUserIds: { type: 'array', uniqueItems: true, items: {
|
visibleUserIds: { type: 'array', uniqueItems: true, items: {
|
||||||
type: 'string', format: 'misskey:id',
|
type: 'string', format: 'misskey:id',
|
||||||
} },
|
} },
|
||||||
@ -149,7 +149,7 @@ export const paramDef = {
|
|||||||
{
|
{
|
||||||
// (re)note with poll, text and files are optional
|
// (re)note with poll, text and files are optional
|
||||||
properties: {
|
properties: {
|
||||||
poll: { type: 'object', nullable: false, },
|
poll: { type: 'object', nullable: false },
|
||||||
},
|
},
|
||||||
required: ['poll'],
|
required: ['poll'],
|
||||||
},
|
},
|
||||||
@ -178,14 +178,14 @@ export default define(meta, paramDef, async (ps, user) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let renote: Note | null;
|
let renote: Note | null = null;
|
||||||
if (ps.renoteId != null) {
|
if (ps.renoteId != null) {
|
||||||
// Fetch renote to note
|
// Fetch renote to note
|
||||||
renote = await Notes.findOneBy({ id: ps.renoteId });
|
renote = await Notes.findOneBy({ id: ps.renoteId });
|
||||||
|
|
||||||
if (renote == null) {
|
if (renote == null) {
|
||||||
throw new ApiError(meta.errors.noSuchRenoteTarget);
|
throw new ApiError(meta.errors.noSuchRenoteTarget);
|
||||||
} else if (renote.renoteId && !renote.text && !renote.fileIds && !renote.poll) {
|
} else if (renote.renoteId && !renote.text && !renote.fileIds && !renote.hasPoll) {
|
||||||
throw new ApiError(meta.errors.cannotReRenote);
|
throw new ApiError(meta.errors.cannotReRenote);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -201,14 +201,14 @@ export default define(meta, paramDef, async (ps, user) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let reply: Note | null;
|
let reply: Note | null = null;
|
||||||
if (ps.replyId != null) {
|
if (ps.replyId != null) {
|
||||||
// Fetch reply
|
// Fetch reply
|
||||||
reply = await Notes.findOneBy({ id: ps.replyId });
|
reply = await Notes.findOneBy({ id: ps.replyId });
|
||||||
|
|
||||||
if (reply == null) {
|
if (reply == null) {
|
||||||
throw new ApiError(meta.errors.noSuchReplyTarget);
|
throw new ApiError(meta.errors.noSuchReplyTarget);
|
||||||
} else if (reply.renoteId && !reply.text && !reply.fileIds && !renote.poll) {
|
} else if (reply.renoteId && !reply.text && !reply.fileIds && !reply.hasPoll) {
|
||||||
throw new ApiError(meta.errors.cannotReplyToPureRenote);
|
throw new ApiError(meta.errors.cannotReplyToPureRenote);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,7 +234,7 @@ export default define(meta, paramDef, async (ps, user) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let channel: Channel | undefined;
|
let channel: Channel | null = null;
|
||||||
if (ps.channelId != null) {
|
if (ps.channelId != null) {
|
||||||
channel = await Channels.findOneBy({ id: ps.channelId });
|
channel = await Channels.findOneBy({ id: ps.channelId });
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user