Browse Source

[Redux] /basis/group 네이밍 규칙 적용

master
junh_eee(이준희) 8 months ago
parent
commit
c8245ac05d
  1. 4
      src/components/map/mapbox/dron/DronMarker.js
  2. 9
      src/containers/analysis/history/AnalysisHistoryContainer.js
  3. 6
      src/containers/basis/dron/BasisDronContainer.js
  4. 18
      src/containers/basis/group/BasisGroupApprovalContainer.js
  5. 6
      src/containers/basis/group/BasisGroupContainer.js
  6. 14
      src/containers/basis/group/BasisGroupDetailContainer.js
  7. 6
      src/containers/basis/group/BasisGroupDetailJoinContainer.js
  8. 18
      src/containers/basis/group/BasisGroupUsersContainer.js
  9. 4
      src/containers/cstmrService/inquiry/UserInquiryContainer.js
  10. 3
      src/modules/_sample/actions/index.ts
  11. 10
      src/modules/basis/drone/sagas/index.ts
  12. 372
      src/modules/basis/group/actions/index.ts
  13. 61
      src/modules/basis/group/apis/index.ts
  14. 101
      src/modules/basis/group/models/index.ts
  15. 33
      src/modules/basis/group/reducers/index.ts
  16. 194
      src/modules/basis/group/sagas/index.ts
  17. 8
      src/modules/cstmrService/inquiry/actions/index.ts
  18. 2
      src/modules/cstmrService/inquiry/reducers/index.ts
  19. 22
      src/modules/cstmrService/inquiry/sagas/index.ts
  20. 4
      src/modules/main/dash/actions/mainDashAction.ts
  21. 2
      src/modules/main/dash/reducers/mainDashReducer.ts
  22. 8
      src/modules/main/dash/sagas/mainDashSaga.ts

4
src/components/map/mapbox/dron/DronMarker.js

@ -15,7 +15,7 @@ import {
objectClickAction,
objectUnClickAction
} from '../../../../modules/control/map/actions/controlMapActions';
import { JOIN_LIST } from '../../../../modules/basis/group/actions';
import { getJoinGroupList } from '../../../../modules/basis/group/actions';
export const DronMarker = props => {
const dispatch = useDispatch();
@ -51,7 +51,7 @@ export const DronMarker = props => {
// 유저가 속한 그룹 리스트 알아냄
useEffect(() => {
dispatch(
JOIN_LIST.request({
getJoinGroupList.request({
cstmrSno: user?.cstmrSno
})
);

9
src/containers/analysis/history/AnalysisHistoryContainer.js

@ -7,7 +7,10 @@ import { AnalysisHistorySearch } from '../../../components/analysis/history/Anal
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import * as Actions from '../../../modules/analysis/history';
import FlightPlanGroupGrid from '../../../components/basis/flight/plan/FlightPlanGroupGrid';
import { JOIN_LIST, GROUP_LIST } from '../../../modules/basis/group/actions';
import {
getJoinGroupList,
getGroupList
} from '../../../modules/basis/group/actions';
import {
Col,
Row,
@ -84,10 +87,10 @@ export const AnalysisHistoryContainer = props => {
useEffect(() => {
if (user?.cstmrSno) {
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
dispatch(GROUP_LIST.request({ cstmrSno: user?.cstmrSno }));
dispatch(getGroupList.request({ cstmrSno: user?.cstmrSno }));
} else {
dispatch(
JOIN_LIST.request({
getJoinGroupList.request({
cstmrSno: user?.cstmrSno
})
);

6
src/containers/basis/dron/BasisDronContainer.js

@ -162,10 +162,12 @@ export const BasisDronContainer = props => {
cstmrSno: user?.cstmrSno
});
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
dispatch(GroupActions.GROUP_LIST.request({ cstmrSno: user?.cstmrSno }));
dispatch(
GroupActions.getGroupList.request({ cstmrSno: user?.cstmrSno })
);
} else {
dispatch(
GroupActions.JOIN_LIST.request({
GroupActions.getJoinGroupList.request({
cstmrSno: user?.cstmrSno
})
);

18
src/containers/basis/group/BasisGroupApprovalContainer.js

@ -239,10 +239,10 @@ export const BasisGroupApprovalContainer = props => {
aprvYn: ''
});
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
dispatch(Actions.GROUP_LIST.request({ cstmrSno: user?.cstmrSno }));
dispatch(Actions.getGroupList.request({ cstmrSno: user?.cstmrSno }));
} else {
dispatch(
Actions.JOIN_LIST.request({
Actions.getJoinGroupList.request({
cstmrSno: user?.cstmrSno,
// groupId: selectData?.groupId
groupId: aprvSelect?.groupId
@ -263,9 +263,7 @@ export const BasisGroupApprovalContainer = props => {
(user.authId === 'USER' && aprvlYn === 'Y' && groupAuthCd === 'LEADER')
) {
// dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
dispatch(
Actions.GROUP_APRV_SELECT({ groupId: groupId, groupNm: groupNm })
);
dispatch(Actions.selectAprvGroup({ groupId: groupId, groupNm: groupNm }));
if (user?.cstmrSno) {
setParams({
@ -275,7 +273,7 @@ export const BasisGroupApprovalContainer = props => {
});
dispatch(
Actions.APPROVAL_LIST.request({
Actions.getApprovalList.request({
searchParams: {
...params,
cstmrSno: user?.cstmrSno,
@ -298,7 +296,7 @@ export const BasisGroupApprovalContainer = props => {
// 상세보기 선택취소 시
const handlerCancel = () => {
// dispatch(Actions.SELECT());
dispatch(Actions.GROUP_APRV_SELECT());
dispatch(Actions.selectAprvGroup());
setParams({
...params,
@ -318,14 +316,14 @@ export const BasisGroupApprovalContainer = props => {
const handlerSearch = () => {
const param = params;
param.page = 1;
dispatch(Actions.APPROVAL_LIST.request({ searchParams: param }));
dispatch(Actions.getApprovalList.request({ searchParams: param }));
};
// 승인관리 페이지 이동 시 새 목록 요청
const onChangePage = page => {
const param = params;
param.page = page;
dispatch(Actions.APPROVAL_LIST.request({ searchParams: param }));
dispatch(Actions.getApprovalList.request({ searchParams: param }));
};
// 사용자 승인처리
@ -347,7 +345,7 @@ export const BasisGroupApprovalContainer = props => {
// 사용자 승인처리 요청
const handlerAprvSave = () => {
dispatch(Actions.APPROVAL_UPDATE.request(saveData));
dispatch(Actions.updateApproval.request(saveData));
};
// 사용자 승인취소

6
src/containers/basis/group/BasisGroupContainer.js

@ -158,8 +158,8 @@ export const BasisGroupContainer = props => {
// 그룹목록, 참여그룹목록 요청
const handlerSearch = () => {
if (user?.cstmrSno) {
dispatch(Actions.MY_LIST.request({ cstmrSno: user?.cstmrSno }));
dispatch(Actions.JOIN_LIST.request({ cstmrSno: user?.cstmrSno }));
dispatch(Actions.getMyGroupList.request({ cstmrSno: user?.cstmrSno }));
dispatch(Actions.getJoinGroupList.request({ cstmrSno: user?.cstmrSno }));
}
};
@ -184,7 +184,7 @@ export const BasisGroupContainer = props => {
// 그룹 탈퇴 확인
const handlerWithDrawalConfirm = () => {
dispatch(Actions.GROUP_JOIN_UPDATE.request(saveParams));
dispatch(Actions.leaveGroup.request(saveParams));
};
// 그룹 가입 페이지로 이동

14
src/containers/basis/group/BasisGroupDetailContainer.js

@ -63,12 +63,12 @@ export const BasisGroupDetailContainer = () => {
// 그룹 랜덤 ID 생성 요청
const handlerCreateId = () => {
dispatch(Actions.GROUP_CREATEID.request());
dispatch(Actions.createGroupId.request());
};
// 그룹 상세정보 요청
const handlerSearch = () => {
dispatch(Actions.GROUP_DETAIL.request(id));
dispatch(Actions.getGroupDetail.request(id));
};
// 그룹 생성
@ -83,8 +83,8 @@ export const BasisGroupDetailContainer = () => {
type: groupData.type,
updateDt: ''
};
// dispatch(Actions.GROUP_CREATE.request(groupData));
dispatch(Actions.GROUP_CREATE.request(saveData));
// dispatch(Actions.createGroup.request(groupData));
dispatch(Actions.createGroup.request(saveData));
};
// 그룹 수정
@ -98,13 +98,13 @@ export const BasisGroupDetailContainer = () => {
type: groupData.type,
updateDt: groupData.updateDt
};
// dispatch(Actions.GROUP_UPDATE.request(groupData));
dispatch(Actions.GROUP_UPDATE.request(saveData));
// dispatch(Actions.updateGroup.request(groupData));
dispatch(Actions.updateGroup.request(saveData));
};
// 그룹 삭제
const handlerDelete = () => {
dispatch(Actions.GROUP_DELETE.request(groupData.groupId));
dispatch(Actions.deleteGroup.request(groupData.groupId));
};
// 삭제 버튼 클릭시 모달 표출

6
src/containers/basis/group/BasisGroupDetailJoinContainer.js

@ -132,7 +132,7 @@ export const BasisGroupDetailJoinContainer = props => {
useEffect(() => {
if (params.cstmrSno && user?.cstmrSno) {
dispatch(
Actions.GROUP_JOINLIST.request({
Actions.getAvailGroupList.request({
searchParams: { cstmrSno: user?.cstmrSno }
})
);
@ -148,7 +148,7 @@ export const BasisGroupDetailJoinContainer = props => {
// 그룹 검색 핸들러
const handlerSearch = () => {
dispatch(Actions.GROUP_JOINLIST.request({ searchParams: params }));
dispatch(Actions.getAvailGroupList.request({ searchParams: params }));
};
// 가입 버튼 클릭시 모달 표출
@ -168,7 +168,7 @@ export const BasisGroupDetailJoinContainer = props => {
// 그룹 가입
const handlerConfirm = () => {
dispatch(Actions.GROUP_JOIN.request(joinData));
dispatch(Actions.joinGroup.request(joinData));
};
// 검색조건 입력

18
src/containers/basis/group/BasisGroupUsersContainer.js

@ -310,10 +310,10 @@ export const BasisGroupUsersContainer = props => {
cstmrSno: user?.cstmrSno
});
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
dispatch(Actions.GROUP_LIST.request({ cstmrSno: user?.cstmrSno }));
dispatch(Actions.getGroupList.request({ cstmrSno: user?.cstmrSno }));
} else {
dispatch(
Actions.JOIN_LIST.request({
Actions.getJoinGroupList.request({
cstmrSno: user.cstmrSno,
// groupId: selectData?.groupId
groupId: userSelect?.groupId
@ -329,7 +329,7 @@ export const BasisGroupUsersContainer = props => {
const handlerSearch = () => {
if (params.cstmrSno && user?.cstmrSno) {
dispatch(
Actions.USER_LIST.request({
Actions.getUserList.request({
searchParams: params,
cstmrSno: user?.cstmrSno
})
@ -344,14 +344,14 @@ export const BasisGroupUsersContainer = props => {
*/
const handlerDetail = (groupId, groupNm) => {
//권한 상관없이 조회 가능
dispatch(Actions.GROUP_USER_SELECT({ groupId: groupId, groupNm, groupNm }));
dispatch(Actions.selectUserGroup({ groupId: groupId, groupNm, groupNm }));
const param = params;
param.groupId = groupId;
param.memberNm = '';
param.page = 1;
dispatch(
Actions.USER_LIST.request({
Actions.getUserList.request({
searchParams: param
})
);
@ -362,7 +362,7 @@ export const BasisGroupUsersContainer = props => {
*/
const handlerCancel = () => {
// dispatch(Actions.SELECT());
dispatch(Actions.GROUP_USER_SELECT());
dispatch(Actions.selectUserGroup());
setParams({
...params,
groupId: '',
@ -463,9 +463,9 @@ export const BasisGroupUsersContainer = props => {
*/
const handlerAuthSave = async () => {
if (saveData.length === 2) {
dispatch(Actions.USER_DELEGATE.request(saveData));
dispatch(Actions.delegateUser.request(saveData));
} else {
dispatch(Actions.USER_UPDATE.request(saveData));
dispatch(Actions.updateUserAccess.request(saveData));
}
};
@ -496,7 +496,7 @@ export const BasisGroupUsersContainer = props => {
const handlerPageChange = page => {
const param = params;
param.page = page;
dispatch(Actions.USER_LIST.request({ searchParams: param }));
dispatch(Actions.getUserList.request({ searchParams: param }));
};
return (

4
src/containers/cstmrService/inquiry/UserInquiryContainer.js

@ -52,7 +52,7 @@ export default function UserInquiryContainer({ memberName }) {
useEffect(() => {
dispatch(
Actions.USER_LIST.request({ category: '', searchType: '', word: '' })
Actions.getUserList.request({ category: '', searchType: '', word: '' })
);
}, []);
@ -268,7 +268,7 @@ export default function UserInquiryContainer({ memberName }) {
dispatch(Actions.USER_INQUIRY.request(form));
} else if (type === 'edit') {
dispatch(
Actions.USER_UPDATE.request({
Actions.updateUserAccess.request({
qnaSno,
category,
contact,

3
src/modules/_sample/actions/index.ts

@ -19,6 +19,7 @@ import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';
* [Action ]
* .
* Action . (Ex. GET_DRONE_LIST_REQUEST -> getDroneList)
* Action .. dispatch.. ? ..
* createAction을 .
*/
@ -42,7 +43,7 @@ export const getDroneList = createAsyncAction(
GET_DRONE_LIST_FAILURE
)();
export const dispatchMapType = createAction(DISPATCH_MAPTYPE)();
export const mapType = createAction(DISPATCH_MAPTYPE)();
const actions = {
getDroneList

10
src/modules/basis/drone/sagas/index.ts

@ -143,7 +143,7 @@ function* createDroneSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_CREATE.failure(error));
// yield put(Actions.createGroup.failure(error));
}
}
@ -200,7 +200,7 @@ function* createIdntfSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_CREATE.failure(error));
// yield put(Actions.createGroup.failure(error));
}
}
@ -246,7 +246,7 @@ function* updateDroneSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
@ -280,7 +280,7 @@ function* deleteDroneSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_DELETE.failure(error));
// yield put(Actions.deleteGroup.failure(error));
}
}
@ -315,7 +315,7 @@ function* deleteIdntfSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_DELETE.failure(error));
// yield put(Actions.deleteGroup.failure(error));
}
}

372
src/modules/basis/group/actions/index.ts

@ -1,7 +1,7 @@
import { AxiosError } from 'axios';
import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';
import {
GroupData,
Group,
JoinGroupData,
AprvGroupData,
UserGroupData,
@ -10,227 +10,221 @@ import {
SelectData
} from '../models';
//# 나의 그룹 목록 조회
const MY_LIST_REQUEST = 'basis/group/MY_LIST_REQUEST';
const MY_LIST_SUCCESS = 'basis/group/MY_LIST_SUCCESS';
const MY_LIST_FAILURE = 'basis/group/MY_LIST_FAILURE';
//# 참여 그룹 목록 조회
const JOIN_LIST_REQUEST = 'basis/group/JOIN_LIST_REQUEST';
const JOIN_LIST_SUCCESS = 'basis/group/JOIN_LIST_SUCCESS';
const JOIN_LIST_FAILURE = 'basis/group/JOIN_LIST_FAILURE';
//# 그룹 상세 조회
const GROUP_DETAIL_REQUEST = 'basis/group/GROUP_DETAIL_REQUEST';
const GROUP_DETAIL_SUCCESS = 'basis/group/GROUP_DETAIL_SUCCESS';
const GROUP_DETAIL_FAILURE = 'basis/group/GROUP_DETAIL_FAILURE';
//## 그룹 생성
const GROUP_CREATE_REQUEST = 'basis/group/GROUP_CREATE_REQUEST';
const GROUP_CREATE_SUCCESS = 'basis/group/GROUP_CREATE_SUCCESS';
const GROUP_CREATE_FAILURE = 'basis/group/GROUP_CREATE_FAILURE';
//## 그룹 수정
const GROUP_UPDATE_REQUEST = 'basis/group/GROUP_UPDATE_REQUEST';
const GROUP_UPDATE_SUCCESS = 'basis/group/GROUP_UPDATE_SUCCESS';
const GROUP_UPDATE_FAILURE = 'basis/group/GROUP_UPDATE_FAILURE';
//## 그룹 삭제
const GROUP_DELETE_REQUEST = 'basis/group/GROUP_DELETE_REQUEST';
const GROUP_DELETE_SUCCESS = 'basis/group/GROUP_DELETE_SUCCESS';
const GROUP_DELETE_FAILURE = 'basis/group/GROUP_DELETE_FAILURE';
//## 그룹 전체 조회
const GROUP_LIST_REQUEST = 'basis/group/GROUP_LIST_REQUEST';
const GROUP_LIST_SUCCESS = 'basis/group/GROUP_LIST_SUCCESS';
const GROUP_LIST_FAILURE = 'basis/group/GROUP_LIST_FAILURE';
//# 그룹코드 발급
const GROUP_CREATEID_REQUEST = 'basis/group/GROUP_CREATEID_REQUEST';
const GROUP_CREATEID_SUCCESS = 'basis/group/GROUP_CREATEID_SUCCESS';
const GROUP_CREATEID_FAILURE = 'basis/group/GROUP_CREATEID_FAILURE';
//# 참여가능 그룹 목록 조회
const GROUP_JOINLIST_REQUEST = 'basis/group/GROUP_JOINLIST_REQUEST';
const GROUP_JOINLIST_SUCCESS = 'basis/group/GROUP_JOINLIST_SUCCESS';
const GROUP_JOINLIST_FAILURE = 'basis/group/GROUP_JOINLIST_FAILURE';
//# 나의 그룹 목록 조회
const GROUP_MYLIST_REQUEST = 'basis/group/GROUP_MYLIST_REQUEST';
const GROUP_MYLIST_SUCCESS = 'basis/group/GROUP_MYLIST_SUCCESS';
const GROUP_MYLIST_FAILURE = 'basis/group/GROUP_MYLIST_FAILURE';
//# 그룹 가입처리
const GROUP_JOIN_REQUEST = 'basis/group/GROUP_JOIN_REQUEST';
const GROUP_JOIN_SUCCESS = 'basis/group/GROUP_JOIN_SUCCESS';
const GROUP_JOIN_FAILURE = 'basis/group/GROUP_JOIN_FAILURE';
//# 그룹 가입 탈퇴 / 취소 처리
const GROUP_JOIN_UPDATE_REQUEST = 'basis/group/GROUP_JOIN_UPDATE_REQUEST';
const GROUP_JOIN_UPDATE_SUCCESS = 'basis/group/GROUP_JOIN_UPDATE_SUCCESS';
const GROUP_JOIN_UPDATE_FAILURE = 'basis/group/GROUP_JOIN_UPDATE_FAILURE';
//# 승인요청 조회
const APPROVAL_LIST_REQUEST = 'basis/group/APPROVAL_LIST_REQUEST';
const APPROVAL_LIST_SUCCESS = 'basis/group/APPROVAL_LIST_SUCCESS';
const APPROVAL_LIST_FAILURE = 'basis/group/APPROVAL_LIST_FAILURE';
//# 승인처리 / 취소 처리
const APPROVAL_UPDATE_REQUEST = 'basis/group/APPROVAL_UPDATE_REQUEST';
const APPROVAL_UPDATE_SUCCESS = 'basis/group/APPROVAL_UPDATE_SUCCESS';
const APPROVAL_UPDATE_FAILURE = 'basis/group/APPROVAL_UPDATE_FAILURE';
//# 그룹사용자 조회
const USER_LIST_REQUEST = 'basis/group/USER_LIST_REQUEST';
const USER_LIST_SUCCESS = 'basis/group/USER_LIST_SUCCESS';
const USER_LIST_FAILURE = 'basis/group/USER_LIST_FAILURE';
//# 사용자 권한 수정 / 블럭 처리
const USER_UPDATE_REQUEST = 'basis/group/USER_UPDATE_REQUEST';
const USER_UPDATE_SUCCESS = 'basis/group/USER_UPDATE_SUCCESS';
const USER_UPDATE_FAILURE = 'basis/group/USER_UPDATE_FAILURE';
//# 그룹장 권한 위임
const USER_DELEGATE_REQUEST = 'basis/group/USER_DELEGATE_REQUEST';
const USER_DELEGATE_SUCCESS = 'basis/group/USER_DELEGATE_SUCCESS';
const USER_DELEGATE_FAILURE = 'basis/group/USER_DELEGATE_FAILURE';
// 나와 관련된 그룹 목록 조회
const GET_GROUP_LIST_REQUEST = 'basis/group/GET_GROUP_LIST_REQUEST';
const GET_GROUP_LIST_SUCCESS = 'basis/group/GET_GROUP_LIST_SUCCESS';
const GET_GROUP_LIST_FAILURE = 'basis/group/GET_GROUP_LIST_FAILURE';
// 가입 가능한 그룹 목록 조회
const GET_AVAIL_GROUP_LIST_REQUEST = 'basis/group/GET_AVAIL_GROUP_LIST_REQUEST';
const GET_AVAIL_GROUP_LIST_SUCCESS = 'basis/group/GET_AVAIL_GROUP_LIST_SUCCESS';
const GET_AVAIL_GROUP_LIST_FAILURE = 'basis/group/GET_AVAIL_GROUP_LIST_FAILURE';
// 생성한 그룹 목록 조회
const GET_MY_GROUP_LIST_REQUEST = 'basis/group/GET_MY_GROUP_LIST_REQUEST';
const GET_MY_GROUP_LIST_SUCCESS = 'basis/group/GET_MY_GROUP_LIST_SUCCESS';
const GET_MY_GROUP_LIST_FAILURE = 'basis/group/GET_MY_GROUP_LIST_FAILURE';
// 가입한 그룹 목록 조회
const GET_JOIN_GROUP_LIST_REQUEST = 'basis/group/GET_JOIN_GROUP_LIST_REQUEST';
const GET_JOIN_GROUP_LIST_SUCCESS = 'basis/group/GET_JOIN_GROUP_LIST_SUCCESS';
const GET_JOIN_GROUP_LIST_FAILURE = 'basis/group/GET_JOIN_GROUP_LIST_FAILURE';
// 그룹 상세 조회
const GET_GROUP_DETAIL_REQUEST = 'basis/group/GET_GROUP_DETAIL_REQUEST';
const GET_GROUP_DETAIL_SUCCESS = 'basis/group/GET_GROUP_DETAIL_SUCCESS';
const GET_GROUP_DETAIL_FAILURE = 'basis/group/GET_GROUP_DETAIL_FAILURE';
// 그룹 생성
const CREATE_GROUP_REQUEST = 'basis/group/CREATE_GROUP_REQUEST';
const CREATE_GROUP_SUCCESS = 'basis/group/CREATE_GROUP_SUCCESS';
const CREATE_GROUP_FAILURE = 'basis/group/CREATE_GROUP_FAILURE';
// 그룹 수정
const UPDATE_GROUP_REQUEST = 'basis/group/UPDATE_GROUP_REQUEST';
const UPDATE_GROUP_SUCCESS = 'basis/group/UPDATE_GROUP_SUCCESS';
const UPDATE_GROUP_FAILURE = 'basis/group/UPDATE_GROUP_FAILURE';
// 그룹 삭제
const DELETE_GROUP_REQUEST = 'basis/group/DELETE_GROUP_REQUEST';
const DELETE_GROUP_SUCCESS = 'basis/group/DELETE_GROUP_SUCCESS';
const DELETE_GROUP_FAILURE = 'basis/group/DELETE_GROUP_FAILURE';
// 그룹코드 발급
const CREATE_GROUPID_REQUEST = 'basis/group/CREATE_GROUPID_REQUEST';
const CREATE_GROUPID_SUCCESS = 'basis/group/CREATE_GROUPID_SUCCESS';
const CREATE_GROUPID_FAILURE = 'basis/group/CREATE_GROUPID_FAILURE';
// 그룹 가입
const JOIN_GROUP_REQUEST = 'basis/group/JOIN_GROUP_REQUEST';
const JOIN_GROUP_SUCCESS = 'basis/group/JOIN_GROUP_SUCCESS';
const JOIN_GROUP_FAILURE = 'basis/group/JOIN_GROUP_FAILURE';
// 그룹 가입 탈퇴 / 취소
const LEAVE_GROUP_REQUEST = 'basis/group/LEAVE_GROUP_REQUEST';
const LEAVE_GROUP_SUCCESS = 'basis/group/LEAVE_GROUP_SUCCESS';
const LEAVE_GROUP_FAILURE = 'basis/group/LEAVE_GROUP_FAILURE';
// 승인요청 조회
const GET_APPROVAL_LIST_REQUEST = 'basis/group/GET_APPROVAL_LIST_REQUEST';
const GET_APPROVAL_LIST_SUCCESS = 'basis/group/GET_APPROVAL_LIST_SUCCESS';
const GET_APPROVAL_LIST_FAILURE = 'basis/group/GET_APPROVAL_LIST_FAILURE';
// 승인처리 / 취소 처리
const UPDATE_APPROVAL_REQUEST = 'basis/group/UPDATE_APPROVAL_REQUEST';
const UPDATE_APPROVAL_SUCCESS = 'basis/group/UPDATE_APPROVAL_SUCCESS';
const UPDATE_APPROVAL_FAILURE = 'basis/group/UPDATE_APPROVAL_FAILURE';
// 그룹사용자 조회
const GET_USER_LIST_REQUEST = 'basis/group/GET_USER_LIST_REQUEST';
const GET_USER_LIST_SUCCESS = 'basis/group/GET_USER_LIST_SUCCESS';
const GET_USER_LIST_FAILURE = 'basis/group/GET_USER_LIST_FAILURE';
// 사용자 권한 수정 / 블럭 처리
const UPDATE_USER_ACCESS_REQUEST = 'basis/group/UPDATE_USER_ACCESS_REQUEST';
const UPDATE_USER_ACCESS_SUCCESS = 'basis/group/UPDATE_USER_ACCESS_SUCCESS';
const UPDATE_USER_ACCESS_FAILURE = 'basis/group/UPDATE_USER_ACCESS_FAILURE';
// 그룹장 권한 위임
const DELEGATE_USER_REQUEST = 'basis/group/DELEGATE_USER_REQUEST';
const DELEGATE_USER_SUCCESS = 'basis/group/DELEGATE_USER_SUCCESS';
const DELEGATE_USER_FAILURE = 'basis/group/DELEGATE_USER_FAILURE';
// 그룹 선택
const APRV_GROUP_SELECT = 'basis/group/APRV_GROUP_SELECT';
const USER_GROUP_SELECT = 'basis/group/USER_GROUP_SELECT';
export const MY_LIST = createAsyncAction(
MY_LIST_REQUEST,
MY_LIST_SUCCESS,
MY_LIST_FAILURE
)<string, { data: GroupData[]; count: number }, AxiosError>();
export const JOIN_LIST = createAsyncAction(
JOIN_LIST_REQUEST,
JOIN_LIST_SUCCESS,
JOIN_LIST_FAILURE
)<string, { data: JoinGroupData[]; count: number }, AxiosError>();
const DISPATCH_SELECT_APRV_GROUP = 'basis/group/DISPATCH_SELECT_APRV_GROUP';
const DISPATCH_SELECT_USER_GROUP = 'basis/group/DISPATCH_SELECT_USER_GROUP';
export const getGroupList = createAsyncAction(
GET_GROUP_LIST_REQUEST,
GET_GROUP_LIST_SUCCESS,
GET_GROUP_LIST_FAILURE
// )<GroupState, { data: Group[]; count: number }, AxiosError>();
)<string, { data: Group[]; count: number }, AxiosError>();
export const getAvailGroupList = createAsyncAction(
GET_AVAIL_GROUP_LIST_REQUEST,
GET_AVAIL_GROUP_LIST_SUCCESS,
GET_AVAIL_GROUP_LIST_FAILURE
)<GroupState, { data: JoinGroupData[]; count: number }, AxiosError>();
export const getMyGroupList = createAsyncAction(
GET_MY_GROUP_LIST_REQUEST,
GET_MY_GROUP_LIST_SUCCESS,
GET_MY_GROUP_LIST_FAILURE
)<string, { data: Group[]; count: number }, AxiosError>();
export const GROUP_MYLIST = createAsyncAction(
GROUP_MYLIST_REQUEST,
GROUP_MYLIST_SUCCESS,
GROUP_MYLIST_FAILURE
export const getJoinGroupList = createAsyncAction(
GET_JOIN_GROUP_LIST_REQUEST,
GET_JOIN_GROUP_LIST_SUCCESS,
GET_JOIN_GROUP_LIST_FAILURE
)<string, { data: JoinGroupData[]; count: number }, AxiosError>();
export const GROUP_DETAIL = createAsyncAction(
GROUP_DETAIL_REQUEST,
GROUP_DETAIL_SUCCESS,
GROUP_DETAIL_FAILURE
)<string, GroupData, AxiosError>();
export const GROUP_CREATE = createAsyncAction(
GROUP_CREATE_REQUEST,
GROUP_CREATE_SUCCESS,
GROUP_CREATE_FAILURE
)<GroupData, string, AxiosError>();
export const GROUP_UPDATE = createAsyncAction(
GROUP_UPDATE_REQUEST,
GROUP_UPDATE_SUCCESS,
GROUP_UPDATE_FAILURE
)<GroupData, String, AxiosError>();
export const GROUP_DELETE = createAsyncAction(
GROUP_DELETE_REQUEST,
GROUP_DELETE_SUCCESS,
GROUP_DELETE_FAILURE
export const getGroupDetail = createAsyncAction(
GET_GROUP_DETAIL_REQUEST,
GET_GROUP_DETAIL_SUCCESS,
GET_GROUP_DETAIL_FAILURE
)<string, Group, AxiosError>();
export const createGroup = createAsyncAction(
CREATE_GROUP_REQUEST,
CREATE_GROUP_SUCCESS,
CREATE_GROUP_FAILURE
)<Group, string, AxiosError>();
export const updateGroup = createAsyncAction(
UPDATE_GROUP_REQUEST,
UPDATE_GROUP_SUCCESS,
UPDATE_GROUP_FAILURE
)<Group, String, AxiosError>();
export const deleteGroup = createAsyncAction(
DELETE_GROUP_REQUEST,
DELETE_GROUP_SUCCESS,
DELETE_GROUP_FAILURE
)<string, string, AxiosError>();
export const GROUP_LIST = createAsyncAction(
GROUP_LIST_REQUEST,
GROUP_LIST_SUCCESS,
GROUP_LIST_FAILURE
// )<GroupState, { data: GroupData[]; count: number }, AxiosError>();
)<string, { data: GroupData[]; count: number }, AxiosError>();
export const GROUP_CREATEID = createAsyncAction(
GROUP_CREATEID_REQUEST,
GROUP_CREATEID_SUCCESS,
GROUP_CREATEID_FAILURE
export const createGroupId = createAsyncAction(
CREATE_GROUPID_REQUEST,
CREATE_GROUPID_SUCCESS,
CREATE_GROUPID_FAILURE
)<void, string, AxiosError>();
export const GROUP_JOINLIST = createAsyncAction(
GROUP_JOINLIST_REQUEST,
GROUP_JOINLIST_SUCCESS,
GROUP_JOINLIST_FAILURE
)<GroupState, { data: JoinGroupData[]; count: number }, AxiosError>();
export const GROUP_JOIN = createAsyncAction(
GROUP_JOIN_REQUEST,
GROUP_JOIN_SUCCESS,
GROUP_JOIN_FAILURE
export const joinGroup = createAsyncAction(
JOIN_GROUP_REQUEST,
JOIN_GROUP_SUCCESS,
JOIN_GROUP_FAILURE
)<JoinGroupData, string, AxiosError>();
export const GROUP_JOIN_UPDATE = createAsyncAction(
GROUP_JOIN_UPDATE_REQUEST,
GROUP_JOIN_UPDATE_SUCCESS,
GROUP_JOIN_UPDATE_FAILURE
export const leaveGroup = createAsyncAction(
LEAVE_GROUP_REQUEST,
LEAVE_GROUP_SUCCESS,
LEAVE_GROUP_FAILURE
)<JoinGroupData, string, AxiosError>();
export const APPROVAL_LIST = createAsyncAction(
APPROVAL_LIST_REQUEST,
APPROVAL_LIST_SUCCESS,
APPROVAL_LIST_FAILURE
export const getApprovalList = createAsyncAction(
GET_APPROVAL_LIST_REQUEST,
GET_APPROVAL_LIST_SUCCESS,
GET_APPROVAL_LIST_FAILURE
)<
GroupState,
{ data: AprvGroupData[]; count: number; total: number },
AxiosError
>();
export const APPROVAL_UPDATE = createAsyncAction(
APPROVAL_UPDATE_REQUEST,
APPROVAL_UPDATE_SUCCESS,
APPROVAL_UPDATE_FAILURE
export const updateApproval = createAsyncAction(
UPDATE_APPROVAL_REQUEST,
UPDATE_APPROVAL_SUCCESS,
UPDATE_APPROVAL_FAILURE
)<AprvGroupData, string, AxiosError>();
export const USER_LIST = createAsyncAction(
USER_LIST_REQUEST,
USER_LIST_SUCCESS,
USER_LIST_FAILURE
export const getUserList = createAsyncAction(
GET_USER_LIST_REQUEST,
GET_USER_LIST_SUCCESS,
GET_USER_LIST_FAILURE
)<
GroupState,
{ data: UserGroupData[]; count: number; total: number },
AxiosError
>();
export const USER_UPDATE = createAsyncAction(
USER_UPDATE_REQUEST,
USER_UPDATE_SUCCESS,
USER_UPDATE_FAILURE
export const updateUserAccess = createAsyncAction(
UPDATE_USER_ACCESS_REQUEST,
UPDATE_USER_ACCESS_SUCCESS,
UPDATE_USER_ACCESS_FAILURE
)<UserGroupData, string, AxiosError>();
export const USER_DELEGATE = createAsyncAction(
USER_DELEGATE_REQUEST,
USER_DELEGATE_SUCCESS,
USER_DELEGATE_FAILURE
export const delegateUser = createAsyncAction(
DELEGATE_USER_REQUEST,
DELEGATE_USER_SUCCESS,
DELEGATE_USER_FAILURE
)<UserGroupState, string, AxiosError>();
export const GROUP_APRV_SELECT = createAction(APRV_GROUP_SELECT)<SelectData>();
export const GROUP_USER_SELECT = createAction(USER_GROUP_SELECT)<SelectData>();
export const selectAprvGroup = createAction(
DISPATCH_SELECT_APRV_GROUP
)<SelectData>();
export const selectUserGroup = createAction(
DISPATCH_SELECT_USER_GROUP
)<SelectData>();
const actions = {
MY_LIST,
JOIN_LIST,
GROUP_DETAIL,
GROUP_CREATE,
GROUP_UPDATE,
GROUP_DELETE,
GROUP_LIST,
GROUP_CREATEID,
GROUP_JOINLIST,
GROUP_JOIN,
GROUP_JOIN_UPDATE,
APPROVAL_LIST,
APPROVAL_UPDATE,
USER_LIST,
USER_UPDATE,
USER_DELEGATE,
GROUP_MYLIST,
GROUP_APRV_SELECT,
GROUP_USER_SELECT
getMyGroupList,
getJoinGroupList,
getGroupDetail,
createGroup,
updateGroup,
deleteGroup,
getGroupList,
createGroupId,
getAvailGroupList,
joinGroup,
leaveGroup,
getApprovalList,
updateApproval,
getUserList,
updateUserAccess,
delegateUser,
selectAprvGroup,
selectUserGroup
};
export type GroupAction = ActionType<typeof actions>;

61
src/modules/basis/group/apis/index.ts

@ -3,48 +3,56 @@ import axios from '../../../utils/customAxiosUtil';
import qs from 'qs';
import {
AprvGroupData,
GroupData,
Group,
JoinGroupData,
UserGroupData,
UserGroupState
} from '../models';
export const groupAPI = {
// 내가 생성한 그룹 조회
listMyGroup: async (data: string) => {
// 나와 관련된 그룹 조회(생성 + 참여)
// super, admin은 모든 그룹 조회
getGroupList: async (data: string) => {
const id = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
});
return await axios.get(`api/bas/group/grouplist${id}`);
},
// 가입 가능한 그룹 목록 조회
getAvailGroupList: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
});
return await axios.get(`api/bas/group/mylist${queryString}`);
return await axios.get(`api/bas/group/join/list${queryString}`);
},
// 내가 참여한 그룹 조회
listMyGroupJoin: async (data: string) => {
// 생성한 그룹 목록 조회
getMyGroupList: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
});
return await axios.get(`api/bas/group/joinlist${queryString}`);
return await axios.get(`api/bas/group/mylist${queryString}`);
},
// 나와 관련된 모든 그룹 조회(생성 + 참여)
// super, admin은 모든 그룹 조회
grouplist: async (data: string) => {
const id = qs.stringify(data, {
// 가입한 그룹 목록 조회
getJoinGroupList: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
});
return await axios.get(`api/bas/group/grouplist${id}`);
return await axios.get(`api/bas/group/joinlist${queryString}`);
},
// 그룹 상세 조회
detailGroup: async (id: string) => {
getGroupDetail: async (id: string) => {
return await axios.get(`api/bas/group/detail/${id}`);
},
// 그룹 생성
createGroup: async (data: GroupData) => {
createGroup: async (data: Group) => {
return await axios.post('api/bas/group/create', data);
},
// 그룹 수정
updateGroup: async (data: GroupData) => {
updateGroup: async (data: Group) => {
return await axios.put('api/bas/group/update', data);
},
// 그룹 삭제
@ -52,27 +60,20 @@ export const groupAPI = {
return await axios.delete(`api/bas/group/delete/${id}`);
},
// 그룹 코드 생성
createid: async () => {
createGroupId: async () => {
return await axios.get('api/bas/group/createid');
},
// 내가 가입할 그룹 목록 조회
listGroupJoin: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
});
return await axios.get(`api/bas/group/join/list${queryString}`);
},
// 그룹 가입 요청
createJoinGroup: async (data: JoinGroupData) => {
joinGroup: async (data: JoinGroupData) => {
return await axios.post('api/bas/group/join/create', data);
},
// 가입한 그룹 상태값 변경
updateJoinGroup: async (data: JoinGroupData) => {
leaveGroup: async (data: JoinGroupData) => {
return await axios.put('api/bas/group/join/update', data);
},
// 승인관리 목록
listGroupAprv: async (data: string, page: number) => {
getApprovalList: async (data: string, page: number) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
@ -80,11 +81,11 @@ export const groupAPI = {
return await axios.get(`api/bas/group/aprv/list${queryString}`);
},
// 승인처리
updateAprvGroup: async (data: AprvGroupData) => {
updateApproval: async (data: AprvGroupData) => {
return await axios.put('api/bas/group/aprv/update', data);
},
// 사용자관리 목록
listGroupUser: async (data: string) => {
getUserList: async (data: string) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
@ -92,7 +93,7 @@ export const groupAPI = {
return await axios.get(`api/bas/group/user/list${queryString}`);
},
// 사용자 권한 수정
updateUser: async (data: UserGroupData) => {
updateUserAccess: async (data: UserGroupData) => {
return await axios.put('api/bas/group/user/update', data);
},
// master 권한 위임

101
src/modules/basis/group/models/index.ts

@ -1,10 +1,40 @@
import { ErrorModel } from '../../../models/ComnModel';
export const initialState: GroupState = {
groupList: undefined,
groupListCount: 0,
myList: undefined,
myListCount: 0,
joinList: undefined,
joinListCount: 0,
aprvList: undefined,
aprvCount: 0,
aprvSelect: undefined,
userList: undefined,
userCount: 0,
userSelect: undefined,
groupId: '',
newGroupId: '',
groupDetail: undefined,
searchParams: '',
count: 0,
total: 0,
page: 1,
error: undefined
};
export interface GroupState {
groupList: GroupData[] | undefined;
groupList: Group[] | undefined;
groupListCount: number | 0;
myList: GroupData[] | undefined;
myList: Group[] | undefined;
myListCount: number | 0;
joinList: JoinGroupData[] | undefined;
@ -21,7 +51,7 @@ export interface GroupState {
groupId: string | '';
newGroupId: String | '';
groupDetail: GroupData | undefined;
groupDetail: Group | undefined;
searchParams: string | '';
count: number | 0;
@ -35,7 +65,7 @@ export interface GroupSearchData {
groupNm: string;
}
export interface GroupData {
export interface Group {
groupId: string;
groupNm: string;
groupTypeCd: string;
@ -61,68 +91,15 @@ export interface JoinGroupData {
groupAuthCd: string;
}
export interface AprvGroupData {
cstmrGroupSno: number;
groupId: string;
groupNm: string;
groupTypeCd: string;
cstmrSno: number;
aprvlYn: string;
joinYn: string;
export interface AprvGroupData extends JoinGroupData {
memberName: string;
userId: string;
aprvlDt: Date;
joinDt: Date;
groupAuthCd: string;
aprvlUserId: String;
}
export interface UserGroupState {
userGroupData: UserGroupData[] | undefined;
}
export interface UserGroupData {
cstmrGroupSno: number;
groupId: string;
groupNm: string;
groupTypeCd: string;
cstmrSno: number;
aprvlYn: string;
joinYn: string;
export interface UserGroupData extends JoinGroupData {
memberName: string;
userId: string;
aprvlDt: Date;
joinDt: Date;
groupAuthCd: string;
aprvlUserId: String;
}
export const initGroup = {
groupList: undefined,
groupListCount: 0,
myList: undefined,
myListCount: 0,
joinList: undefined,
joinListCount: 0,
aprvList: undefined,
aprvCount: 0,
aprvSelect: undefined,
userList: undefined,
userCount: 0,
userSelect: undefined,
groupId: '',
newGroupId: '',
groupDetail: undefined,
searchParams: '',
count: 0,
total: 0,
page: 1,
error: undefined
};
export interface UserGroupState {
userGroupData: UserGroupData[] | undefined;
}

33
src/modules/basis/group/reducers/index.ts

@ -2,19 +2,19 @@ import { createReducer } from 'typesafe-actions';
import produce from 'immer';
import * as Actions from '../actions';
import { GroupState, initGroup } from '../models';
import { GroupState, initialState } from '../models';
export const groupReducer = createReducer<GroupState, Actions.GroupAction>(
initGroup
initialState
)
.handleAction(Actions.MY_LIST.success, (state, action) =>
.handleAction(Actions.getMyGroupList.success, (state, action) =>
produce(state, draft => {
const { data, count } = action.payload;
draft.myList = data;
draft.myListCount = count;
})
)
.handleAction(Actions.JOIN_LIST.success, (state, action) =>
.handleAction(Actions.getJoinGroupList.success, (state, action) =>
produce(state, draft => {
const { data } = action.payload;
@ -27,43 +27,34 @@ export const groupReducer = createReducer<GroupState, Actions.GroupAction>(
draft.joinListCount = agreeList.length;
})
)
.handleAction(Actions.GROUP_MYLIST.success, (state, action) =>
produce(state, draft => {
const { data, count } = action.payload;
draft.joinList = data;
draft.joinListCount = count;
})
)
.handleAction(Actions.GROUP_CREATEID.success, (state, action) =>
.handleAction(Actions.createGroupId.success, (state, action) =>
produce(state, draft => {
const result = action.payload;
draft.newGroupId = result;
})
)
.handleAction(Actions.GROUP_DETAIL.success, (state, action) =>
.handleAction(Actions.getGroupDetail.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
draft.groupDetail = data;
})
)
.handleAction(Actions.GROUP_LIST.success, (state, action) =>
.handleAction(Actions.getGroupList.success, (state, action) =>
produce(state, draft => {
const { data, count } = action.payload;
draft.groupList = data;
draft.groupListCount = count;
})
)
.handleAction(Actions.GROUP_JOINLIST.success, (state, action) =>
.handleAction(Actions.getAvailGroupList.success, (state, action) =>
produce(state, draft => {
const { data, count } = action.payload;
draft.joinList = data;
draft.joinListCount = count;
})
)
.handleAction(Actions.APPROVAL_LIST.success, (state, action) =>
.handleAction(Actions.getApprovalList.success, (state, action) =>
produce(state, draft => {
const { data, count, total } = action.payload;
@ -72,7 +63,7 @@ export const groupReducer = createReducer<GroupState, Actions.GroupAction>(
draft.total = total;
})
)
.handleAction(Actions.USER_LIST.success, (state, action) =>
.handleAction(Actions.getUserList.success, (state, action) =>
produce(state, draft => {
const { data, count, total } = action.payload;
draft.userList = data;
@ -80,13 +71,13 @@ export const groupReducer = createReducer<GroupState, Actions.GroupAction>(
draft.total = total;
})
)
.handleAction(Actions.GROUP_APRV_SELECT, (state, action) =>
.handleAction(Actions.selectAprvGroup, (state, action) =>
produce(state, draft => {
const selectData = action.payload;
draft.aprvSelect = selectData;
})
)
.handleAction(Actions.GROUP_USER_SELECT, (state, action) =>
.handleAction(Actions.selectUserGroup, (state, action) =>
produce(state, draft => {
const selectData = action.payload;
draft.userSelect = selectData;

194
src/modules/basis/group/sagas/index.ts

@ -1,8 +1,8 @@
import { call, put, takeEvery } from '@redux-saga/core/effects';
import { ActionType } from 'typesafe-actions';
import * as Actions from '../actions';
import * as MessageActions from '../../../comn/message/actions/comnMessageAction';
import * as Actions from '../actions';
import * as Apis from '../apis';
import {
DELETE_MESSAGE,
@ -10,10 +10,12 @@ import {
SAVE_MESSAGE
} from '../../../../configs/constants';
function* listMyGroupSaga(action: ActionType<typeof Actions.MY_LIST.request>) {
function* getMyGroupListSaga(
action: ActionType<typeof Actions.getMyGroupList.request>
) {
try {
const params = action.payload;
const res = yield call(Apis.groupAPI.listMyGroup, params);
const res = yield call(Apis.groupAPI.getMyGroupList, params);
const { data, count, errorCode, errorMessage } = res;
if (errorCode) {
// 오류메시지 호출
@ -29,21 +31,23 @@ function* listMyGroupSaga(action: ActionType<typeof Actions.MY_LIST.request>) {
return;
}
yield put(
Actions.MY_LIST.success({
Actions.getMyGroupList.success({
data: data,
count: count
})
);
} catch (error: any) {
yield put(Actions.MY_LIST.failure(error));
yield put(Actions.getMyGroupList.failure(error));
}
}
function* listMyJoinSaga(action: ActionType<typeof Actions.JOIN_LIST.request>) {
function* getJoinGroupListSaga(
action: ActionType<typeof Actions.getJoinGroupList.request>
) {
try {
const params = action.payload;
const res = yield call(Apis.groupAPI.listMyGroupJoin, params);
const res = yield call(Apis.groupAPI.getJoinGroupList, params);
const { data, count, errorCode, errorMessage } = res;
if (errorCode) {
@ -61,77 +65,46 @@ function* listMyJoinSaga(action: ActionType<typeof Actions.JOIN_LIST.request>) {
}
yield put(
Actions.JOIN_LIST.success({
Actions.getJoinGroupList.success({
data: data,
count: count
})
);
} catch (error: any) {
yield put(Actions.JOIN_LIST.failure(error));
}
yield put(Actions.getJoinGroupList.failure(error));
}
function* myJoinSaga(action: ActionType<typeof Actions.GROUP_MYLIST.request>) {
try {
const params = action.payload;
const res = yield call(Apis.groupAPI.listMyGroupJoin, params);
const { data, count, errorCode, errorMessage } = res;
if (errorCode) {
// 오류메시지 호출
yield put(
MessageActions.IS_ERROR({
errorCode: errorCode,
errorMessage: '처리중 오류가 발생하였습니다',
isHistoryBack: false,
isRefresh: false
})
);
return;
}
yield put(
Actions.GROUP_MYLIST.success({
data: data,
count: count
})
);
} catch (error: any) {
yield put(Actions.GROUP_MYLIST.failure(error));
}
}
function* createIdSaga(
action: ActionType<typeof Actions.GROUP_CREATEID.request>
function* createGroupIdSaga(
action: ActionType<typeof Actions.createGroupId.request>
) {
try {
const params = action.payload;
const { data } = yield call(Apis.groupAPI.createid);
const { data } = yield call(Apis.groupAPI.createGroupId);
yield put(Actions.GROUP_CREATEID.success(data.result));
yield put(Actions.createGroupId.success(data.result));
} catch (error: any) {
yield put(Actions.GROUP_CREATEID.failure(error));
yield put(Actions.createGroupId.failure(error));
}
}
function* detailGroupSaga(
action: ActionType<typeof Actions.GROUP_DETAIL.request>
function* getGroupDetailSaga(
action: ActionType<typeof Actions.getGroupDetail.request>
) {
try {
const id = action.payload;
const res = yield call(Apis.groupAPI.detailGroup, id);
const res = yield call(Apis.groupAPI.getGroupDetail, id);
const { data } = res;
yield put(Actions.GROUP_DETAIL.success(data));
yield put(Actions.getGroupDetail.success(data));
} catch (error: any) {
yield put(Actions.GROUP_DETAIL.failure(error));
yield put(Actions.getGroupDetail.failure(error));
}
}
function* createGroupSaga(
action: ActionType<typeof Actions.GROUP_CREATE.request>
action: ActionType<typeof Actions.createGroup.request>
) {
try {
const groupDetail = action.payload;
@ -171,12 +144,12 @@ function* createGroupSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_CREATE.failure(error));
// yield put(Actions.createGroup.failure(error));
}
}
function* updateGroupSaga(
action: ActionType<typeof Actions.GROUP_UPDATE.request>
action: ActionType<typeof Actions.updateGroup.request>
) {
try {
const groupDetail = action.payload;
@ -217,12 +190,12 @@ function* updateGroupSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
function* deleteGroupSaga(
action: ActionType<typeof Actions.GROUP_DELETE.request>
action: ActionType<typeof Actions.deleteGroup.request>
) {
try {
const groupId = action.payload;
@ -251,52 +224,52 @@ function* deleteGroupSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_DELETE.failure(error));
// yield put(Actions.deleteGroup.failure(error));
}
}
function* listGroupSaga(action: ActionType<typeof Actions.GROUP_LIST.request>) {
function* getGroupListSaga(
action: ActionType<typeof Actions.getGroupList.request>
) {
try {
const id = action.payload;
const res = yield call(Apis.groupAPI.grouplist, id);
const res = yield call(Apis.groupAPI.getGroupList, id);
const { data, count } = res;
yield put(
Actions.GROUP_LIST.success({
Actions.getGroupList.success({
data: data,
count: count
})
);
} catch (error: any) {
yield put(Actions.GROUP_LIST.failure(error));
yield put(Actions.getGroupList.failure(error));
}
}
function* groupJoinListSaga(
action: ActionType<typeof Actions.GROUP_JOINLIST.request>
function* getAvailGroupListSaga(
action: ActionType<typeof Actions.getAvailGroupList.request>
) {
try {
const { searchParams } = action.payload;
const res = yield call(Apis.groupAPI.listGroupJoin, searchParams);
const res = yield call(Apis.groupAPI.getAvailGroupList, searchParams);
const { data, count } = res;
yield put(
Actions.GROUP_JOINLIST.success({
Actions.getAvailGroupList.success({
data: data,
count: count
})
);
} catch (error: any) {
yield put(Actions.GROUP_JOINLIST.failure(error));
yield put(Actions.getAvailGroupList.failure(error));
}
}
function* createJoinGroupSaga(
action: ActionType<typeof Actions.GROUP_JOIN.request>
) {
function* joinGroupSaga(action: ActionType<typeof Actions.joinGroup.request>) {
try {
const groupDetail = action.payload;
const res = yield call(Apis.groupAPI.createJoinGroup, groupDetail);
const res = yield call(Apis.groupAPI.joinGroup, groupDetail);
const { data } = res;
@ -321,16 +294,16 @@ function* createJoinGroupSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
function* updateJoinGroupSaga(
action: ActionType<typeof Actions.GROUP_JOIN_UPDATE.request>
function* leaveGroupSaga(
action: ActionType<typeof Actions.leaveGroup.request>
) {
try {
const groupDetail = action.payload;
const res = yield call(Apis.groupAPI.updateJoinGroup, groupDetail);
const res = yield call(Apis.groupAPI.leaveGroup, groupDetail);
const { data } = res;
@ -355,39 +328,39 @@ function* updateJoinGroupSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
function* aprvListSaga(
action: ActionType<typeof Actions.APPROVAL_LIST.request>
function* getApprovalListSaga(
action: ActionType<typeof Actions.getApprovalList.request>
) {
try {
const { searchParams, page } = action.payload;
const res = yield call(Apis.groupAPI.listGroupAprv, searchParams, page);
const res = yield call(Apis.groupAPI.getApprovalList, searchParams, page);
const {
data: { items, total },
count
} = res;
yield put(
Actions.APPROVAL_LIST.success({
Actions.getApprovalList.success({
data: items,
count,
total
})
);
} catch (error: any) {
yield put(Actions.APPROVAL_LIST.failure(error));
yield put(Actions.getApprovalList.failure(error));
}
}
function* updateAprvSaga(
action: ActionType<typeof Actions.APPROVAL_UPDATE.request>
function* updateApprovalSaga(
action: ActionType<typeof Actions.updateApproval.request>
) {
try {
const saveData = action.payload;
const res = yield call(Apis.groupAPI.updateAprvGroup, saveData);
const res = yield call(Apis.groupAPI.updateApproval, saveData);
const { data } = res;
@ -412,22 +385,24 @@ function* updateAprvSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
//사용자 관리 - 사용자 목록
function* userListSaga(action: ActionType<typeof Actions.USER_LIST.request>) {
function* getUserListSaga(
action: ActionType<typeof Actions.getUserList.request>
) {
try {
const { searchParams } = action.payload;
const res = yield call(Apis.groupAPI.listGroupUser, searchParams);
const res = yield call(Apis.groupAPI.getUserList, searchParams);
// const { data } = res;
const {
data: { items, total },
count
} = res;
yield put(
Actions.USER_LIST.success({
Actions.getUserList.success({
// data: data.items,
// count: data.total
data: items,
@ -436,16 +411,16 @@ function* userListSaga(action: ActionType<typeof Actions.USER_LIST.request>) {
})
);
} catch (error: any) {
yield put(Actions.USER_LIST.failure(error));
yield put(Actions.getUserList.failure(error));
}
}
function* updateUserSaga(
action: ActionType<typeof Actions.USER_UPDATE.request>
function* updateUserAccessSaga(
action: ActionType<typeof Actions.updateUserAccess.request>
) {
try {
const saveData = action.payload;
const res = yield call(Apis.groupAPI.updateUser, saveData);
const res = yield call(Apis.groupAPI.updateUserAccess, saveData);
const { data } = res;
@ -470,12 +445,12 @@ function* updateUserSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
function* delegateUserSaga(
action: ActionType<typeof Actions.USER_DELEGATE.request>
action: ActionType<typeof Actions.delegateUser.request>
) {
try {
const saveData = action.payload;
@ -504,26 +479,25 @@ function* delegateUserSaga(
isRefresh: false
})
);
// yield put(Actions.GROUP_UPDATE.failure(error));
// yield put(Actions.updateGroup.failure(error));
}
}
export function* basGroupSaga() {
yield takeEvery(Actions.MY_LIST.request, listMyGroupSaga);
yield takeEvery(Actions.JOIN_LIST.request, listMyJoinSaga);
yield takeEvery(Actions.GROUP_MYLIST.request, myJoinSaga);
yield takeEvery(Actions.GROUP_DETAIL.request, detailGroupSaga);
yield takeEvery(Actions.GROUP_CREATE.request, createGroupSaga);
yield takeEvery(Actions.GROUP_UPDATE.request, updateGroupSaga);
yield takeEvery(Actions.GROUP_DELETE.request, deleteGroupSaga);
yield takeEvery(Actions.GROUP_CREATEID.request, createIdSaga);
yield takeEvery(Actions.GROUP_LIST.request, listGroupSaga);
yield takeEvery(Actions.GROUP_JOINLIST.request, groupJoinListSaga);
yield takeEvery(Actions.APPROVAL_LIST.request, aprvListSaga);
yield takeEvery(Actions.USER_LIST.request, userListSaga);
yield takeEvery(Actions.GROUP_JOIN.request, createJoinGroupSaga);
yield takeEvery(Actions.GROUP_JOIN_UPDATE.request, updateJoinGroupSaga);
yield takeEvery(Actions.APPROVAL_UPDATE.request, updateAprvSaga);
yield takeEvery(Actions.USER_UPDATE.request, updateUserSaga);
yield takeEvery(Actions.USER_DELEGATE.request, delegateUserSaga);
yield takeEvery(Actions.getMyGroupList.request, getMyGroupListSaga);
yield takeEvery(Actions.getJoinGroupList.request, getJoinGroupListSaga);
yield takeEvery(Actions.getGroupDetail.request, getGroupDetailSaga);
yield takeEvery(Actions.createGroup.request, createGroupSaga);
yield takeEvery(Actions.updateGroup.request, updateGroupSaga);
yield takeEvery(Actions.deleteGroup.request, deleteGroupSaga);
yield takeEvery(Actions.createGroupId.request, createGroupIdSaga);
yield takeEvery(Actions.getGroupList.request, getGroupListSaga);
yield takeEvery(Actions.getAvailGroupList.request, getAvailGroupListSaga);
yield takeEvery(Actions.getApprovalList.request, getApprovalListSaga);
yield takeEvery(Actions.getUserList.request, getUserListSaga);
yield takeEvery(Actions.joinGroup.request, joinGroupSaga);
yield takeEvery(Actions.leaveGroup.request, leaveGroupSaga);
yield takeEvery(Actions.updateApproval.request, updateApprovalSaga);
yield takeEvery(Actions.updateUserAccess.request, updateUserAccessSaga);
yield takeEvery(Actions.delegateUser.request, delegateUserSaga);
}

8
src/modules/cstmrService/inquiry/actions/index.ts

@ -111,7 +111,7 @@ export const ADMIN_DELETE = createAsyncAction(
AxiosError
>();
export const USER_LIST = createAsyncAction(
export const getUserList = createAsyncAction(
USER_LIST_REQUEST,
USER_LIST_SUCCESS,
USER_LIST_FAILURE
@ -131,7 +131,7 @@ export const USER_DETAIL = createAsyncAction(
export const USER_DETAIL_INITAL = createAction(USER_DETAIL_INITAL_ACTION)();
export const USER_UPDATE = createAsyncAction(
export const updateUserAccess = createAsyncAction(
USER_UPDATE_REQUEST,
USER_UPDATE_SUCCESS,
USER_UPDATE_FAILURE
@ -156,11 +156,11 @@ const actions = {
ADMIN_ANSWER,
ADMIN_FILE_DOWN,
ADMIN_DELETE,
USER_LIST,
getUserList,
USER_INQUIRY,
USER_DETAIL,
USER_DETAIL_INITAL,
USER_UPDATE,
updateUserAccess,
USER_DELETE
};

2
src/modules/cstmrService/inquiry/reducers/index.ts

@ -27,7 +27,7 @@ export const qnaReducer = createReducer<IQnaState, Actions.QnaAction>(
})
)
// 사용자 목록
.handleAction(Actions.USER_LIST.success, (state, action) =>
.handleAction(Actions.getUserList.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
draft.userList = data || [];

22
src/modules/cstmrService/inquiry/sagas/index.ts

@ -157,7 +157,9 @@ function* adminDeleteSaga(
}
}
function* userListSaga(action: ActionType<typeof Actions.USER_LIST.request>) {
function* getUserListSaga(
action: ActionType<typeof Actions.getUserList.request>
) {
try {
const payload = action.payload;
const res = yield call(Apis.qnaAPI.userList, payload);
@ -176,9 +178,9 @@ function* userListSaga(action: ActionType<typeof Actions.USER_LIST.request>) {
return;
}
yield put(Actions.USER_LIST.success(data));
yield put(Actions.getUserList.success(data));
} catch (error) {
yield put(Actions.USER_LIST.failure(error));
yield put(Actions.getUserList.failure(error));
}
}
@ -213,7 +215,7 @@ function* userInquirySaga(
);
}
yield put(
Actions.USER_LIST.request({ category: '', searchType: '', word: '' })
Actions.getUserList.request({ category: '', searchType: '', word: '' })
);
// yield put(Actions.USER_INQUIRY.success(data));
} catch (error) {
@ -249,7 +251,7 @@ function* userDetailSaga(
}
function* userUpdateSaga(
action: ActionType<typeof Actions.USER_UPDATE.request>
action: ActionType<typeof Actions.updateUserAccess.request>
) {
try {
const payload = action.payload;
@ -279,11 +281,11 @@ function* userUpdateSaga(
);
}
yield put(
Actions.USER_LIST.request({ category: '', searchType: '', word: '' })
Actions.getUserList.request({ category: '', searchType: '', word: '' })
);
// yield put(Actions.USER_INQUIRY_UPDATE.success(data));
} catch (error) {
yield put(Actions.USER_UPDATE.failure(error));
yield put(Actions.updateUserAccess.failure(error));
}
}
@ -321,7 +323,7 @@ function* userDeleteSaga(
}
yield put(
Actions.USER_LIST.request({ category: '', searchType: '', word: '' })
Actions.getUserList.request({ category: '', searchType: '', word: '' })
);
} catch (error) {
yield put(Actions.USER_DELETE.failure(error));
@ -334,9 +336,9 @@ export function* qnaSaga() {
yield takeEvery(Actions.ADMIN_ANSWER.request, adminAnswerSaga);
yield takeEvery(Actions.ADMIN_FILE_DOWN.request, adminFileDownSaga);
yield takeEvery(Actions.ADMIN_DELETE.request, adminDeleteSaga);
yield takeEvery(Actions.USER_LIST.request, userListSaga);
yield takeEvery(Actions.getUserList.request, getUserListSaga);
yield takeEvery(Actions.USER_INQUIRY.request, userInquirySaga);
yield takeEvery(Actions.USER_DETAIL.request, userDetailSaga);
yield takeEvery(Actions.USER_UPDATE.request, userUpdateSaga);
yield takeEvery(Actions.updateUserAccess.request, userUpdateSaga);
yield takeEvery(Actions.USER_DELETE.request, userDeleteSaga);
}

4
src/modules/main/dash/actions/mainDashAction.ts

@ -48,7 +48,7 @@ export const STCS_AREA = createAsyncAction(
STCS_AREA_FAILURE
)<string, { data: StcsAreaData[] }, AxiosError>();
export const GROUP_LIST = createAsyncAction(
export const getGroupList = createAsyncAction(
GROUP_LIST_REQUEST,
GROUP_LIST_SUCCESS,
GROUP_LIST_FAILURE
@ -75,7 +75,7 @@ export const DRON_OPERRATION_LIST = createAsyncAction(
const actions = {
STCS_DAY,
STCS_AREA,
GROUP_LIST,
getGroupList,
DRON_LIST,
DASHBOARD_DATA,
DRON_OPERRATION_LIST

2
src/modules/main/dash/reducers/mainDashReducer.ts

@ -19,7 +19,7 @@ export const mainDahReducer = createReducer<
draft.stcsAreaList = data;
})
)
.handleAction(Actions.GROUP_LIST.success, (state, action) =>
.handleAction(Actions.getGroupList.success, (state, action) =>
produce(state, draft => {
const { data } = action.payload;
draft.groupList = data;

8
src/modules/main/dash/sagas/mainDashSaga.ts

@ -62,7 +62,7 @@ function* listStcsArea(action: ActionType<typeof Actions.STCS_AREA.request>) {
}
}
function* listGroup(action: ActionType<typeof Actions.GROUP_LIST.request>) {
function* listGroup(action: ActionType<typeof Actions.getGroupList.request>) {
try {
const params = action.payload;
const res = yield call(Apis.mainDashAPI.groupList, params);
@ -81,12 +81,12 @@ function* listGroup(action: ActionType<typeof Actions.GROUP_LIST.request>) {
return;
}
yield put(
Actions.GROUP_LIST.success({
Actions.getGroupList.success({
data: data
})
);
} catch (error) {
yield put(Actions.GROUP_LIST.failure(error));
yield put(Actions.getGroupList.failure(error));
}
}
@ -202,7 +202,7 @@ function* dronOperationList(
export function* mainDashSaga() {
yield takeEvery(Actions.STCS_DAY.request, listStcsDay);
yield takeEvery(Actions.STCS_AREA.request, listStcsArea);
yield takeEvery(Actions.GROUP_LIST.request, listGroup);
yield takeEvery(Actions.getGroupList.request, listGroup);
yield takeEvery(Actions.DRON_LIST.request, listDron);
yield takeEvery(Actions.DASHBOARD_DATA.request, dashboardData);
yield takeEvery(Actions.DRON_OPERRATION_LIST.request, dronOperationList);

Loading…
Cancel
Save