forked from RocketChat/Rocket.Chat
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsaveUserPreferences.js
More file actions
72 lines (56 loc) · 2.16 KB
/
Copy pathsaveUserPreferences.js
File metadata and controls
72 lines (56 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Meteor.methods({
saveUserPreferences(settings) {
check(settings, Object);
if (Meteor.userId()) {
const preferences = {};
if (settings.language != null) {
RocketChat.models.Users.setLanguage(Meteor.userId(), settings.language);
}
if (settings.newRoomNotification) {
preferences.newRoomNotification = settings.newRoomNotification;
}
if (settings.newMessageNotification) {
preferences.newMessageNotification = settings.newMessageNotification;
}
if (settings.useEmojis) {
preferences.useEmojis = settings.useEmojis === '1' ? true : false;
}
if (settings.convertAsciiEmoji) {
preferences.convertAsciiEmoji = settings.convertAsciiEmoji === '1' ? true : false;
}
if (settings.saveMobileBandwidth) {
preferences.saveMobileBandwidth = settings.saveMobileBandwidth === '1' ? true : false;
}
if (settings.collapseMediaByDefault) {
preferences.collapseMediaByDefault = settings.collapseMediaByDefault === '1' ? true : false;
}
if (settings.unreadRoomsMode) {
preferences.unreadRoomsMode = settings.unreadRoomsMode === '1' ? true : false;
}
if (settings.autoImageLoad) {
preferences.autoImageLoad = settings.autoImageLoad === '1' ? true : false;
}
if (settings.emailNotificationMode) {
preferences.emailNotificationMode = settings.emailNotificationMode;
}
if (settings.mergeChannels !== '-1') {
preferences.mergeChannels = settings.mergeChannels === '1';
} else {
delete preferences.mergeChannels;
}
if (settings.unreadAlert) {
preferences.unreadAlert = settings.unreadAlert === '1' ? true : false;
}
preferences.desktopNotificationDuration = settings.desktopNotificationDuration - 0;
preferences.viewMode = settings.viewMode || 0;
preferences.hideUsernames = settings.hideUsernames === '1';
preferences.hideRoles = settings.hideRoles === '1';
preferences.hideAvatars = settings.hideAvatars === '1';
preferences.hideFlexTab = settings.hideFlexTab === '1';
preferences.highlights = settings.highlights;
preferences.sendOnEnter = settings.sendOnEnter;
RocketChat.models.Users.setPreferences(Meteor.userId(), preferences);
return true;
}
}
});