import { bindActionCreators } from 'redux' import { crud_actions } from 'app/api/crud.actions' import * as transcriptActions from 'app/views/editor/paragraph/transcript.actions' import * as alignActions from 'app/views/editor/align/align.actions' import * as viewerActions from 'app/views/viewer/viewer.actions' import * as audioActions from 'app/views/audio/audio.actions' import * as siteActions from 'app/views/site/site.actions' import * as authActions from 'app/views/auth/auth.actions' import { store } from 'app/store' const crudActions = [ 'paragraph', 'annotation', 'upload', 'media', 'project', 'episode', 'venue', 'user', ].reduce((a,b) => (a[b] = crud_actions(b)) && a, {}) export default Object.keys(crudActions) .map(a => [a, crudActions[a]]) .concat([ ['site', siteActions], ['auth', authActions], ['align', alignActions], ['audio', audioActions], ['viewer', viewerActions], ['transcript', transcriptActions], ]) .map(p => [p[0], bindActionCreators(p[1], store.dispatch)]) .concat([ // ['socket', socketActions], ]) .reduce((a,b) => (a[b[0]] = b[1])&&a,{})