mirror of
https://activitypub.software/TransFem-org/Sharkey.git
synced 2024-12-14 01:50:45 +01:00
Accept Article object (#4499)
This commit is contained in:
parent
68d43e43b6
commit
56eb896a03
7 changed files with 13 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue