사용자 권한 관리 컴포넌트 타입 정리 및 코드 개선

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-09-29 10:51:17 +09:00
parent 9711b50b5f
commit 55bca427c2
11 changed files with 40 additions and 44 deletions

View File

@@ -15,7 +15,7 @@ export interface AccountUserTabProps {
activeTab: AccountUserTabKeys;
mid?: string;
usrid?: string;
idCl?: string;
idCL?: string;
status?: string;
};
@@ -26,7 +26,7 @@ export interface UserManageAuthListProps {
export interface UserManageAuthItemProps {
usrid?: string;
mid?: string;
idCl?: string;
idCL?: string;
status?: string;
};
export interface UserLoginAuthInfoWrapProps {
@@ -36,7 +36,7 @@ export interface UserLoginAuthInfoWrapProps {
export interface UserAccountAuthWrapProps {
mid: string;
usrid: string;
idCl: string;
idCL: string;
status: string;
};
export interface PermItem {
@@ -47,7 +47,7 @@ export interface PermItem {
export interface UserAccountAuthPermListProps {
mid: string;
usrid: string;
idCl: string;
idCL: string;
status: string;
menuItems: Array<PermItem>;
menuGrants: Array<UserMenuPermissionData>;
@@ -55,7 +55,7 @@ export interface UserAccountAuthPermListProps {
export interface UserAccountAuthPermItemProps extends PermItem {
mid: string;
usrid: string;
idCl: string;
idCL: string;
status: string;
menuName: string;
subMenu: Array<PermItem>;

View File

@@ -9,7 +9,7 @@ export const AccountUserTab = ({
activeTab,
mid,
usrid,
idCl,
idCL,
status,
}: AccountUserTabProps) => {
const { navigate } = useNavigate();
@@ -21,7 +21,7 @@ export const AccountUserTab = ({
state: {
mid: mid,
usrid: usrid,
idCl: idCl,
idCL: idCL,
status: status
}
});
@@ -31,7 +31,7 @@ export const AccountUserTab = ({
state: {
mid: mid,
usrid: usrid,
idCl: idCl,
idCL: idCL,
status: status
}
});

View File

@@ -5,7 +5,7 @@ import { UserAccountAuthPermItemProps } from '../model/types';
export const UserAccountAuthPermItem = ({
mid,
usrid,
idCl,
idCL,
status,
menuId,
menuName,
@@ -19,7 +19,7 @@ export const UserAccountAuthPermItem = ({
state: {
mid: mid,
usrid: usrid,
idCl: idCl,
idCl: idCL,
status: status,
menuId: menuId,
menuName: menuName,

View File

@@ -4,7 +4,7 @@ import { UserAccountAuthPermItem } from './user-account-auth-perm-item';
export const UserAccountAuthPermList = ({
mid,
usrid,
idCl,
idCL,
status,
menuItems,
menuGrants,
@@ -23,7 +23,7 @@ export const UserAccountAuthPermList = ({
key={`perm-${item.menuId || index}`}
mid={mid}
usrid={usrid}
idCl={idCl}
idCL={idCL}
status={status}
menuId={item.menuId}
menuName={item.menuName ?? ''}

View File

@@ -8,16 +8,16 @@ import { UserMenuPermissionData } from '@/entities/user/model/types';
export const UserAccountAuthWrap = ({
mid,
usrid,
idCl,
idCL,
status,
}: UserAccountAuthWrapProps) => {
const [currentStatus, setCurrentStatus] = useState(status);
const [currentIdCl, setCurrentIdCl] = useState(idCl);
const [currentIdCL, setCurrentIdCl] = useState(idCL);
const [menuGrants, setMenuGrants] = useState<Array<UserMenuPermissionData>>([]);
const [hasChanges, setHasChanges] = useState(false);
console.log('mid : ', mid);
console.log('usrid : ', usrid);
console.log('idCl : ', idCl);
console.log('idCL : ', idCL);
console.log('status : ', status);
const { mutateAsync: userMenuPermissions } = useUserMenuPermissionsMutation();
const updatePermissionsMutation = useUserUpdatePermissionsMutation();
@@ -42,9 +42,9 @@ export const UserAccountAuthWrap = ({
// 변경 사항 감지
useEffect(() => {
const statusChanged = currentStatus !== status;
const idClChanged = currentIdCl !== idCl;
setHasChanges(statusChanged || idClChanged);
}, [currentStatus, currentIdCl, status, idCl]);
const idCLChanged = currentIdCL !== idCL;
setHasChanges(statusChanged || idCLChanged);
}, [currentStatus, currentIdCL, status, idCL]);
let menuItems = [
{menuId: '30', parent: '30', menuName: '거래조회', subMenu:
@@ -123,7 +123,7 @@ export const UserAccountAuthWrap = ({
<div className="perm-field">
<div className="perm-label"> </div>
<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="GID">MID + GID</option>
</select>
@@ -136,7 +136,7 @@ export const UserAccountAuthWrap = ({
<UserAccountAuthPermList
mid={ mid }
usrid={ usrid }
idCl={ currentIdCl }
idCL={ currentIdCL }
status={ currentStatus }
menuItems={ menuItems }
menuGrants={ menuGrants }
@@ -153,7 +153,7 @@ export const UserAccountAuthWrap = ({
{
mid: mid,
usrid: usrid,
idCl: currentIdCl,
idCl: currentIdCL,
status: currentStatus
});
}}

View File

@@ -10,7 +10,7 @@ import { useNavigate } from '@/shared/lib/hooks/use-navigate';
export const UserLoginAuthInfoWrap = ({
mid,
usrid,
idCl,
idCL,
status,
}: UserFindAuthMethodParams) => {
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) => {
if (authMethodData?.emails) {
@@ -58,7 +58,7 @@ export const UserLoginAuthInfoWrap = ({
let params: UserFindAuthMethodParams = {
mid: mid,
usrid: usrid,
idCl: idCl,
idCL: idCL,
status: status,
page: pageParam
};
@@ -299,7 +299,7 @@ export const UserLoginAuthInfoWrap = ({
removeMethods.push({
usrid: usrid,
systemAdminClassId: mid,
idCl: "MID",
idCl: idCL,
authMethodType: "EMAIL",
sequence: email.sequence,
content: email.content
@@ -318,7 +318,7 @@ export const UserLoginAuthInfoWrap = ({
removeMethods.push({
usrid: usrid,
systemAdminClassId: mid,
idCl: "MID",
idCl: idCL,
authMethodType: "PHONE",
sequence: phone.sequence,
content: phone.content
@@ -334,7 +334,7 @@ export const UserLoginAuthInfoWrap = ({
addMethods.push({
usrid: usrid,
systemAdminClassId: mid,
idCl: "MID",
idCl: idCL,
authMethodType: "EMAIL",
sequence: existingEmailCount + index + 1,
content: email
@@ -348,7 +348,7 @@ export const UserLoginAuthInfoWrap = ({
addMethods.push({
usrid: usrid,
systemAdminClassId: mid,
idCl: "MID",
idCl: idCL,
authMethodType: "PHONE",
sequence: existingPhoneCount + index + 1,
content: phone

View File

@@ -5,15 +5,15 @@ import { UserManageAuthItemProps } from '../model/types';
export const UserManageAuthItem = ({
usrid,
mid,
idCl,
idCL,
status,
}: UserManageAuthItemProps) => {
console.log("UserManageAuthItem", usrid, mid, idCl, status);
console.log("UserManageAuthItem", usrid, mid, idCL, status);
const { navigate } = useNavigate();
const handleClick = () => {
navigate(PATHS.account.user.loginAuthInfo, {
state: { mid, usrid, idCl, status }
state: { mid, usrid, idCL, status }
});
};

View File

@@ -13,7 +13,7 @@ export const UserManageAuthList = ({
key={item.usrid}
usrid={item.usrid}
mid={mid}
idCl={item.idCl}
idCL={item.idCL}
status={item.status}
/>
))}