Files
app/nextjs/rootSaga.js
2019-06-26 17:28:38 +02:00

42 lines
1.3 KiB
JavaScript

/* global fetch */
import { all, call, delay, put, take, takeLatest } from 'redux-saga/effects'
import es6promise from 'es6-promise'
import { requestLoginSaga, requestUserSaga, requestRegisterSaga, requestLogoutSaga, requestNewsletterSubscribitionSaga} from './sagas/userSaga.js'
import { requestAdsSaga, requestAdSaga, requestPromotedAdsSaga } from './sagas/offreSaga.js'
import {requestCompaniesSaga} from './sagas/companySaga.js'
import {
REQUEST_LOGIN,
REQUEST_LOGOUT,
REQUEST_REGISTER,
FETCH_CURRENT_USER_REQUEST,
FETCH_ADS_REQUEST,
FETCH_AD_REQUEST,
FETCH_PROMOTED_ADS_REQUEST,
FETCH_COMPANIES_REQUEST,
SUBSCRIBE_NEWSLETTER_REQUEST,
} from "./types";
es6promise.polyfill()
function* rootSaga() {
yield all([
takeLatest(REQUEST_LOGIN, requestLoginSaga),
takeLatest(REQUEST_LOGOUT, requestLogoutSaga),
takeLatest(REQUEST_REGISTER, requestRegisterSaga),
takeLatest(FETCH_CURRENT_USER_REQUEST, requestUserSaga),
takeLatest(SUBSCRIBE_NEWSLETTER_REQUEST, requestNewsletterSubscribitionSaga),
takeLatest(FETCH_ADS_REQUEST, requestAdsSaga),
takeLatest(FETCH_AD_REQUEST, requestAdSaga),
takeLatest(FETCH_PROMOTED_ADS_REQUEST, requestPromotedAdsSaga),
takeLatest(FETCH_COMPANIES_REQUEST, requestCompaniesSaga),
])
}
export default rootSaga