mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 12:20:31 +00:00
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { ApiOperation, ApiTags } from '@nestjs/swagger';
|
|
import { Body, Controller, Get, Param, Post, Query } from '@nestjs/common';
|
|
import { BankingMatchingApplication } from './BankingMatchingApplication';
|
|
import { GetMatchedTransactionsFilter, IMatchTransactionDTO } from './types';
|
|
import { MatchBankTransactionDto } from './dtos/MatchBankTransaction.dto';
|
|
|
|
@Controller('banking/matching')
|
|
@ApiTags('banking-transactions-matching')
|
|
export class BankingMatchingController {
|
|
constructor(
|
|
private readonly bankingMatchingApplication: BankingMatchingApplication
|
|
) {}
|
|
|
|
@Get('matched/transactions')
|
|
@ApiOperation({ summary: 'Retrieves the matched transactions.' })
|
|
async getMatchedTransactions(
|
|
@Query('uncategorizedTransactionIds') uncategorizedTransactionIds: number[],
|
|
@Query() filter: GetMatchedTransactionsFilter
|
|
) {
|
|
return this.bankingMatchingApplication.getMatchedTransactions(
|
|
uncategorizedTransactionIds,
|
|
filter
|
|
);
|
|
}
|
|
|
|
@Post('/match/:uncategorizedTransactionId')
|
|
@ApiOperation({ summary: 'Match the given uncategorized transaction.' })
|
|
async matchTransaction(
|
|
@Param('uncategorizedTransactionId') uncategorizedTransactionId: number | number[],
|
|
@Body() matchedTransactions: MatchBankTransactionDto
|
|
) {
|
|
return this.bankingMatchingApplication.matchTransaction(
|
|
uncategorizedTransactionId,
|
|
matchedTransactions
|
|
);
|
|
}
|
|
|
|
@Post('/unmatch/:uncategorizedTransactionId')
|
|
@ApiOperation({ summary: 'Unmatch the given uncategorized transaction.' })
|
|
async unmatchMatchedTransaction(
|
|
@Param('uncategorizedTransactionId') uncategorizedTransactionId: number
|
|
) {
|
|
return this.bankingMatchingApplication.unmatchMatchedTransaction(
|
|
uncategorizedTransactionId
|
|
);
|
|
}
|
|
}
|