summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/act/create/image.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-06 19:35:23 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-06 19:35:23 +0900
commit4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044 (patch)
tree895a954636b782b20af97bf65719bb0607f3ef32 /src/remote/activitypub/act/create/image.ts
parentFix type annotation (diff)
downloadmisskey-4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044.tar.gz
misskey-4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044.tar.bz2
misskey-4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044.zip
Split code
Diffstat (limited to 'src/remote/activitypub/act/create/image.ts')
-rw-r--r--src/remote/activitypub/act/create/image.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/remote/activitypub/act/create/image.ts b/src/remote/activitypub/act/create/image.ts
new file mode 100644
index 0000000000..cd9e7b4e0f
--- /dev/null
+++ b/src/remote/activitypub/act/create/image.ts
@@ -0,0 +1,19 @@
+import * as debug from 'debug';
+
+import Resolver from '../../resolver';
+import uploadFromUrl from '../../../../services/drive/upload-from-url';
+import { IRemoteUser } from '../../../../models/user';
+import { IDriveFile } from '../../../../models/drive-file';
+
+const log = debug('misskey:activitypub');
+
+export default async function(resolver: Resolver, actor: IRemoteUser, image): Promise<IDriveFile> {
+ if ('attributedTo' in image && actor.account.uri !== image.attributedTo) {
+ log(`invalid image: ${JSON.stringify(image, null, 2)}`);
+ throw new Error('invalid image');
+ }
+
+ log(`Creating the Image: ${image.id}`);
+
+ return await uploadFromUrl(image.url, actor);
+}