Resolve #7457
This commit is contained in:
		
							parent
							
								
									f984f56459
								
							
						
					
					
						commit
						7da5eead8a
					
				
					 1 changed files with 42 additions and 0 deletions
				
			
		
							
								
								
									
										42
									
								
								src/server/api/endpoints/notifications/read.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/server/api/endpoints/notifications/read.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,42 @@ | ||||||
|  | import $ from 'cafy'; | ||||||
|  | import { ID } from '@/misc/cafy-id'; | ||||||
|  | import { publishMainStream } from '../../../../services/stream'; | ||||||
|  | import define from '../../define'; | ||||||
|  | import { Notifications } from '../../../../models'; | ||||||
|  | import { readNotification } from '../../common/read-notification'; | ||||||
|  | import { ApiError } from '../../error'; | ||||||
|  | 
 | ||||||
|  | export const meta = { | ||||||
|  | 	tags: ['notifications', 'account'], | ||||||
|  | 
 | ||||||
|  | 	requireCredential: true as const, | ||||||
|  | 
 | ||||||
|  | 	kind: 'write:notifications', | ||||||
|  | 
 | ||||||
|  | 	params: { | ||||||
|  | 		notificationId: { | ||||||
|  | 			validator: $.type(ID), | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | 
 | ||||||
|  | 	errors: { | ||||||
|  | 		noSuchNotification: { | ||||||
|  | 			message: 'No such notification.', | ||||||
|  | 			code: 'NO_SUCH_NOTIFICATION', | ||||||
|  | 			id: 'efa929d5-05b5-47d1-beec-e6a4dbed011e' | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | export default define(meta, async (ps, user) => { | ||||||
|  | 	const notification = await Notifications.findOne({ | ||||||
|  | 		notifieeId: user.id, | ||||||
|  | 		id: ps.notificationId, | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
|  | 	if (notification == null) { | ||||||
|  | 		throw new ApiError(meta.errors.noSuchNotification); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	readNotification(user.id, [notification.id]); | ||||||
|  | }); | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue