Home Reference Source

src/sagas/localStorage.js

import { take, call, select } from 'redux-saga/effects';
import * as types from '../actions/types';
import { convertMonitorsFromObj } from '../reducers';
import * as storage from '../localStorage';

export function* tokenSaver({ payload }) {
    if (payload.remember) {
        const action = yield take(types.SIGN_IN_SUCCESS);
        yield call(storage.saveToken, action.payload.access_token);
    }
}

export function* tokenEraser() {
    yield call(storage.clearToken);
}

export function* monitorsSaver() {
    const monitors = yield select(convertMonitorsFromObj);
    yield call(storage.updateMonitors, monitors);
}

export function* authServerSaver({ payload }) {
    yield call(storage.updateAuthServer, payload.address);
}