* resolver type / fix updateFeatured * type ApObject * fix strange type * AP Activity * Collection Activityが失敗したらとりあえず無視
23 lines
641 B
TypeScript
23 lines
641 B
TypeScript
import Resolver from '../../resolver';
|
|
import { IRemoteUser } from '../../../../models/entities/user';
|
|
import { createNote, fetchNote } from '../../models/note';
|
|
import { getApId, IObject } from '../../type';
|
|
import { getApLock } from '../../../../misc/app-lock';
|
|
|
|
/**
|
|
* 投稿作成アクティビティを捌きます
|
|
*/
|
|
export default async function(resolver: Resolver, actor: IRemoteUser, note: IObject, silent = false): Promise<void> {
|
|
const uri = getApId(note);
|
|
|
|
const unlock = await getApLock(uri);
|
|
|
|
try {
|
|
const exist = await fetchNote(note);
|
|
if (exist == null) {
|
|
await createNote(note);
|
|
}
|
|
} finally {
|
|
unlock();
|
|
}
|
|
}
|