mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	「すべて既読にする」でグループメッセージが既読にならない問題を修正 (#6476)
This commit is contained in:
		
							parent
							
								
									ca25b9acc1
								
							
						
					
					
						commit
						37c16e5b45
					
				
					 1 changed files with 12 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
import { publishMainStream } from '../../../../services/stream';
 | 
			
		||||
import define from '../../define';
 | 
			
		||||
import { MessagingMessages } from '../../../../models';
 | 
			
		||||
import { MessagingMessages, UserGroupJoinings } from '../../../../models';
 | 
			
		||||
 | 
			
		||||
export const meta = {
 | 
			
		||||
	desc: {
 | 
			
		||||
| 
						 | 
				
			
			@ -27,5 +27,16 @@ export default define(meta, async (ps, user) => {
 | 
			
		|||
		isRead: true
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	const joinings = await UserGroupJoinings.find({ userId: user.id });
 | 
			
		||||
 | 
			
		||||
	await Promise.all(joinings.map(j => MessagingMessages.createQueryBuilder().update()
 | 
			
		||||
		.set({
 | 
			
		||||
			reads: (() => `array_append("reads", '${user.id}')`) as any
 | 
			
		||||
		})
 | 
			
		||||
		.where(`groupId = :groupId`, { groupId: j.userGroupId })
 | 
			
		||||
		.andWhere('userId != :userId', { userId: user.id })
 | 
			
		||||
		.andWhere('NOT (:userId = ANY(reads))', { userId: user.id })
 | 
			
		||||
		.execute()));
 | 
			
		||||
 | 
			
		||||
	publishMainStream(user.id, 'readAllMessagingMessages');
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue