Skip to content
Closed
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bc2f649
feature: beneficiaries facet added
AlbertoMolinaIoBuilders Aug 21, 2025
598838b
beneficiaries using external lists
AlbertoMolinaIoBuilders Aug 21, 2025
e671a93
factory updated with beneficiaries
AlbertoMolinaIoBuilders Aug 21, 2025
4c9557a
factory updated
AlbertoMolinaIoBuilders Aug 21, 2025
c0506f7
beneficiaries time travel
AlbertoMolinaIoBuilders Aug 21, 2025
5ff4532
feat: scripts updated
Axel-IoBuilders Sep 8, 2025
c233b8d
feat: updateBeneficiaryData added
Axel-IoBuilders Sep 8, 2025
fa4f3f1
beneficiaries tests added
AlbertoMolinaIoBuilders Aug 22, 2025
0d99794
refactor: beneficiaries added to createbond in sdk
Axel-IoBuilders Sep 8, 2025
5287f23
refactor: previousData is not needed
luigi-io Aug 27, 2025
b343194
feat: add beneficiaries management to bond commands and adapters
Axel-IoBuilders Sep 8, 2025
bfa20fd
feat: add beneficiaries SDK
Axel-IoBuilders Sep 9, 2025
86e682b
fix: rebase with develop
Axel-IoBuilders Sep 10, 2025
257816b
feat: add beneficiaries query SDK
Axel-IoBuilders Sep 10, 2025
f216b84
fix: validation service isBeneficiary
Axel-IoBuilders Sep 10, 2025
83f84b2
fix: add optional field and fix service in command
Axel-IoBuilders Sep 12, 2025
5142709
fix: add validation createBond
Axel-IoBuilders Sep 15, 2025
30d90e5
fix: command createBondRequestCommand
Axel-IoBuilders Sep 15, 2025
3573c05
fix: beneficiaryData transaction adapters
Axel-IoBuilders Sep 15, 2025
3a97127
feat: web implementation
ManuIOB Sep 15, 2025
45d8086
fix: beneficiaryData hedera adapter
jaime-iobermudez Sep 15, 2025
2740ae0
fix: adapters
Axel-IoBuilders Sep 15, 2025
4057bcb
fix: request add beneficiary
Axel-IoBuilders Sep 15, 2025
97c723e
fix: updateAddBeneficiaryData
Axel-IoBuilders Sep 15, 2025
f26f2bb
fix: hex validation
ManuIOB Sep 15, 2025
2fb39dd
fix: comments pr
Axel-IoBuilders Sep 15, 2025
d9c4c73
fix: tests
ManuIOB Sep 15, 2025
a448b1f
fix: remove comments and 0x format
ManuIOB Sep 16, 2025
362a040
fix: apply roles hedera adapter
jaime-iobermudez Sep 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
158 changes: 158 additions & 0 deletions apps/ats/web/src/hooks/mutations/useBeneficiaries.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import SDKService from '../../services/SDKService';
import {
AddBeneficiaryRequest,
RemoveBeneficiaryRequest,
UpdateBeneficiaryDataRequest,
} from '@hashgraph/asset-tokenization-sdk';
import { useToast } from 'io-bricks-ui';
import { useTranslation } from 'react-i18next';
import { GET_BENEFICIARY_LIST } from '../queries/useBeneficiaries';

export const useAddBeneficiary = () => {
const queryClient = useQueryClient();
const toast = useToast();
const { t } = useTranslation('security', {
keyPrefix: 'details.beneficiaries.create.messages',
});

return useMutation(
(req: AddBeneficiaryRequest) => SDKService.addBeneficiary(req),
{
onSuccess(data, variables) {
queryClient.invalidateQueries({
queryKey: [GET_BENEFICIARY_LIST(variables.securityId)],
});

console.log(
'SDK message --> Add beneficiary operation success: ',
data,
);

if (!data) {
return;
}

toast.show({
duration: 3000,
title: t('success'),
description: t('descriptionSuccess'),
variant: 'subtle',
status: 'success',
});
},
onError: (error) => {
console.log('SDK message --> Add beneficiary operation error: ', error);

toast.show({
duration: 3000,
title: t('error'),
description: t('descriptionFailed'),
variant: 'subtle',
status: 'error',
});
},
},
);
};

export const useUpdateBeneficiary = () => {
const queryClient = useQueryClient();
const toast = useToast();
const { t } = useTranslation('security', {
keyPrefix: 'details.beneficiaries.update.messages',
});

return useMutation(
(req: UpdateBeneficiaryDataRequest) =>
SDKService.updateBeneficiaryData(req),
{
onSuccess(data, variables) {
queryClient.invalidateQueries({
queryKey: [GET_BENEFICIARY_LIST(variables.securityId)],
});

console.log(
'SDK message --> Update beneficiary operation success: ',
data,
);

if (!data) {
return;
}

toast.show({
duration: 3000,
title: t('success'),
description: t('descriptionSuccess'),
variant: 'subtle',
status: 'success',
});
},
onError: (error) => {
console.log(
'SDK message --> Update beneficiary operation error: ',
error,
);

toast.show({
duration: 3000,
title: t('error'),
description: t('descriptionFailed'),
variant: 'subtle',
status: 'error',
});
},
},
);
};

export const useRemoveBeneficiary = () => {
const queryClient = useQueryClient();
const toast = useToast();
const { t } = useTranslation('security', {
keyPrefix: 'details.beneficiaries.remove.messages',
});

return useMutation(
(req: RemoveBeneficiaryRequest) => SDKService.removeBeneficiary(req),
{
onSuccess(data, variables) {
queryClient.invalidateQueries({
queryKey: [GET_BENEFICIARY_LIST(variables.securityId)],
});

console.log(
'SDK message --> Remove beneficiary operation success: ',
data,
);

if (!data) {
return;
}

toast.show({
duration: 3000,
title: t('success'),
description: t('descriptionSuccess'),
variant: 'subtle',
status: 'success',
});
},
onError: (error) => {
console.log(
'SDK message --> Remove beneficiary operation error: ',
error,
);

toast.show({
duration: 3000,
title: t('error'),
description: t('descriptionFailed'),
variant: 'subtle',
status: 'error',
});
},
},
);
};
Loading
Loading