사용자 권한 관리 컴포넌트 타입 정리 및 코드 개선
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,7 @@ export interface AccountUserTabProps {
|
|||||||
activeTab: AccountUserTabKeys;
|
activeTab: AccountUserTabKeys;
|
||||||
mid?: string;
|
mid?: string;
|
||||||
usrid?: string;
|
usrid?: string;
|
||||||
idCl?: string;
|
idCL?: string;
|
||||||
status?: string;
|
status?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ export interface UserManageAuthListProps {
|
|||||||
export interface UserManageAuthItemProps {
|
export interface UserManageAuthItemProps {
|
||||||
usrid?: string;
|
usrid?: string;
|
||||||
mid?: string;
|
mid?: string;
|
||||||
idCl?: string;
|
idCL?: string;
|
||||||
status?: string;
|
status?: string;
|
||||||
};
|
};
|
||||||
export interface UserLoginAuthInfoWrapProps {
|
export interface UserLoginAuthInfoWrapProps {
|
||||||
@@ -36,7 +36,7 @@ export interface UserLoginAuthInfoWrapProps {
|
|||||||
export interface UserAccountAuthWrapProps {
|
export interface UserAccountAuthWrapProps {
|
||||||
mid: string;
|
mid: string;
|
||||||
usrid: string;
|
usrid: string;
|
||||||
idCl: string;
|
idCL: string;
|
||||||
status: string;
|
status: string;
|
||||||
};
|
};
|
||||||
export interface PermItem {
|
export interface PermItem {
|
||||||
@@ -47,7 +47,7 @@ export interface PermItem {
|
|||||||
export interface UserAccountAuthPermListProps {
|
export interface UserAccountAuthPermListProps {
|
||||||
mid: string;
|
mid: string;
|
||||||
usrid: string;
|
usrid: string;
|
||||||
idCl: string;
|
idCL: string;
|
||||||
status: string;
|
status: string;
|
||||||
menuItems: Array<PermItem>;
|
menuItems: Array<PermItem>;
|
||||||
menuGrants: Array<UserMenuPermissionData>;
|
menuGrants: Array<UserMenuPermissionData>;
|
||||||
@@ -55,7 +55,7 @@ export interface UserAccountAuthPermListProps {
|
|||||||
export interface UserAccountAuthPermItemProps extends PermItem {
|
export interface UserAccountAuthPermItemProps extends PermItem {
|
||||||
mid: string;
|
mid: string;
|
||||||
usrid: string;
|
usrid: string;
|
||||||
idCl: string;
|
idCL: string;
|
||||||
status: string;
|
status: string;
|
||||||
menuName: string;
|
menuName: string;
|
||||||
subMenu: Array<PermItem>;
|
subMenu: Array<PermItem>;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export const AccountUserTab = ({
|
|||||||
activeTab,
|
activeTab,
|
||||||
mid,
|
mid,
|
||||||
usrid,
|
usrid,
|
||||||
idCl,
|
idCL,
|
||||||
status,
|
status,
|
||||||
}: AccountUserTabProps) => {
|
}: AccountUserTabProps) => {
|
||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
@@ -21,7 +21,7 @@ export const AccountUserTab = ({
|
|||||||
state: {
|
state: {
|
||||||
mid: mid,
|
mid: mid,
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
idCl: idCl,
|
idCL: idCL,
|
||||||
status: status
|
status: status
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -31,7 +31,7 @@ export const AccountUserTab = ({
|
|||||||
state: {
|
state: {
|
||||||
mid: mid,
|
mid: mid,
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
idCl: idCl,
|
idCL: idCL,
|
||||||
status: status
|
status: status
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { UserAccountAuthPermItemProps } from '../model/types';
|
|||||||
export const UserAccountAuthPermItem = ({
|
export const UserAccountAuthPermItem = ({
|
||||||
mid,
|
mid,
|
||||||
usrid,
|
usrid,
|
||||||
idCl,
|
idCL,
|
||||||
status,
|
status,
|
||||||
menuId,
|
menuId,
|
||||||
menuName,
|
menuName,
|
||||||
@@ -19,7 +19,7 @@ export const UserAccountAuthPermItem = ({
|
|||||||
state: {
|
state: {
|
||||||
mid: mid,
|
mid: mid,
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
idCl: idCl,
|
idCl: idCL,
|
||||||
status: status,
|
status: status,
|
||||||
menuId: menuId,
|
menuId: menuId,
|
||||||
menuName: menuName,
|
menuName: menuName,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { UserAccountAuthPermItem } from './user-account-auth-perm-item';
|
|||||||
export const UserAccountAuthPermList = ({
|
export const UserAccountAuthPermList = ({
|
||||||
mid,
|
mid,
|
||||||
usrid,
|
usrid,
|
||||||
idCl,
|
idCL,
|
||||||
status,
|
status,
|
||||||
menuItems,
|
menuItems,
|
||||||
menuGrants,
|
menuGrants,
|
||||||
@@ -23,7 +23,7 @@ export const UserAccountAuthPermList = ({
|
|||||||
key={`perm-${item.menuId || index}`}
|
key={`perm-${item.menuId || index}`}
|
||||||
mid={mid}
|
mid={mid}
|
||||||
usrid={usrid}
|
usrid={usrid}
|
||||||
idCl={idCl}
|
idCL={idCL}
|
||||||
status={status}
|
status={status}
|
||||||
menuId={item.menuId}
|
menuId={item.menuId}
|
||||||
menuName={item.menuName ?? ''}
|
menuName={item.menuName ?? ''}
|
||||||
|
|||||||
@@ -8,16 +8,16 @@ import { UserMenuPermissionData } from '@/entities/user/model/types';
|
|||||||
export const UserAccountAuthWrap = ({
|
export const UserAccountAuthWrap = ({
|
||||||
mid,
|
mid,
|
||||||
usrid,
|
usrid,
|
||||||
idCl,
|
idCL,
|
||||||
status,
|
status,
|
||||||
}: UserAccountAuthWrapProps) => {
|
}: UserAccountAuthWrapProps) => {
|
||||||
const [currentStatus, setCurrentStatus] = useState(status);
|
const [currentStatus, setCurrentStatus] = useState(status);
|
||||||
const [currentIdCl, setCurrentIdCl] = useState(idCl);
|
const [currentIdCL, setCurrentIdCl] = useState(idCL);
|
||||||
const [menuGrants, setMenuGrants] = useState<Array<UserMenuPermissionData>>([]);
|
const [menuGrants, setMenuGrants] = useState<Array<UserMenuPermissionData>>([]);
|
||||||
const [hasChanges, setHasChanges] = useState(false);
|
const [hasChanges, setHasChanges] = useState(false);
|
||||||
console.log('mid : ', mid);
|
console.log('mid : ', mid);
|
||||||
console.log('usrid : ', usrid);
|
console.log('usrid : ', usrid);
|
||||||
console.log('idCl : ', idCl);
|
console.log('idCL : ', idCL);
|
||||||
console.log('status : ', status);
|
console.log('status : ', status);
|
||||||
const { mutateAsync: userMenuPermissions } = useUserMenuPermissionsMutation();
|
const { mutateAsync: userMenuPermissions } = useUserMenuPermissionsMutation();
|
||||||
const updatePermissionsMutation = useUserUpdatePermissionsMutation();
|
const updatePermissionsMutation = useUserUpdatePermissionsMutation();
|
||||||
@@ -42,9 +42,9 @@ export const UserAccountAuthWrap = ({
|
|||||||
// 변경 사항 감지
|
// 변경 사항 감지
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const statusChanged = currentStatus !== status;
|
const statusChanged = currentStatus !== status;
|
||||||
const idClChanged = currentIdCl !== idCl;
|
const idCLChanged = currentIdCL !== idCL;
|
||||||
setHasChanges(statusChanged || idClChanged);
|
setHasChanges(statusChanged || idCLChanged);
|
||||||
}, [currentStatus, currentIdCl, status, idCl]);
|
}, [currentStatus, currentIdCL, status, idCL]);
|
||||||
|
|
||||||
let menuItems = [
|
let menuItems = [
|
||||||
{menuId: '30', parent: '30', menuName: '거래조회', subMenu:
|
{menuId: '30', parent: '30', menuName: '거래조회', subMenu:
|
||||||
@@ -123,7 +123,7 @@ export const UserAccountAuthWrap = ({
|
|||||||
<div className="perm-field">
|
<div className="perm-field">
|
||||||
<div className="perm-label">로그인 범위</div>
|
<div className="perm-label">로그인 범위</div>
|
||||||
<div className="perm-control">
|
<div className="perm-control">
|
||||||
<select value={currentIdCl} onChange={(e) => setCurrentIdCl(e.target.value)}>
|
<select value={currentIdCL} onChange={(e) => setCurrentIdCl(e.target.value)}>
|
||||||
<option value="MID">MID</option>
|
<option value="MID">MID</option>
|
||||||
<option value="GID">MID + GID</option>
|
<option value="GID">MID + GID</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -136,7 +136,7 @@ export const UserAccountAuthWrap = ({
|
|||||||
<UserAccountAuthPermList
|
<UserAccountAuthPermList
|
||||||
mid={ mid }
|
mid={ mid }
|
||||||
usrid={ usrid }
|
usrid={ usrid }
|
||||||
idCl={ currentIdCl }
|
idCL={ currentIdCL }
|
||||||
status={ currentStatus }
|
status={ currentStatus }
|
||||||
menuItems={ menuItems }
|
menuItems={ menuItems }
|
||||||
menuGrants={ menuGrants }
|
menuGrants={ menuGrants }
|
||||||
@@ -153,7 +153,7 @@ export const UserAccountAuthWrap = ({
|
|||||||
{
|
{
|
||||||
mid: mid,
|
mid: mid,
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
idCl: currentIdCl,
|
idCl: currentIdCL,
|
||||||
status: currentStatus
|
status: currentStatus
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
|||||||
export const UserLoginAuthInfoWrap = ({
|
export const UserLoginAuthInfoWrap = ({
|
||||||
mid,
|
mid,
|
||||||
usrid,
|
usrid,
|
||||||
idCl,
|
idCL,
|
||||||
status,
|
status,
|
||||||
}: UserFindAuthMethodParams) => {
|
}: UserFindAuthMethodParams) => {
|
||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
@@ -38,7 +38,7 @@ export const UserLoginAuthInfoWrap = ({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("UserLoginAuthInfoWrap", mid, usrid, idCl, status);
|
console.log("UserLoginAuthInfoWrap", mid, usrid, idCL, status);
|
||||||
|
|
||||||
const handleRemoveExistingEmail = (index: number) => {
|
const handleRemoveExistingEmail = (index: number) => {
|
||||||
if (authMethodData?.emails) {
|
if (authMethodData?.emails) {
|
||||||
@@ -58,7 +58,7 @@ export const UserLoginAuthInfoWrap = ({
|
|||||||
let params: UserFindAuthMethodParams = {
|
let params: UserFindAuthMethodParams = {
|
||||||
mid: mid,
|
mid: mid,
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
idCl: idCl,
|
idCL: idCL,
|
||||||
status: status,
|
status: status,
|
||||||
page: pageParam
|
page: pageParam
|
||||||
};
|
};
|
||||||
@@ -299,7 +299,7 @@ export const UserLoginAuthInfoWrap = ({
|
|||||||
removeMethods.push({
|
removeMethods.push({
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
systemAdminClassId: mid,
|
systemAdminClassId: mid,
|
||||||
idCl: "MID",
|
idCl: idCL,
|
||||||
authMethodType: "EMAIL",
|
authMethodType: "EMAIL",
|
||||||
sequence: email.sequence,
|
sequence: email.sequence,
|
||||||
content: email.content
|
content: email.content
|
||||||
@@ -318,7 +318,7 @@ export const UserLoginAuthInfoWrap = ({
|
|||||||
removeMethods.push({
|
removeMethods.push({
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
systemAdminClassId: mid,
|
systemAdminClassId: mid,
|
||||||
idCl: "MID",
|
idCl: idCL,
|
||||||
authMethodType: "PHONE",
|
authMethodType: "PHONE",
|
||||||
sequence: phone.sequence,
|
sequence: phone.sequence,
|
||||||
content: phone.content
|
content: phone.content
|
||||||
@@ -334,7 +334,7 @@ export const UserLoginAuthInfoWrap = ({
|
|||||||
addMethods.push({
|
addMethods.push({
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
systemAdminClassId: mid,
|
systemAdminClassId: mid,
|
||||||
idCl: "MID",
|
idCl: idCL,
|
||||||
authMethodType: "EMAIL",
|
authMethodType: "EMAIL",
|
||||||
sequence: existingEmailCount + index + 1,
|
sequence: existingEmailCount + index + 1,
|
||||||
content: email
|
content: email
|
||||||
@@ -348,7 +348,7 @@ export const UserLoginAuthInfoWrap = ({
|
|||||||
addMethods.push({
|
addMethods.push({
|
||||||
usrid: usrid,
|
usrid: usrid,
|
||||||
systemAdminClassId: mid,
|
systemAdminClassId: mid,
|
||||||
idCl: "MID",
|
idCl: idCL,
|
||||||
authMethodType: "PHONE",
|
authMethodType: "PHONE",
|
||||||
sequence: existingPhoneCount + index + 1,
|
sequence: existingPhoneCount + index + 1,
|
||||||
content: phone
|
content: phone
|
||||||
|
|||||||
@@ -5,15 +5,15 @@ import { UserManageAuthItemProps } from '../model/types';
|
|||||||
export const UserManageAuthItem = ({
|
export const UserManageAuthItem = ({
|
||||||
usrid,
|
usrid,
|
||||||
mid,
|
mid,
|
||||||
idCl,
|
idCL,
|
||||||
status,
|
status,
|
||||||
}: UserManageAuthItemProps) => {
|
}: UserManageAuthItemProps) => {
|
||||||
console.log("UserManageAuthItem", usrid, mid, idCl, status);
|
console.log("UserManageAuthItem", usrid, mid, idCL, status);
|
||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
|
|
||||||
const handleClick = () => {
|
const handleClick = () => {
|
||||||
navigate(PATHS.account.user.loginAuthInfo, {
|
navigate(PATHS.account.user.loginAuthInfo, {
|
||||||
state: { mid, usrid, idCl, status }
|
state: { mid, usrid, idCL, status }
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export const UserManageAuthList = ({
|
|||||||
key={item.usrid}
|
key={item.usrid}
|
||||||
usrid={item.usrid}
|
usrid={item.usrid}
|
||||||
mid={mid}
|
mid={mid}
|
||||||
idCl={item.idCl}
|
idCL={item.idCL}
|
||||||
status={item.status}
|
status={item.status}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -39,9 +39,8 @@ export interface UserParams {
|
|||||||
|
|
||||||
export interface UserListItem {
|
export interface UserListItem {
|
||||||
usrid: string;
|
usrid: string;
|
||||||
idCl: string;
|
idCL: string;
|
||||||
status: string;
|
status: string;
|
||||||
tid: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UserFindResponse extends DefaulResponsePagination {
|
export interface UserFindResponse extends DefaulResponsePagination {
|
||||||
@@ -60,7 +59,7 @@ export interface UserExistsUseridParams {
|
|||||||
export interface UserFindAuthMethodParams {
|
export interface UserFindAuthMethodParams {
|
||||||
mid: string;
|
mid: string;
|
||||||
usrid: string;
|
usrid: string;
|
||||||
idCl: string;
|
idCL: string;
|
||||||
status: string;
|
status: string;
|
||||||
page?: DefaultRequestPagination;
|
page?: DefaultRequestPagination;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import {
|
|||||||
export const UserAccountAuthPage = () => {
|
export const UserAccountAuthPage = () => {
|
||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const { tid, mid, usrid, idCl, status } = location.state || {};
|
const { mid, usrid, idCL, status } = location.state || {};
|
||||||
|
|
||||||
const [activeTab, ] = useState<AccountUserTabKeys>(AccountUserTabKeys.AccountAuth);
|
const [activeTab, ] = useState<AccountUserTabKeys>(AccountUserTabKeys.AccountAuth);
|
||||||
useSetHeaderTitle('사용자 설정');
|
useSetHeaderTitle('사용자 설정');
|
||||||
@@ -26,9 +26,6 @@ export const UserAccountAuthPage = () => {
|
|||||||
navigate(PATHS.account.user.manage);
|
navigate(PATHS.account.user.manage);
|
||||||
});
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
console.log('tid : ', tid);
|
|
||||||
});
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -39,13 +36,13 @@ export const UserAccountAuthPage = () => {
|
|||||||
activeTab={ activeTab }
|
activeTab={ activeTab }
|
||||||
mid={ mid || '' }
|
mid={ mid || '' }
|
||||||
usrid={ usrid || '' }
|
usrid={ usrid || '' }
|
||||||
idCl={ idCl || '' }
|
idCL={ idCL || '' }
|
||||||
status={ status || '' }
|
status={ status || '' }
|
||||||
></AccountUserTab>
|
></AccountUserTab>
|
||||||
<UserAccountAuthWrap
|
<UserAccountAuthWrap
|
||||||
mid={ mid || '' }
|
mid={ mid || '' }
|
||||||
usrid={ usrid || '' }
|
usrid={ usrid || '' }
|
||||||
idCl={ idCl || '' }
|
idCL={ idCL || '' }
|
||||||
status={ status || '' }
|
status={ status || '' }
|
||||||
></UserAccountAuthWrap>
|
></UserAccountAuthWrap>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import {
|
|||||||
|
|
||||||
export const UserLoginAuthInfoPage = () => {
|
export const UserLoginAuthInfoPage = () => {
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const { mid, usrid, idCl, status } = location.state || {};
|
const { mid, usrid, idCL, status } = location.state || {};
|
||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
|
|
||||||
const [activeTab, ] = useState<AccountUserTabKeys>(AccountUserTabKeys.LoginAuthInfo);
|
const [activeTab, ] = useState<AccountUserTabKeys>(AccountUserTabKeys.LoginAuthInfo);
|
||||||
@@ -35,13 +35,13 @@ export const UserLoginAuthInfoPage = () => {
|
|||||||
activeTab={ activeTab }
|
activeTab={ activeTab }
|
||||||
mid={mid || ''}
|
mid={mid || ''}
|
||||||
usrid={usrid || ''}
|
usrid={usrid || ''}
|
||||||
idCl={idCl || ''}
|
idCL={idCL || ''}
|
||||||
status={status || ''}
|
status={status || ''}
|
||||||
></AccountUserTab>
|
></AccountUserTab>
|
||||||
<UserLoginAuthInfoWrap
|
<UserLoginAuthInfoWrap
|
||||||
mid={mid || ''}
|
mid={mid || ''}
|
||||||
usrid={usrid || ''}
|
usrid={usrid || ''}
|
||||||
idCl={idCl || ''}
|
idCL={idCL || ''}
|
||||||
status={status || ''}
|
status={status || ''}
|
||||||
></UserLoginAuthInfoWrap>
|
></UserLoginAuthInfoWrap>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user