mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-25 18:54:52 +00:00 
			
		
		
		
	未読の投稿をすべて既読にできるように
This commit is contained in:
		
							parent
							
								
									00290fbf75
								
							
						
					
					
						commit
						fb5f6fdc10
					
				
					 2 changed files with 42 additions and 0 deletions
				
			
		|  | @ -169,6 +169,9 @@ | ||||||
| 					%i18n:@auto-watch% | 					%i18n:@auto-watch% | ||||||
| 					<span slot="desc">%i18n:@auto-watch-desc%</span> | 					<span slot="desc">%i18n:@auto-watch-desc%</span> | ||||||
| 				</ui-switch> | 				</ui-switch> | ||||||
|  | 				<section> | ||||||
|  | 					<ui-button @click="readAllUnreadNotes">%i18n:@mark-as-read-all-unread-notes%</ui-button> | ||||||
|  | 				</section> | ||||||
| 			</section> | 			</section> | ||||||
| 		</ui-card> | 		</ui-card> | ||||||
| 
 | 
 | ||||||
|  | @ -488,6 +491,9 @@ export default Vue.extend({ | ||||||
| 		}); | 		}); | ||||||
| 	}, | 	}, | ||||||
| 	methods: { | 	methods: { | ||||||
|  | 		readAllUnreadNotes() { | ||||||
|  | 			(this as any).api('i/read_all_unread_notes'); | ||||||
|  | 		}, | ||||||
| 		customizeHome() { | 		customizeHome() { | ||||||
| 			this.$router.push('/i/customize-home'); | 			this.$router.push('/i/customize-home'); | ||||||
| 			this.$emit('done'); | 			this.$emit('done'); | ||||||
|  |  | ||||||
							
								
								
									
										36
									
								
								src/server/api/endpoints/i/read_all_unread_notes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/server/api/endpoints/i/read_all_unread_notes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | ||||||
|  | import User, { ILocalUser } from '../../../../models/user'; | ||||||
|  | import { publishMainStream } from '../../../../stream'; | ||||||
|  | import NoteUnread from '../../../../models/note-unread'; | ||||||
|  | 
 | ||||||
|  | export const meta = { | ||||||
|  | 	desc: { | ||||||
|  | 		'ja-JP': '未読の投稿をすべて既読にします。' | ||||||
|  | 	}, | ||||||
|  | 
 | ||||||
|  | 	requireCredential: true, | ||||||
|  | 
 | ||||||
|  | 	kind: 'account-write', | ||||||
|  | 
 | ||||||
|  | 	params: { | ||||||
|  | 	} | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { | ||||||
|  | 	// Remove documents
 | ||||||
|  | 	await NoteUnread.remove({ | ||||||
|  | 		userId: user._id | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
|  | 	User.update({ _id: user._id }, { | ||||||
|  | 		$set: { | ||||||
|  | 			hasUnreadMentions: false, | ||||||
|  | 			hasUnreadSpecifiedNotes: false | ||||||
|  | 		} | ||||||
|  | 	}); | ||||||
|  | 
 | ||||||
|  | 	// 全て既読になったイベントを発行
 | ||||||
|  | 	publishMainStream(user._id, 'readAllUnreadMentions'); | ||||||
|  | 	publishMainStream(user._id, 'readAllUnreadSpecifiedNotes'); | ||||||
|  | 
 | ||||||
|  | 	res(); | ||||||
|  | }); | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue