12345678910111213141516171819202122232425 |
- import misago from 'misago/index';
- import { patch } from 'misago/reducers/auth';
- import ajax from 'misago/services/ajax';
- import snackbar from 'misago/services/snackbar';
- import store from 'misago/services/store';
- const AUTH_SYNC_RATE = 45; // sync user with backend every 45 seconds
- export default function initializer(context) {
- if (context.get('isAuthenticated')) {
- window.setInterval(function() {
- ajax.get(context.get('AUTH_API')).then(function(data) {
- store.dispatch(patch(data));
- }, function(rejection) {
- snackbar.apiError(rejection);
- });
- }, AUTH_SYNC_RATE * 1000);
- }
- }
- misago.addInitializer({
- name: 'auth-sync',
- initializer: initializer,
- after: 'auth'
- });
|