Accept Article object (#4499)

This commit is contained in:
MeiMei 2019-03-15 00:23:24 +09:00 committed by syuilo
parent 68d43e43b6
commit 56eb896a03
7 changed files with 13 additions and 11 deletions

View file

@ -41,6 +41,7 @@ export type INote = {
replyId: mongo.ObjectID;
renoteId: mongo.ObjectID;
poll: IPoll;
name?: string;
text: string;
tags: string[];
tagsLower: string[];
@ -391,6 +392,10 @@ export const pack = async (
}
//#endregion
if (_note.name) {
_note.text = `${_note.name}\n${_note.text}`;
}
if (_note.user.isCat && _note.text) {
_note.text = (_note.text
// ja-JP

View file

@ -24,10 +24,8 @@ export default async (actor: IRemoteUser, activity: IAnnounce): Promise<void> =>
switch (object.type) {
case 'Note':
announceNote(resolver, actor, activity, object as INote);
break;
case 'Question':
case 'Article':
announceNote(resolver, actor, activity, object as INote);
break;

View file

@ -29,10 +29,8 @@ export default async (actor: IRemoteUser, activity: ICreate): Promise<void> => {
break;
case 'Note':
createNote(resolver, actor, object);
break;
case 'Question':
case 'Article':
createNote(resolver, actor, object);
break;

View file

@ -21,10 +21,8 @@ export default async (actor: IRemoteUser, activity: IDelete): Promise<void> => {
switch (object.type) {
case 'Note':
deleteNote(actor, uri);
break;
case 'Question':
case 'Article':
deleteNote(actor, uri);
break;

View file

@ -57,7 +57,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
const object: any = await resolver.resolve(value);
if (!object || !['Note', 'Question'].includes(object.type)) {
if (!object || !['Note', 'Question', 'Article'].includes(object.type)) {
logger.error(`invalid note: ${value}`, {
resolver: {
history: resolver.getHistory()
@ -199,6 +199,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
files,
reply,
renote: quote,
name: note.name,
cw,
text,
viaMobile: false,

View file

@ -103,7 +103,7 @@ async function fetchAny(uri: string) {
};
}
if (['Note', 'Question'].includes(object.type)) {
if (['Note', 'Question', 'Article'].includes(object.type)) {
const note = await createNote(object.id);
return {
type: 'Note',

View file

@ -91,6 +91,7 @@ class NotificationManager {
type Option = {
createdAt?: Date;
name?: string;
text?: string;
reply?: INote;
renote?: INote;
@ -437,6 +438,7 @@ async function insertNote(user: IUser, data: Option, tags: string[], emojis: str
fileIds: data.files ? data.files.map(file => file._id) : [],
replyId: data.reply ? data.reply._id : null,
renoteId: data.renote ? data.renote._id : null,
name: data.name,
text: data.text,
poll: data.poll,
cw: data.cw == null ? null : data.cw,