summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/kernel/create
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
commit0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch)
tree40874799472fa07416f17b50a398ac33b7771905 /src/remote/activitypub/kernel/create
parentupdate deps (diff)
downloadsharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip
refactoring
Resolve #7779
Diffstat (limited to 'src/remote/activitypub/kernel/create')
-rw-r--r--src/remote/activitypub/kernel/create/index.ts43
-rw-r--r--src/remote/activitypub/kernel/create/note.ts44
2 files changed, 0 insertions, 87 deletions
diff --git a/src/remote/activitypub/kernel/create/index.ts b/src/remote/activitypub/kernel/create/index.ts
deleted file mode 100644
index ce039a363b..0000000000
--- a/src/remote/activitypub/kernel/create/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import Resolver from '../../resolver';
-import { IRemoteUser } from '@/models/entities/user';
-import createNote from './note';
-import { ICreate, getApId, isPost, getApType } from '../../type';
-import { apLogger } from '../../logger';
-import { toArray, concat, unique } from '@/prelude/array';
-
-const logger = apLogger;
-
-export default async (actor: IRemoteUser, activity: ICreate): Promise<void> => {
- const uri = getApId(activity);
-
- logger.info(`Create: ${uri}`);
-
- // copy audiences between activity <=> object.
- if (typeof activity.object === 'object') {
- const to = unique(concat([toArray(activity.to), toArray(activity.object.to)]));
- const cc = unique(concat([toArray(activity.cc), toArray(activity.object.cc)]));
-
- activity.to = to;
- activity.cc = cc;
- activity.object.to = to;
- activity.object.cc = cc;
- }
-
- // If there is no attributedTo, use Activity actor.
- if (typeof activity.object === 'object' && !activity.object.attributedTo) {
- activity.object.attributedTo = activity.actor;
- }
-
- const resolver = new Resolver();
-
- const object = await resolver.resolve(activity.object).catch(e => {
- logger.error(`Resolution failed: ${e}`);
- throw e;
- });
-
- if (isPost(object)) {
- createNote(resolver, actor, object, false, activity);
- } else {
- logger.warn(`Unknown type: ${getApType(object)}`);
- }
-};
diff --git a/src/remote/activitypub/kernel/create/note.ts b/src/remote/activitypub/kernel/create/note.ts
deleted file mode 100644
index 14e311e4cd..0000000000
--- a/src/remote/activitypub/kernel/create/note.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import Resolver from '../../resolver';
-import { IRemoteUser } from '@/models/entities/user';
-import { createNote, fetchNote } from '../../models/note';
-import { getApId, IObject, ICreate } from '../../type';
-import { getApLock } from '@/misc/app-lock';
-import { extractDbHost } from '@/misc/convert-host';
-import { StatusError } from '@/misc/fetch';
-
-/**
- * 投稿作成アクティビティを捌きます
- */
-export default async function(resolver: Resolver, actor: IRemoteUser, note: IObject, silent = false, activity?: ICreate): Promise<string> {
- const uri = getApId(note);
-
- if (typeof note === 'object') {
- if (actor.uri !== note.attributedTo) {
- return `skip: actor.uri !== note.attributedTo`;
- }
-
- if (typeof note.id === 'string') {
- if (extractDbHost(actor.uri) !== extractDbHost(note.id)) {
- return `skip: host in actor.uri !== note.id`;
- }
- }
- }
-
- const unlock = await getApLock(uri);
-
- try {
- const exist = await fetchNote(note);
- if (exist) return 'skip: note exists';
-
- await createNote(note, resolver, silent);
- return 'ok';
- } catch (e) {
- if (e instanceof StatusError && e.isClientError) {
- return `skip ${e.statusCode}`;
- } else {
- throw e;
- }
- } finally {
- unlock();
- }
-}