未読の投稿をすべて既読にできるように

This commit is contained in:
syuilo 2018-10-19 06:36:59 +09:00
parent 00290fbf75
commit fb5f6fdc10
No known key found for this signature in database
GPG key ID: BDC4C49D06AB9D69
2 changed files with 42 additions and 0 deletions

View file

@ -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');

View 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();
});