This commit is contained in:
syuilo
2018-07-20 02:40:37 +09:00
parent 85bf76dd98
commit ec2b1ec3f0
15 changed files with 178 additions and 44 deletions

View File

@ -16,7 +16,7 @@ export async function createImage(actor: IRemoteUser, value: any): Promise<IDriv
return null;
}
const image = await new Resolver().resolve(value);
const image = await new Resolver().resolve(value) as any;
if (image.url == null) {
throw new Error('invalid image: url not privided');
@ -24,7 +24,7 @@ export async function createImage(actor: IRemoteUser, value: any): Promise<IDriv
log(`Creating the Image: ${image.url}`);
return await uploadFromUrl(image.url, actor, null, image.url);
return await uploadFromUrl(image.url, actor, null, image.url, image.sensitive);
}
/**

View File

@ -1,7 +1,8 @@
import config from '../../../config';
import { IDriveFile } from '../../../models/drive-file';
export default (fileId: IDriveFile['_id']) => ({
export default (file: IDriveFile) => ({
type: 'Image',
url: `${config.drive_url}/${fileId}`
url: `${config.drive_url}/${file._id}`,
sensitive: file.metadata.isSensitive
});

View File

@ -4,10 +4,16 @@ import config from '../../../config';
import { ILocalUser } from '../../../models/user';
import toHtml from '../../../mfm/html';
import parse from '../../../mfm/parse';
import DriveFile from '../../../models/drive-file';
export default (user: ILocalUser) => {
export default async (user: ILocalUser) => {
const id = `${config.url}/users/${user._id}`;
const [avatar, banner] = await Promise.all([
DriveFile.findOne({ _id: user.avatarId }),
DriveFile.findOne({ _id: user.bannerId })
]);
return {
type: user.isBot ? 'Service' : 'Person',
id,
@ -18,8 +24,8 @@ export default (user: ILocalUser) => {
preferredUsername: user.username,
name: user.name,
summary: toHtml(parse(user.description)),
icon: user.avatarId && renderImage(user.avatarId),
image: user.bannerId && renderImage(user.bannerId),
icon: user.avatarId && renderImage(avatar),
image: user.bannerId && renderImage(banner),
manuallyApprovesFollowers: user.isLocked,
publicKey: renderKey(user)
};