fix(server): Use inner join
https://github.com/syuilo/misskey/issues/6813#issuecomment-803400023
This commit is contained in:
		
							parent
							
								
									9bb6dc52b8
								
							
						
					
					
						commit
						d7e7848c92
					
				
					 19 changed files with 91 additions and 91 deletions
				
			
		|  | @ -23,7 +23,7 @@ export async function injectFeatured(timeline: Note[], user?: User | null) { | ||||||
| 		.andWhere(`note.score > 0`) | 		.andWhere(`note.score > 0`) | ||||||
| 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | ||||||
| 		.andWhere(`note.visibility = 'public'`) | 		.andWhere(`note.visibility = 'public'`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user'); | 		.innerJoinAndSelect('note.user', 'user'); | ||||||
| 
 | 
 | ||||||
| 	if (user) { | 	if (user) { | ||||||
| 		query.andWhere('note.userId != :userId', { userId: user.id }); | 		query.andWhere('note.userId != :userId', { userId: user.id }); | ||||||
|  |  | ||||||
|  | @ -73,11 +73,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.id IN (${ antennaQuery.getQuery() })`) | 		.andWhere(`note.id IN (${ antennaQuery.getQuery() })`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser') | 		.innerJoinAndSelect('renote.user', 'renoteUser') | ||||||
| 		.setParameters(antennaQuery.getParameters()); | 		.setParameters(antennaQuery.getParameters()); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, user); | 	generateVisibilityQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -87,11 +87,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 	//#region Construct query
 | 	//#region Construct query
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('note.channelId = :channelId', { channelId: channel.id }) | 		.andWhere('note.channelId = :channelId', { channelId: channel.id }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser') | 		.innerJoinAndSelect('renote.user', 'renoteUser') | ||||||
| 		.leftJoinAndSelect('note.channel', 'channel'); | 		.leftJoinAndSelect('note.channel', 'channel'); | ||||||
| 	//#endregion
 | 	//#endregion
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -71,11 +71,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.id IN (${ clipQuery.getQuery() })`) | 		.andWhere(`note.id IN (${ clipQuery.getQuery() })`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser') | 		.innerJoinAndSelect('renote.user', 'renoteUser') | ||||||
| 		.setParameters(clipQuery.getParameters()); | 		.setParameters(clipQuery.getParameters()); | ||||||
| 
 | 
 | ||||||
| 	if (user) { | 	if (user) { | ||||||
|  |  | ||||||
|  | @ -87,11 +87,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 		.andWhere(`notification.notifieeId = :meId`, { meId: user.id }) | 		.andWhere(`notification.notifieeId = :meId`, { meId: user.id }) | ||||||
| 		.leftJoinAndSelect('notification.notifier', 'notifier') | 		.leftJoinAndSelect('notification.notifier', 'notifier') | ||||||
| 		.leftJoinAndSelect('notification.note', 'note') | 		.leftJoinAndSelect('notification.note', 'note') | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	query.andWhere(`notification.notifierId NOT IN (${ mutingQuery.getQuery() })`); | 	query.andWhere(`notification.notifierId NOT IN (${ mutingQuery.getQuery() })`); | ||||||
| 	query.setParameters(mutingQuery.getParameters()); | 	query.setParameters(mutingQuery.getParameters()); | ||||||
|  |  | ||||||
|  | @ -76,11 +76,11 @@ export default define(meta, async (ps) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.visibility = 'public'`) | 		.andWhere(`note.visibility = 'public'`) | ||||||
| 		.andWhere(`note.localOnly = FALSE`) | 		.andWhere(`note.localOnly = FALSE`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	if (ps.local) { | 	if (ps.local) { | ||||||
| 		query.andWhere('note.userHost IS NULL'); | 		query.andWhere('note.userHost IS NULL'); | ||||||
|  |  | ||||||
|  | @ -64,11 +64,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 				})); | 				})); | ||||||
| 			})); | 			})); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, user); | 	generateVisibilityQuery(query, user); | ||||||
| 	if (user) generateMutedUserQuery(query, user); | 	if (user) generateMutedUserQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -49,11 +49,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 		.andWhere(`note.score > 0`) | 		.andWhere(`note.score > 0`) | ||||||
| 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | 		.andWhere(`note.createdAt > :date`, { date: new Date(Date.now() - day) }) | ||||||
| 		.andWhere(`note.visibility = 'public'`) | 		.andWhere(`note.visibility = 'public'`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	if (user) generateMutedUserQuery(query, user); | 	if (user) generateMutedUserQuery(query, user); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -79,11 +79,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('note.visibility = \'public\'') | 		.andWhere('note.visibility = \'public\'') | ||||||
| 		.andWhere('note.channelId IS NULL') | 		.andWhere('note.channelId IS NULL') | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateRepliesQuery(query, user); | 	generateRepliesQuery(query, user); | ||||||
| 	if (user) generateMutedUserQuery(query, user); | 	if (user) generateMutedUserQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -127,11 +127,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 			qb.where(`((note.userId IN (${ followingQuery.getQuery() })) OR (note.userId = :meId))`, { meId: user.id }) | 			qb.where(`((note.userId IN (${ followingQuery.getQuery() })) OR (note.userId = :meId))`, { meId: user.id }) | ||||||
| 				.orWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)'); | 				.orWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)'); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser') | 		.innerJoinAndSelect('renote.user', 'renoteUser') | ||||||
| 		.setParameters(followingQuery.getParameters()); | 		.setParameters(followingQuery.getParameters()); | ||||||
| 
 | 
 | ||||||
| 	generateChannelQuery(query, user); | 	generateChannelQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -96,11 +96,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), | ||||||
| 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 			ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)') | 		.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)') | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateChannelQuery(query, user); | 	generateChannelQuery(query, user); | ||||||
| 	generateRepliesQuery(query, user); | 	generateRepliesQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -63,11 +63,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 			.where(`:meId = ANY(note.mentions)`, { meId: user.id }) | 			.where(`:meId = ANY(note.mentions)`, { meId: user.id }) | ||||||
| 			.orWhere(`:meId = ANY(note.visibleUserIds)`, { meId: user.id }); | 			.orWhere(`:meId = ANY(note.visibleUserIds)`, { meId: user.id }); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, user); | 	generateVisibilityQuery(query, user); | ||||||
| 	generateMutedUserQuery(query, user); | 	generateMutedUserQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -68,11 +68,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.renoteId = :renoteId`, { renoteId: note.id }) | 		.andWhere(`note.renoteId = :renoteId`, { renoteId: note.id }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, user); | 	generateVisibilityQuery(query, user); | ||||||
| 	if (user) generateMutedUserQuery(query, user); | 	if (user) generateMutedUserQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -59,11 +59,11 @@ export const meta = { | ||||||
| export default define(meta, async (ps, user) => { | export default define(meta, async (ps, user) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere('note.replyId = :replyId', { replyId: ps.noteId }) | 		.andWhere('note.replyId = :replyId', { replyId: ps.noteId }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, user); | 	generateVisibilityQuery(query, user); | ||||||
| 	if (user) generateMutedUserQuery(query, user); | 	if (user) generateMutedUserQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -95,11 +95,11 @@ export const meta = { | ||||||
| 
 | 
 | ||||||
| export default define(meta, async (ps, me) => { | export default define(meta, async (ps, me) => { | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, me); | 	generateVisibilityQuery(query, me); | ||||||
| 	if (me) generateMutedUserQuery(query, me); | 	if (me) generateMutedUserQuery(query, me); | ||||||
|  |  | ||||||
|  | @ -79,11 +79,11 @@ export default define(meta, async (ps, me) => { | ||||||
| 
 | 
 | ||||||
| 		query | 		query | ||||||
| 			.andWhere('note.text ILIKE :q', { q: `%${ps.query}%` }) | 			.andWhere('note.text ILIKE :q', { q: `%${ps.query}%` }) | ||||||
| 			.leftJoinAndSelect('note.user', 'user') | 			.innerJoinAndSelect('note.user', 'user') | ||||||
| 			.leftJoinAndSelect('note.reply', 'reply') | 			.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 			.leftJoinAndSelect('note.renote', 'renote') | 			.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 			.leftJoinAndSelect('reply.user', 'replyUser') | 			.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 			.leftJoinAndSelect('renote.user', 'renoteUser'); | 			.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 		generateVisibilityQuery(query, me); | 		generateVisibilityQuery(query, me); | ||||||
| 		if (me) generateMutedUserQuery(query, me); | 		if (me) generateMutedUserQuery(query, me); | ||||||
|  |  | ||||||
|  | @ -120,11 +120,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 			.where('note.userId = :meId', { meId: user.id }); | 			.where('note.userId = :meId', { meId: user.id }); | ||||||
| 			if (hasFollowing) qb.orWhere(`note.userId IN (${ followingQuery.getQuery() })`); | 			if (hasFollowing) qb.orWhere(`note.userId IN (${ followingQuery.getQuery() })`); | ||||||
| 		})) | 		})) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser') | 		.innerJoinAndSelect('renote.user', 'renoteUser') | ||||||
| 		.setParameters(followingQuery.getParameters()); | 		.setParameters(followingQuery.getParameters()); | ||||||
| 
 | 
 | ||||||
| 	generateChannelQuery(query, user); | 	generateChannelQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -130,11 +130,11 @@ export default define(meta, async (ps, user) => { | ||||||
| 
 | 
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId) | ||||||
| 		.andWhere(`note.userId IN (${ listQuery.getQuery() })`) | 		.andWhere(`note.userId IN (${ listQuery.getQuery() })`) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser') | 		.innerJoinAndSelect('renote.user', 'renoteUser') | ||||||
| 		.setParameters(listQuery.getParameters()); | 		.setParameters(listQuery.getParameters()); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, user); | 	generateVisibilityQuery(query, user); | ||||||
|  |  | ||||||
|  | @ -131,11 +131,11 @@ export default define(meta, async (ps, me) => { | ||||||
| 	//#region Construct query
 | 	//#region Construct query
 | ||||||
| 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | 	const query = makePaginationQuery(Notes.createQueryBuilder('note'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate) | ||||||
| 		.andWhere('note.userId = :userId', { userId: user.id }) | 		.andWhere('note.userId = :userId', { userId: user.id }) | ||||||
| 		.leftJoinAndSelect('note.user', 'user') | 		.innerJoinAndSelect('note.user', 'user') | ||||||
| 		.leftJoinAndSelect('note.reply', 'reply') | 		.innerJoinAndSelect('note.reply', 'reply') | ||||||
| 		.leftJoinAndSelect('note.renote', 'renote') | 		.innerJoinAndSelect('note.renote', 'renote') | ||||||
| 		.leftJoinAndSelect('reply.user', 'replyUser') | 		.innerJoinAndSelect('reply.user', 'replyUser') | ||||||
| 		.leftJoinAndSelect('renote.user', 'renoteUser'); | 		.innerJoinAndSelect('renote.user', 'renoteUser'); | ||||||
| 
 | 
 | ||||||
| 	generateVisibilityQuery(query, me); | 	generateVisibilityQuery(query, me); | ||||||
| 	if (me) generateMutedUserQuery(query, me, user); | 	if (me) generateMutedUserQuery(query, me, user); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue