diff --git a/src/entities/additional-service/ui/account-holder-search/account-holder-search-list.tsx b/src/entities/additional-service/ui/account-holder-search/account-holder-search-list.tsx index 22d1abd..2fe3c09 100644 --- a/src/entities/additional-service/ui/account-holder-search/account-holder-search-list.tsx +++ b/src/entities/additional-service/ui/account-holder-search/account-holder-search-list.tsx @@ -4,6 +4,8 @@ import { ListDateGroup } from '../list-date-group'; import { AdditionalServiceCategory } from '../../model/types' import { AccountHolderSearchListProps } from '../../model/account-holder-search/types'; import { useTranslation } from 'react-i18next'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const AccountHolderSearchList = ({ listItems, @@ -63,6 +65,10 @@ export const AccountHolderSearchList = ({ const onClickToNavigate = () => { + if (!checkGrant(60, 'X')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.accountHolderSearch.request) }; @@ -74,7 +80,7 @@ export const AccountHolderSearchList = ({
diff --git a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx index 05c475e..40be584 100644 --- a/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/result-list-wrap.tsx @@ -19,6 +19,8 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; import useIntersectionObserver from '@/widgets/intersection-observer'; import { useTranslation } from 'react-i18next'; import { FundAccountResultDetail } from './detail/result-detail'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const FundAccountResultListWrap = () => { const { navigate } = useNavigate(); @@ -144,6 +146,10 @@ export const FundAccountResultListWrap = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(55, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -251,6 +257,10 @@ export const FundAccountResultListWrap = () => { ]); const onClickToNavigate = () => { + if (!checkGrant(55, 'W')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.fundAccount.transferRequest); }; diff --git a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx index ef48ef6..164adc3 100644 --- a/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx +++ b/src/entities/additional-service/ui/fund-account/transfer-list-wrap.tsx @@ -28,6 +28,8 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; import useIntersectionObserver from '@/widgets/intersection-observer'; import { useTranslation } from 'react-i18next'; import { FundAccountTransferDetail } from './detail/transfer-detail'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const FundAccountTransferListWrap = () => { const { navigate } = useNavigate(); @@ -127,6 +129,10 @@ export const FundAccountTransferListWrap = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(55, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -234,6 +240,10 @@ export const FundAccountTransferListWrap = () => { ]); const onClickToNavigate = () => { + if (!checkGrant(55, 'W')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.fundAccount.transferRequest); }; diff --git a/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx b/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx index 88ba6b8..e722642 100644 --- a/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx +++ b/src/entities/additional-service/ui/key-in-payment/key-in-payment-list.tsx @@ -4,6 +4,8 @@ import { ListDateGroup } from '../list-date-group'; import { KeyInPaymentListItem, KeyInPaymentListProps } from '../../model/key-in/types'; import { JSX } from 'react'; import { useTranslation } from 'react-i18next'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const KeyInPaymentList = ({ additionalServiceCategory, @@ -59,6 +61,10 @@ export const KeyInPaymentList = ({ }; const onClickToNavigate = () => { + if (!checkGrant(56, 'X')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.keyInPayment.request); }; @@ -70,7 +76,7 @@ export const KeyInPaymentList = ({
diff --git a/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx index 683a9ea..5846d20 100644 --- a/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx +++ b/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx @@ -17,6 +17,8 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; import useIntersectionObserver from '@/widgets/intersection-observer'; import { useTranslation } from 'react-i18next'; import { LinkPaymentHistoryDetail } from './detail/link-payment-history-detail'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; const getPaymentResultBtnGroup = (t: any) => [ { name: t('additionalService.linkPayment.all'), value: LinkPaymentPaymentStatus.ALL }, @@ -76,6 +78,10 @@ export const LinkPaymentHistoryWrap = () => { }); const onClickToNavigate = () => { + if (!checkGrant(54, 'W')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.linkPayment.request) }; @@ -133,6 +139,10 @@ export const LinkPaymentHistoryWrap = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(54, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -219,7 +229,7 @@ export const LinkPaymentHistoryWrap = () => { { @@ -64,6 +66,10 @@ export const LinkPaymentWaitSendWrap = () => { setFilterOn(!filterOn); }; const onClickToNavigate = () => { + if (!checkGrant(54, 'W')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.linkPayment.request) } @@ -120,6 +126,10 @@ export const LinkPaymentWaitSendWrap = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(54, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -195,7 +205,7 @@ export const LinkPaymentWaitSendWrap = () => { { const { t } = useTranslation(); @@ -143,6 +145,10 @@ export const AlimtalkListPage = () => { const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(58, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); } @@ -182,6 +188,10 @@ export const AlimtalkListPage = () => { }; const onClickToNavigate = () => { + if (!checkGrant(58, 'W')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.alimtalk.setting); }; @@ -284,7 +294,7 @@ export const AlimtalkListPage = () => { { const { navigate } = useNavigate(); @@ -136,6 +138,10 @@ export const ArsListPage = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(52, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -170,6 +176,10 @@ export const ArsListPage = () => { }; const onClickToNavigate = () => { + if (!checkGrant(52, 'X')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.ars.request, { state: { mid } }); @@ -230,7 +240,7 @@ export const ArsListPage = () => { diff --git a/src/pages/additional-service/face-auth/face-auth-page.tsx b/src/pages/additional-service/face-auth/face-auth-page.tsx index 3f2455f..389148b 100644 --- a/src/pages/additional-service/face-auth/face-auth-page.tsx +++ b/src/pages/additional-service/face-auth/face-auth-page.tsx @@ -1,11 +1,11 @@ import moment from 'moment'; -import { AdditionalServiceCategory, ProcessResult } from '@/entities/additional-service/model/types'; +import { AdditionalServiceCategory } from '@/entities/additional-service/model/types'; import { DefaultRequestPagination, HeaderType, SortTypeKeys } from '@/entities/common/model/types'; import { SortTypeBox } from '@/entities/common/ui/sort-type-box'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { IMAGE_ROOT } from '@/shared/constants/common'; -import { JSX, useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { useStore } from '@/shared/model/store'; import { PATHS } from '@/shared/constants/paths'; import { @@ -25,6 +25,8 @@ import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group' import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check'; import useIntersectionObserver from '@/widgets/intersection-observer'; import { useTranslation } from 'react-i18next'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const FaceAuthPage = () => { const { navigate } = useNavigate(); @@ -126,6 +128,10 @@ export const FaceAuthPage = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(65, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -244,7 +250,7 @@ export const FaceAuthPage = () => { diff --git a/src/pages/additional-service/payout/list-page.tsx b/src/pages/additional-service/payout/list-page.tsx index c194b83..48d4990 100644 --- a/src/pages/additional-service/payout/list-page.tsx +++ b/src/pages/additional-service/payout/list-page.tsx @@ -34,6 +34,8 @@ import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access import useIntersectionObserver from '@/widgets/intersection-observer'; import { PayoutList } from '@/entities/additional-service/ui/payout/payout-list'; import { PayoutDetail } from '@/entities/additional-service/ui/payout/detail/payout-detail'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const PayoutListPage = () => { // Access check @@ -88,6 +90,10 @@ export const PayoutListPage = () => { }); const onClickToNavigation = () => { + if (!checkGrant(53, 'W')) { + showAlert(t('common.nopermission')); + return; + } navigate(PATHS.additionalService.payout.request); }; @@ -144,6 +150,10 @@ export const PayoutListPage = () => { }; const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(53, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -273,7 +283,7 @@ export const PayoutListPage = () => { diff --git a/src/pages/additional-service/sms-payment/sms-payment-page.tsx b/src/pages/additional-service/sms-payment/sms-payment-page.tsx index 840210e..f6e6673 100644 --- a/src/pages/additional-service/sms-payment/sms-payment-page.tsx +++ b/src/pages/additional-service/sms-payment/sms-payment-page.tsx @@ -25,6 +25,8 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access-check'; import useIntersectionObserver from '@/widgets/intersection-observer'; import { set } from 'lodash-es'; +import { checkGrant } from '@/shared/lib/check-grant'; +import { showAlert } from '@/widgets/show-alert'; export const SmsPaymentPage = () => { const { t } = useTranslation(); @@ -135,6 +137,10 @@ export const SmsPaymentPage = () => { } const onClickToOpenEmailBottomSheet = () => { + if (!checkGrant(57, 'D')) { + showAlert(t('common.nopermission')); + return; + } setEmailBottomSheetOn(true); }; @@ -209,11 +215,11 @@ export const SmsPaymentPage = () => {