2021-11-17 08:19:24 -06:00
|
|
|
import { call, put, takeEvery } from 'redux-saga/effects';
|
|
|
|
import { createFlashMessage } from '../components/Flash/redux';
|
2021-12-01 18:45:17 +00:00
|
|
|
import { FlashMessages } from '../components/Flash/redux/flash-messages';
|
2021-11-17 08:19:24 -06:00
|
|
|
import { postWebhookToken, deleteWebhookToken } from '../utils/ajax';
|
|
|
|
import { postWebhookTokenComplete, deleteWebhookTokenComplete } from '.';
|
|
|
|
|
|
|
|
const message = {
|
|
|
|
created: {
|
|
|
|
type: 'success',
|
2021-12-01 18:45:17 +00:00
|
|
|
message: FlashMessages.TokenCreated
|
2021-11-17 08:19:24 -06:00
|
|
|
},
|
|
|
|
createErr: {
|
|
|
|
type: 'danger',
|
2021-12-01 18:45:17 +00:00
|
|
|
message: FlashMessages.CreateTokenErr
|
2021-11-17 08:19:24 -06:00
|
|
|
},
|
|
|
|
deleted: {
|
|
|
|
type: 'info',
|
2021-12-01 18:45:17 +00:00
|
|
|
message: FlashMessages.TokenDeleted
|
2021-11-17 08:19:24 -06:00
|
|
|
},
|
|
|
|
deleteErr: {
|
|
|
|
type: 'danger',
|
2021-12-01 18:45:17 +00:00
|
|
|
message: FlashMessages.DeleteTokenErr
|
2021-11-17 08:19:24 -06:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
function* postWebhookTokenSaga() {
|
|
|
|
try {
|
|
|
|
const response = yield call(postWebhookToken);
|
|
|
|
|
|
|
|
if (response?.message) {
|
|
|
|
yield put(createFlashMessage(response));
|
|
|
|
} else {
|
|
|
|
yield put(postWebhookTokenComplete(response));
|
|
|
|
yield put(createFlashMessage(message.created));
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
yield put(createFlashMessage(message.createErr));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function* deleteWebhookTokenSaga() {
|
|
|
|
try {
|
|
|
|
const response = yield call(deleteWebhookToken);
|
|
|
|
|
|
|
|
if (response?.message) {
|
|
|
|
yield put(createFlashMessage(response));
|
|
|
|
} else {
|
|
|
|
yield put(deleteWebhookTokenComplete());
|
|
|
|
yield put(createFlashMessage(message.deleted));
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
yield put(createFlashMessage(message.deleteErr));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export function createWebhookSaga(types) {
|
|
|
|
return [
|
|
|
|
takeEvery(types.postWebhookToken, postWebhookTokenSaga),
|
|
|
|
takeEvery(types.deleteWebhookToken, deleteWebhookTokenSaga)
|
|
|
|
];
|
|
|
|
}
|