40 lines
912 B
TypeScript
40 lines
912 B
TypeScript
import type { ActionReturnType } from '../../types';
|
|
|
|
import { addActionHandler, setGlobal } from '../../index';
|
|
import {
|
|
addNotifyException,
|
|
updateNotifyDefaults,
|
|
updateTopic,
|
|
} from '../../reducers';
|
|
|
|
addActionHandler('apiUpdate', (global, actions, update): ActionReturnType => {
|
|
switch (update['@type']) {
|
|
case 'updateDefaultNotifySettings': {
|
|
return updateNotifyDefaults(global, update.peerType, update.settings);
|
|
}
|
|
|
|
case 'updateChatNotifySettings': {
|
|
const {
|
|
chatId, settings,
|
|
} = update;
|
|
|
|
global = addNotifyException(global, chatId, settings);
|
|
setGlobal(global);
|
|
break;
|
|
}
|
|
|
|
case 'updateTopicNotifySettings': {
|
|
const {
|
|
chatId, topicId, settings,
|
|
} = update;
|
|
|
|
global = updateTopic(global, chatId, topicId, { notifySettings: settings });
|
|
|
|
setGlobal(global);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
});
|