Skip to content

Commit

Permalink
feat: Added votes model
Browse files Browse the repository at this point in the history
  • Loading branch information
gsoares85 committed Jan 17, 2024
1 parent 11227b3 commit 40faeb9
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/lib/FederatorERC.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import {
findFailedTransaction,
insertFailedTransaction, updateFailedTransaction
} from "../models/failedTransactions.model";
import {getVote, insertVote} from "../models/votes.model";


type ValidateAndVoteReturn = {
Expand Down Expand Up @@ -442,8 +443,7 @@ export default class FederatorERC extends Federator {
const hasVoted = await params.sideFedContract
.hasVoted(params.transactionId, fedAddress);

const hasVotedDb = await AppDataSource.getRepository(Votes).findOne({
where: {transactionId: params.transactionId}});
const hasVotedDb = await getVote({transactionId: params.transactionId});

const failedRetry = await findFailedTransaction({
transactionId: params.transactionId,
Expand Down Expand Up @@ -477,7 +477,7 @@ export default class FederatorERC extends Federator {
validateAndVoteReturn.receipt = receipt;
validateAndVoteReturn.voteSuccess = true;

await AppDataSource.getRepository(Votes).insert({
const dataToInsert: Partial<Votes> = {
voted: true,
transactionId: params.transactionId,
transactionData: JSON.stringify({
Expand All @@ -492,7 +492,9 @@ export default class FederatorERC extends Federator {
amount: params.amount,
originalTokenAddress: params.tokenAddress,
})
});
};

await insertVote(dataToInsert);
} else {
validateAndVoteReturn.receipt = null;
validateAndVoteReturn.voteSuccess = false;
Expand Down
12 changes: 12 additions & 0 deletions src/models/votes.model.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {Votes} from "../entities/Votes";
import {AppDataSource} from "../services/AppDataSource";

const getVote = async (criteria: Partial<Votes>) => {
return await AppDataSource.getRepository(Votes).findOne({ where: { ...criteria }});
}

const insertVote = async (data: Partial<Votes>) => {
await AppDataSource.getRepository(Votes).insert({ ...data });
}

export { getVote, insertVote }

0 comments on commit 40faeb9

Please sign in to comment.