added working ticket frontend
This commit is contained in:
@@ -42,10 +42,49 @@ export const ticketSlice = createSlice({
|
||||
state.isLoading = false;
|
||||
state.isError = true;
|
||||
state.message = action.payload;
|
||||
})
|
||||
.addCase(getTicket.pending, (state) => {
|
||||
state.isLoading = true;
|
||||
})
|
||||
.addCase(getTicket.fulfilled, (state, action) => {
|
||||
state.isLoading = false;
|
||||
state.isSuccess = true;
|
||||
state.ticket = action.payload;
|
||||
})
|
||||
.addCase(getTicket.rejected, (state, action) => {
|
||||
state.isLoading = false;
|
||||
state.isError = true;
|
||||
state.message = action.payload;
|
||||
})
|
||||
.addCase(closeTicket.fulfilled, (state, action) => {
|
||||
state.isLoading = false;
|
||||
state.tickets.map((ticket) =>
|
||||
ticket._id === action.payload._id
|
||||
? (ticket.status = "closed")
|
||||
: ticket
|
||||
);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export const closeTicket = createAsyncThunk(
|
||||
"tickets/close",
|
||||
async (ticketId, thunkAPI) => {
|
||||
try {
|
||||
const token = thunkAPI.getState().auth.user.token;
|
||||
return await ticketService.closeTicket(ticketId, token);
|
||||
} catch (error) {
|
||||
const message =
|
||||
(error.response &&
|
||||
error.response.data &&
|
||||
error.response.data.message) ||
|
||||
error.message ||
|
||||
error.toString();
|
||||
|
||||
return thunkAPI.rejectWithValue(message);
|
||||
}
|
||||
}
|
||||
);
|
||||
export const getTickets = createAsyncThunk(
|
||||
"tickets/getAll",
|
||||
async (_, thunkAPI) => {
|
||||
@@ -69,7 +108,25 @@ export const createTicket = createAsyncThunk(
|
||||
async (ticketData, thunkAPI) => {
|
||||
try {
|
||||
const token = thunkAPI.getState().auth.user.token;
|
||||
return await ticketService(ticketData, token);
|
||||
return await ticketService.createTicket(ticketData, token);
|
||||
} catch (error) {
|
||||
const message =
|
||||
(error.response &&
|
||||
error.response.data &&
|
||||
error.response.data.message) ||
|
||||
error.message ||
|
||||
error.toString();
|
||||
|
||||
return thunkAPI.rejectWithValue(message);
|
||||
}
|
||||
}
|
||||
);
|
||||
export const getTicket = createAsyncThunk(
|
||||
"tickets/get",
|
||||
async (ticketId, thunkAPI) => {
|
||||
try {
|
||||
const token = thunkAPI.getState().auth.user.token;
|
||||
return await ticketService.getTicket(ticketId, token);
|
||||
} catch (error) {
|
||||
const message =
|
||||
(error.response &&
|
||||
|
||||
Reference in New Issue
Block a user