summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/act/create/image.ts
blob: cd9e7b4e0f581c596ae72993d53f4c91e4e39568 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);
}