created new slice for employeeAttendance
This commit is contained in:
parent
5cde0adffe
commit
f1e3ce4504
57
src/slices/apiSlice/employeeAttendanceSlice.js
Normal file
57
src/slices/apiSlice/employeeAttendanceSlice.js
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';
|
||||||
|
import AttendanceRepository from '../../repositories/AttendanceRepository';
|
||||||
|
import { markAttendance } from './attedanceLogsSlice';
|
||||||
|
|
||||||
|
export const fetchEmployeeAttendanceData = createAsyncThunk(
|
||||||
|
'employeeAttendance/fetchEmployeeAttendanceData',
|
||||||
|
async ( {employeeId, fromDate, toDate}, thunkAPI ) =>
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
const response = await AttendanceRepository.getAttendanceByEmployee( employeeId, fromDate, toDate );
|
||||||
|
console.log(response)
|
||||||
|
// return response?.data?.filter((log) => log.checkInTime !== null && log.activity !== 0);
|
||||||
|
return response.data
|
||||||
|
} catch (error) {
|
||||||
|
return thunkAPI.rejectWithValue(error.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
const employeeAttendancesSlice = createSlice({
|
||||||
|
name: 'employeeAttendance', // Updated slice name
|
||||||
|
initialState: {
|
||||||
|
data: [],
|
||||||
|
loading: false,
|
||||||
|
error: null,
|
||||||
|
},
|
||||||
|
reducers: {
|
||||||
|
setEmployeeAttendanceData: (state, action) => {
|
||||||
|
state.data = action.payload;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
extraReducers: (builder) => {
|
||||||
|
builder
|
||||||
|
// Fetch attendance data
|
||||||
|
.addCase(fetchEmployeeAttendanceData.pending, (state) => {
|
||||||
|
state.loading = true;
|
||||||
|
})
|
||||||
|
.addCase(fetchEmployeeAttendanceData.fulfilled, (state, action) => {
|
||||||
|
state.loading = false;
|
||||||
|
state.data = action.payload;
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
.addCase(fetchEmployeeAttendanceData.rejected, (state, action) => {
|
||||||
|
state.loading = false;
|
||||||
|
state.error = action.payload;
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export const { setEmployeeAttendanceData } = employeeAttendancesSlice.actions;
|
||||||
|
export default employeeAttendancesSlice.reducer;
|
||||||
Loading…
x
Reference in New Issue
Block a user