wip
This commit is contained in:
		
							parent
							
								
									ec4ed8fb2d
								
							
						
					
					
						commit
						671c5e7c12
					
				
					 2 changed files with 21 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -5,6 +5,7 @@ import post from '../../../../services/note/create';
 | 
			
		|||
import { IRemoteUser } from '../../../../models/user';
 | 
			
		||||
import { IAnnounce, INote } from '../../type';
 | 
			
		||||
import { fetchNote, resolveNote } from '../../models/note';
 | 
			
		||||
import { resolvePerson } from '../../models/person';
 | 
			
		||||
 | 
			
		||||
const log = debug('misskey:activitypub');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -30,16 +31,22 @@ export default async function(resolver: Resolver, actor: IRemoteUser, activity:
 | 
			
		|||
 | 
			
		||||
	//#region Visibility
 | 
			
		||||
	let visibility = 'public';
 | 
			
		||||
	if (!activity.to.includes('https://www.w3.org/ns/activitystreams#Public')) visibility = 'home';
 | 
			
		||||
	if (activity.cc.length == 0) visibility = 'followers';
 | 
			
		||||
	// TODO
 | 
			
		||||
	if (visibility != 'public') throw new Error('unspported visibility');
 | 
			
		||||
	let visibleUsers = [];
 | 
			
		||||
	if (!note.to.includes('https://www.w3.org/ns/activitystreams#Public')) {
 | 
			
		||||
		if (note.cc.includes('https://www.w3.org/ns/activitystreams#Public')) {
 | 
			
		||||
			visibility = 'home';
 | 
			
		||||
		} else {
 | 
			
		||||
			visibility = 'specified';
 | 
			
		||||
			visibleUsers = await Promise.all(note.to.map(uri => resolvePerson(uri)));
 | 
			
		||||
		}
 | 
			
		||||
	}	if (activity.cc.length == 0) visibility = 'followers';
 | 
			
		||||
	//#endergion
 | 
			
		||||
 | 
			
		||||
	await post(actor, {
 | 
			
		||||
		createdAt: new Date(activity.published),
 | 
			
		||||
		renote,
 | 
			
		||||
		visibility,
 | 
			
		||||
		visibleUsers,
 | 
			
		||||
		uri
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,10 +65,16 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
 | 
			
		|||
 | 
			
		||||
	//#region Visibility
 | 
			
		||||
	let visibility = 'public';
 | 
			
		||||
	if (!note.to.includes('https://www.w3.org/ns/activitystreams#Public')) visibility = 'home';
 | 
			
		||||
	let visibleUsers = [];
 | 
			
		||||
	if (!note.to.includes('https://www.w3.org/ns/activitystreams#Public')) {
 | 
			
		||||
		if (note.cc.includes('https://www.w3.org/ns/activitystreams#Public')) {
 | 
			
		||||
			visibility = 'home';
 | 
			
		||||
		} else {
 | 
			
		||||
			visibility = 'specified';
 | 
			
		||||
			visibleUsers = await Promise.all(note.to.map(uri => resolvePerson(uri)));
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (note.cc.length == 0) visibility = 'followers';
 | 
			
		||||
	// TODO
 | 
			
		||||
	if (visibility != 'public') return null;
 | 
			
		||||
	//#endergion
 | 
			
		||||
 | 
			
		||||
	// 添付メディア
 | 
			
		||||
| 
						 | 
				
			
			@ -99,6 +105,7 @@ export async function createNote(value: any, resolver?: Resolver, silent = false
 | 
			
		|||
		viaMobile: false,
 | 
			
		||||
		geo: undefined,
 | 
			
		||||
		visibility,
 | 
			
		||||
		visibleUsers,
 | 
			
		||||
		uri: note.id
 | 
			
		||||
	}, silent);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue