guild_front/src/redux/outstaffingSlice.js
Victor Batischev 5d03502e5c prettier config
2023-12-19 17:36:30 +03:00

120 lines
3.4 KiB
JavaScript

import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
const initialState = {
tags: [],
profiles: [],
filteredCandidates: null,
selectedItems: [],
currentCandidate: {},
auth: false,
positionId: null,
profileInfo: {},
reportsDates: "",
partnerEmployees: [],
partnerRequestId: null,
partnerRequests: [],
partnerRequestInfo: {},
notification: {
show: false,
text: "",
type: ""
}
};
export const outstaffingSlice = createSlice({
name: "outstaffing",
initialState,
reducers: {
tags: (state, action) => {
state.tags = action.payload;
},
profiles: (state, action) => {
state.profiles = action.payload;
},
filteredCandidates: (state, action) => {
state.filteredCandidates = action.payload;
},
selectedItems: (state, action) => {
state.selectedItems = action.payload;
},
currentCandidate: (state, action) => {
state.currentCandidate = action.payload;
},
auth: (state, action) => {
state.auth = action.payload;
},
setPositionId: (state, action) => {
state.positionId = action.payload;
},
setUserInfo: (state, action) => {
state.userInfo = action.payload;
},
setProfileInfo: (state, action) => {
state.profileInfo = action.payload;
},
setReportsDates: (state, action) => {
state.reportsDates = action.payload;
},
setPartnerEmployees: (state, action) => {
state.partnerEmployees = action.payload;
},
setPartnerRequestId: (state, action) => {
state.partnerRequestId = action.payload;
},
setPartnerRequests: (state, action) => {
state.partnerRequests = action.payload;
},
setPartnerRequestInfo: (state, action) => {
state.partnerRequestInfo = action.payload;
},
setNotification: (state, action) => {
state.notification = action.payload;
},
closeNotification: (state) => {
state.notification.show = false;
}
}
});
export const {
tags,
profiles,
selectedItems,
auth,
currentCandidate,
filteredCandidates,
setPositionId,
setUserInfo,
setProfileInfo,
setReportsDates,
setPartnerEmployees,
setPartnerRequestId,
setPartnerRequests,
setPartnerRequestInfo,
setNotification,
closeNotification
} = outstaffingSlice.actions;
export const selectProfiles = (state) => state.outstaffing.profiles;
export const selectTags = (state) => state.outstaffing.tags;
export const selectFilteredCandidates = (state) =>
state.outstaffing.filteredCandidates;
export const getNotification = (state) => state.outstaffing.notification;
export const selectItems = (state) => state.outstaffing.selectedItems;
export const selectCurrentCandidate = (state) =>
state.outstaffing.currentCandidate;
export const selectAuth = (state) => state.outstaffing.auth;
export const getPositionId = (state) => state.outstaffing.positionId;
export const getProfileInfo = (state) => state.outstaffing.profileInfo;
export const getPartnerRequestInfo = (state) =>
state.outstaffing.partnerRequestInfo;
export const selectUserInfo = (state) => state.outstaffing.userInfo;
export const getReportsDates = (state) => state.outstaffing.reportsDates;
export const getPartnerEmployees = (state) =>
state.outstaffing.partnerEmployees;
export const getPartnerRequestId = (state) =>
state.outstaffing.partnerRequestId;
export const getPartnerRequests = (state) => state.outstaffing.partnerRequests;
export default outstaffingSlice.reducer;