2021-06-09 14:32:17 +00:00
|
|
|
import { put } from "redux-saga/effects";
|
|
|
|
|
import { SOCKET_EVENTS } from "./constants";
|
|
|
|
|
|
|
|
|
|
import {
|
|
|
|
|
newCommentEvent,
|
|
|
|
|
newCommentThreadEvent,
|
|
|
|
|
updateCommentThreadEvent,
|
|
|
|
|
updateCommentEvent,
|
2021-06-24 09:04:27 +00:00
|
|
|
fetchUnreadCommentThreadsCountRequest,
|
2021-06-09 14:32:17 +00:00
|
|
|
} from "actions/commentActions";
|
|
|
|
|
|
|
|
|
|
import { newNotificationEvent } from "actions/notificationActions";
|
|
|
|
|
|
|
|
|
|
export default function* handleSocketEvent(event: any) {
|
|
|
|
|
switch (event.type) {
|
|
|
|
|
// comments
|
|
|
|
|
case SOCKET_EVENTS.INSERT_COMMENT_THREAD: {
|
|
|
|
|
yield put(newCommentThreadEvent(event.payload[0]));
|
2021-06-24 09:04:27 +00:00
|
|
|
yield put(fetchUnreadCommentThreadsCountRequest());
|
2021-06-09 14:32:17 +00:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
case SOCKET_EVENTS.INSERT_COMMENT: {
|
|
|
|
|
yield put(newCommentEvent(event.payload[0]));
|
2021-06-24 09:04:27 +00:00
|
|
|
yield put(fetchUnreadCommentThreadsCountRequest());
|
2021-06-09 14:32:17 +00:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
case SOCKET_EVENTS.UPDATE_COMMENT_THREAD: {
|
|
|
|
|
yield put(updateCommentThreadEvent(event.payload[0].thread));
|
2021-06-24 09:04:27 +00:00
|
|
|
yield put(fetchUnreadCommentThreadsCountRequest());
|
2021-06-09 14:32:17 +00:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
case SOCKET_EVENTS.UPDATE_COMMENT: {
|
|
|
|
|
yield put(updateCommentEvent(event.payload[0].comment));
|
2021-06-24 09:04:27 +00:00
|
|
|
yield put(fetchUnreadCommentThreadsCountRequest());
|
2021-06-09 14:32:17 +00:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// notifications
|
|
|
|
|
case SOCKET_EVENTS.INSERT_NOTIFICATION: {
|
|
|
|
|
yield put(newNotificationEvent(event.payload[0].notification));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|