mirror of
https://github.com/discourse/discourse.git
synced 2025-02-07 05:45:17 +08:00
REFACTOR: Don't lookup container for certain objects if user is not signed in.
This commit is contained in:
parent
ddc8abf9d8
commit
32d8447838
|
@ -10,13 +10,9 @@ export default {
|
||||||
after: 'message-bus',
|
after: 'message-bus',
|
||||||
|
|
||||||
initialize(container) {
|
initialize(container) {
|
||||||
const user = container.lookup('current-user:main'),
|
const user = container.lookup('current-user:main');
|
||||||
site = container.lookup('site:main'),
|
const keyValueStore = container.lookup('key-value-store:main');
|
||||||
siteSettings = container.lookup('site-settings:main'),
|
const bus = container.lookup('message-bus:main');
|
||||||
bus = container.lookup('message-bus:main'),
|
|
||||||
keyValueStore = container.lookup('key-value-store:main'),
|
|
||||||
store = container.lookup('store:main'),
|
|
||||||
appEvents = container.lookup('app-events:main');
|
|
||||||
|
|
||||||
// clear old cached notifications, we used to store in local storage
|
// clear old cached notifications, we used to store in local storage
|
||||||
// TODO 2017 delete this line
|
// TODO 2017 delete this line
|
||||||
|
@ -36,12 +32,17 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
bus.subscribe(`/notification/${user.get('id')}`, data => {
|
bus.subscribe(`/notification/${user.get('id')}`, data => {
|
||||||
|
const store = container.lookup('store:main');
|
||||||
|
const appEvents = container.lookup('app-events:main');
|
||||||
|
|
||||||
const oldUnread = user.get('unread_notifications');
|
const oldUnread = user.get('unread_notifications');
|
||||||
const oldPM = user.get('unread_private_messages');
|
const oldPM = user.get('unread_private_messages');
|
||||||
|
|
||||||
user.set('unread_notifications', data.unread_notifications);
|
user.setProperties({
|
||||||
user.set('unread_private_messages', data.unread_private_messages);
|
unread_notifications: data.unread_notifications,
|
||||||
user.set('read_first_notification', data.read_first_notification);
|
unread_private_messages: data.unread_private_messages,
|
||||||
|
read_first_notification: data.read_first_notification
|
||||||
|
});
|
||||||
|
|
||||||
if (oldUnread !== data.unread_notifications || oldPM !== data.unread_private_messages) {
|
if (oldUnread !== data.unread_notifications || oldPM !== data.unread_private_messages) {
|
||||||
appEvents.trigger('notifications:changed');
|
appEvents.trigger('notifications:changed');
|
||||||
|
@ -84,6 +85,9 @@ export default {
|
||||||
}
|
}
|
||||||
}, user.notification_channel_position);
|
}, user.notification_channel_position);
|
||||||
|
|
||||||
|
const site = container.lookup('site:main');
|
||||||
|
const siteSettings = container.lookup('site-settings:main');
|
||||||
|
|
||||||
bus.subscribe("/categories", data => {
|
bus.subscribe("/categories", data => {
|
||||||
_.each(data.categories, c => site.updateCategory(c));
|
_.each(data.categories, c => site.updateCategory(c));
|
||||||
_.each(data.deleted_categories, id => site.removeCategory(id));
|
_.each(data.deleted_categories, id => site.removeCategory(id));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user