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