UNPKG

trc-client-core

Version:
72 lines (54 loc) 1.83 kB
import reflux from 'reflux'; import xhr from 'trc-client-core/src/utils/xhr'; import {createAction} from 'redux-actions'; import { QANDA_ASK_FORM_SUCCESS, QANDA_TAGS_FETCH, QANDA_TAGS_RECIEVE, QANDA_TAGS_ERROR } from 'trc-client-core/src/constants/ActionTypes'; import { QANDA_TAGS_ENDPOINT, QANDA_QUESTIONS_ENDPOINT, QANDA_ASK_ENDPOINT } from 'trc-client-core/src/constants/Endpoints'; var QandaActions = reflux.createActions({ // Questions 'fetchQuestions': {asyncResult: true}, // Question 'deleteQuestion': {asyncResult: true}, 'saveQuestion': {asyncResult: true}, 'createQuestion': {asyncResult: true}, // Tags 'fetchTags': {asyncResult: true}, // Ask Form 'askQuestion': {}, 'updateAskForm': {}, 'sendAskFormData': {asyncResult: true} }); QandaActions.fetchQuestions.listenAndPromise(function() { return xhr.get(QANDA_QUESTIONS_ENDPOINT); }); QandaActions.fetchTags.listenAndPromise(function() { return xhr.get(QANDA_TAGS_ENDPOINT); }); QandaActions.sendAskFormData.listenAndPromise(function(data){ return xhr.post(QANDA_ASK_ENDPOINT, data); }); QandaActions.deleteQuestion.listenAndPromise(function(query){ return xhr.del(QANDA_QUESTIONS_ENDPOINT + '/' + query); }); QandaActions.saveQuestion.listenAndPromise(function(query){ return xhr.put(QANDA_QUESTIONS_ENDPOINT + '/' + query.id, query); }); QandaActions.createQuestion.listenAndPromise(function(query){ return xhr.post(QANDA_QUESTIONS_ENDPOINT, query); }); // Redux QandaActions.qandaSubmitAskForm = createAction(QANDA_ASK_FORM_SUCCESS, (query) => { return xhr.post(QANDA_ASK_ENDPOINT, query); }); QandaActions.qandaRequestTags = createAction(QANDA_TAGS_RECIEVE, () => { return xhr.get(QANDA_TAGS_ENDPOINT); }); module.exports = QandaActions;