未読の投稿をすべて既読にできるように
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%
 | 
			
		||||
					<span slot="desc">%i18n:@auto-watch-desc%</span>
 | 
			
		||||
				</ui-switch>
 | 
			
		||||
				<section>
 | 
			
		||||
					<ui-button @click="readAllUnreadNotes">%i18n:@mark-as-read-all-unread-notes%</ui-button>
 | 
			
		||||
				</section>
 | 
			
		||||
			</section>
 | 
			
		||||
		</ui-card>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -488,6 +491,9 @@ export default Vue.extend({
 | 
			
		|||
		});
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		readAllUnreadNotes() {
 | 
			
		||||
			(this as any).api('i/read_all_unread_notes');
 | 
			
		||||
		},
 | 
			
		||||
		customizeHome() {
 | 
			
		||||
			this.$router.push('/i/customize-home');
 | 
			
		||||
			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
		Add a link
		
	
		Reference in a new issue