みつけるの人気のタグを第2ソートで連合含めたユーザー数にしたりユーザーのタグ以外は除外するように
This commit is contained in:
		| @@ -11,16 +11,35 @@ export const meta = { | ||||
| 			default: 10 | ||||
| 		}, | ||||
|  | ||||
| 		attachedToUserOnly: { | ||||
| 			validator: $.optional.bool, | ||||
| 			default: false | ||||
| 		}, | ||||
|  | ||||
| 		attachedToLocalUserOnly: { | ||||
| 			validator: $.optional.bool, | ||||
| 			default: false | ||||
| 		}, | ||||
|  | ||||
| 		attachedToRemoteUserOnly: { | ||||
| 			validator: $.optional.bool, | ||||
| 			default: false | ||||
| 		}, | ||||
|  | ||||
| 		sort: { | ||||
| 			validator: $.str.or([ | ||||
| 				'+mentionedUsers', | ||||
| 				'-mentionedUsers', | ||||
| 				'+mentionedLocalUsers', | ||||
| 				'-mentionedLocalUsers', | ||||
| 				'+mentionedRemoteUsers', | ||||
| 				'-mentionedRemoteUsers', | ||||
| 				'+attachedUsers', | ||||
| 				'-attachedUsers', | ||||
| 				'+attachedLocalUsers', | ||||
| 				'-attachedLocalUsers', | ||||
| 				'+attachedRemoteUsers', | ||||
| 				'-attachedRemoteUsers', | ||||
| 			]), | ||||
| 		}, | ||||
| 	} | ||||
| @@ -31,23 +50,33 @@ const sort: any = { | ||||
| 	'-mentionedUsers': { mentionedUsersCount: 1 }, | ||||
| 	'+mentionedLocalUsers': { mentionedLocalUsersCount: -1 }, | ||||
| 	'-mentionedLocalUsers': { mentionedLocalUsersCount: 1 }, | ||||
| 	'+mentionedRemoteUsers': { mentionedRemoteUsersCount: -1 }, | ||||
| 	'-mentionedRemoteUsers': { mentionedRemoteUsersCount: 1 }, | ||||
| 	'+attachedUsers': { attachedUsersCount: -1 }, | ||||
| 	'-attachedUsers': { attachedUsersCount: 1 }, | ||||
| 	'+attachedLocalUsers': { attachedLocalUsersCount: -1 }, | ||||
| 	'-attachedLocalUsers': { attachedLocalUsersCount: 1 }, | ||||
| 	'+attachedRemoteUsers': { attachedRemoteUsersCount: -1 }, | ||||
| 	'-attachedRemoteUsers': { attachedRemoteUsersCount: 1 }, | ||||
| }; | ||||
|  | ||||
| export default define(meta, (ps, me) => new Promise(async (res, rej) => { | ||||
| 	const q = {} as any; | ||||
| 	if (ps.attachedToUserOnly) q.attachedUsersCount = { $ne: 0 }; | ||||
| 	if (ps.attachedToLocalUserOnly) q.attachedLocalUsersCount = { $ne: 0 }; | ||||
| 	if (ps.attachedToRemoteUserOnly) q.attachedRemoteUsersCount = { $ne: 0 }; | ||||
| 	const tags = await Hashtag | ||||
| 		.find({}, { | ||||
| 		.find(q, { | ||||
| 			limit: ps.limit, | ||||
| 			sort: sort[ps.sort], | ||||
| 			fields: { | ||||
| 				tag: true, | ||||
| 				mentionedUsersCount: true, | ||||
| 				mentionedLocalUsersCount: true, | ||||
| 				mentionedRemoteUsersCount: true, | ||||
| 				attachedUsersCount: true, | ||||
| 				attachedLocalUsersCount: true | ||||
| 				attachedLocalUsersCount: true, | ||||
| 				attachedRemoteUsersCount: true | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo