summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/act/create/image.ts
blob: 30a75e73776c2d1f48b4d0c0345eabd6eefdc8a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import * as debug from 'debug';

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(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);
}