Skip to content

Commit

Permalink
added fallback to proposal
Browse files Browse the repository at this point in the history
  • Loading branch information
sepehr2github committed May 14, 2024
1 parent 5a8aaa0 commit 9de515d
Showing 1 changed file with 37 additions and 3 deletions.
40 changes: 37 additions & 3 deletions src/services/aragon-sdk/queries/use-proposal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@ import {UseQueryOptions, useQuery} from '@tanstack/react-query';
import {GaslessVotingProposal} from '@vocdoni/gasless-voting';
import request, {gql} from 'graphql-request';

import {getExtendedProposalId} from '@aragon/sdk-client-common';
import {
InvalidCidError,
UNAVAILABLE_PROPOSAL_METADATA,
UNSUPPORTED_PROPOSAL_METADATA_LINK,
getExtendedProposalId,
} from '@aragon/sdk-client-common';
import {useNetwork} from 'context/network';
import {
PluginClient,
Expand Down Expand Up @@ -147,6 +152,22 @@ async function getProposal(
proposalId: extendedProposalId,
});

try {
const metadata = await ipfsService.getData(tokenVotingProposal.metadata);
subgraphProposal = toTokenVotingProposal(tokenVotingProposal, metadata);
} catch (err) {
if (err instanceof InvalidCidError) {
return toTokenVotingProposal(
tokenVotingProposal,
UNSUPPORTED_PROPOSAL_METADATA_LINK
);
}
return toTokenVotingProposal(
tokenVotingProposal,
UNAVAILABLE_PROPOSAL_METADATA
);
}

const metadata = await ipfsService.getData(tokenVotingProposal.metadata);
subgraphProposal = toTokenVotingProposal(tokenVotingProposal, metadata);
} else if (isMultisigClient(client)) {
Expand All @@ -157,8 +178,21 @@ async function getProposal(
proposalId: extendedProposalId,
});

const metadata = await ipfsService.getData(multisigProposal.metadata);
subgraphProposal = toMultisigProposal(multisigProposal, metadata);
try {
const metadata = await ipfsService.getData(multisigProposal.metadata);
subgraphProposal = toMultisigProposal(multisigProposal, metadata);
} catch (err) {
if (err instanceof InvalidCidError) {
return toMultisigProposal(
multisigProposal,
UNSUPPORTED_PROPOSAL_METADATA_LINK
);
}
return toMultisigProposal(
multisigProposal,
UNAVAILABLE_PROPOSAL_METADATA
);
}
}

return subgraphProposal as TokenVotingProposal | MultisigProposal;
Expand Down

0 comments on commit 9de515d

Please sign in to comment.