Files
imexmobile/redux/timetickets/timetickets.sagas.js
2023-05-10 15:43:40 -04:00

52 lines
1.6 KiB
JavaScript

import {
timeTicketCreateFailure,
timeTicketCreateSuccess,
} from "./timetickets.actions";
import TimeTicketsActionTypes from "./timetickets.types";
import { client } from "../../graphql/client";
import { all, call, put, select, takeLatest } from "redux-saga/effects";
import { logImEXEvent } from "../../firebase/firebase.analytics";
import { selectCurrentTimeTicket } from "./timetickets.selectors";
import { INSERT_NEW_TIME_TICKET } from "../../graphql/timetickets.queries";
export function* onCreateTimeTicketStart() {
yield takeLatest(
TimeTicketsActionTypes.TIME_TICKET_CREATE_START,
insertNewTimeTicket
);
}
export function* insertNewTimeTicket({ payload: { timeticketinsert } }) {
try {
logImEXEvent("redux_insertnewtimeticket_attempt");
//console.loging
// console.log("Saga", employeeId, pin, pin);
const timeTicket = yield select(selectCurrentTimeTicket);
// const response = yield call(axios.post, "/tech/login", {
// shopid: bodyshop.id,
// employeeid: employeeId,
// pin: pin,
// });
// const { valid, data, error } = response.data;
const result = yield client.query({
query: INSERT_NEW_TIME_TICKET,
variables: {
id: employeeId,
},
});
const { valid, data, error } = result.data;
if (valid) {
yield put(timeTicketCreateSuccess(data));
} else {
yield put(timeTicketCreateFailure(error));
}
} catch (error) {
yield put(timeTicketCreateFailure(error));
}
}
export function* timeTicketsSagas() {
yield all([call(onCreateTimeTicketStart)]);
}