Accept Article object (#4499)

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

View File

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

View File

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

View File

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

View File

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

View File

@ -57,7 +57,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
const object: any = await resolver.resolve(value); 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}`, { logger.error(`invalid note: ${value}`, {
resolver: { resolver: {
history: resolver.getHistory() history: resolver.getHistory()
@ -199,6 +199,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
files, files,
reply, reply,
renote: quote, renote: quote,
name: note.name,
cw, cw,
text, text,
viaMobile: false, 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); const note = await createNote(object.id);
return { return {
type: 'Note', type: 'Note',

View File

@ -91,6 +91,7 @@ class NotificationManager {
type Option = { type Option = {
createdAt?: Date; createdAt?: Date;
name?: string;
text?: string; text?: string;
reply?: INote; reply?: INote;
renote?: 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) : [], fileIds: data.files ? data.files.map(file => file._id) : [],
replyId: data.reply ? data.reply._id : null, replyId: data.reply ? data.reply._id : null,
renoteId: data.renote ? data.renote._id : null, renoteId: data.renote ? data.renote._id : null,
name: data.name,
text: data.text, text: data.text,
poll: data.poll, poll: data.poll,
cw: data.cw == null ? null : data.cw, cw: data.cw == null ? null : data.cw,