refactor: Update source code with the NPCI and CBS API
This commit is contained in:
@@ -43,11 +43,11 @@ const MockBeneficiaryData =
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
export default function SendToBeneficiaryOthers() {
|
||||
const router = useRouter();
|
||||
const [authorized, setAuthorized] = useState<boolean | null>(null);
|
||||
const [accountData, setAccountData] = useState<accountData[]>([]);
|
||||
const [beneficiaryData, setBeneficiaryData] = useState<any[]>([]);
|
||||
const [selectedAccNo, setSelectedAccNo] = useState<string | null>(null);
|
||||
const [beneficiaryAcc, setBeneficiaryAcc] = useState<string | null>(null);
|
||||
const [beneficiaryName, setBeneficiaryName] = useState<string | null>(null);
|
||||
@@ -70,31 +70,63 @@ export default function SendToBeneficiaryOthers() {
|
||||
setGenerateOtp(value);
|
||||
return value;
|
||||
}
|
||||
|
||||
const FetchBeneficiaryDetails = async () => {
|
||||
try {
|
||||
const token = localStorage.getItem("access_token");
|
||||
const response = await fetch("/api/beneficiary", {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: `Bearer ${token}`,
|
||||
},
|
||||
});
|
||||
const data = await response.json();
|
||||
console.log(data);
|
||||
if (response.ok && Array.isArray(data)) {
|
||||
setBeneficiaryData(data);
|
||||
} else {
|
||||
notifications.show({
|
||||
title: "Error",
|
||||
message: "Unable to fetch beneficiary list",
|
||||
color: "red",
|
||||
});
|
||||
}
|
||||
} catch {
|
||||
notifications.show({
|
||||
title: "Error",
|
||||
message: "Something went wrong while fetching beneficiaries",
|
||||
color: "red",
|
||||
});
|
||||
}
|
||||
};
|
||||
const selectedAccount = accountData.find((acc) => acc.stAccountNo === selectedAccNo);
|
||||
const accountOptions = accountData.map((acc) => ({
|
||||
value: acc.stAccountNo,
|
||||
label: `${acc.stAccountNo} (${acc.stAccountType})`,
|
||||
}));
|
||||
|
||||
const benAccountOption = MockBeneficiaryData.filter((ben_acc) =>
|
||||
ben_acc.stBankName !== 'Kangra Central Co-operative Bank')
|
||||
.map((ben_acc) => ({
|
||||
value: ben_acc.stBenAccountNo,
|
||||
label: ben_acc.stBenAccountNo,
|
||||
const benAccountOption = beneficiaryData.
|
||||
filter((ben) => !ben.ifscCode?.startsWith("KACE"))
|
||||
.map((ben) => ({
|
||||
value: ben.accountNo,
|
||||
label: `${ben.accountNo} - ${ben.name}`,
|
||||
|
||||
}));
|
||||
const handleBeneficiary = (benAcc: string | null) => {
|
||||
if (benAcc) {
|
||||
setBeneficiaryAcc(benAcc);
|
||||
const selected = MockBeneficiaryData.find((item) => item.stBenAccountNo === benAcc);
|
||||
if (selected)
|
||||
setBeneficiaryName(selected.stBenName);
|
||||
setBeneficiaryIFSC(selected?.stIFSC ?? '');
|
||||
}
|
||||
else {
|
||||
setBeneficiaryAcc('');
|
||||
setBeneficiaryName('');
|
||||
setBeneficiaryIFSC('');
|
||||
|
||||
const handleBeneficiary = (ben: string | null) => {
|
||||
if (ben) {
|
||||
setBeneficiaryAcc(ben);
|
||||
const selected = beneficiaryData.find((item) => item.accountNo === ben && !item.ifscCode?.startsWith("KACE"));
|
||||
if (selected) {
|
||||
setBeneficiaryName(selected.name);
|
||||
setBeneficiaryIFSC(selected?.ifscCode ?? '');
|
||||
}
|
||||
else {
|
||||
setBeneficiaryAcc('');
|
||||
setBeneficiaryName('');
|
||||
setBeneficiaryIFSC('');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,6 +169,7 @@ export default function SendToBeneficiaryOthers() {
|
||||
useEffect(() => {
|
||||
if (authorized) {
|
||||
FetchAccountDetails();
|
||||
FetchBeneficiaryDetails();
|
||||
}
|
||||
}, [authorized]);
|
||||
|
||||
|
Reference in New Issue
Block a user