feat(nestjs): migrate to NestJS

This commit is contained in:
Ahmed Bouhuolia
2025-04-07 11:51:24 +02:00
parent f068218a16
commit 55fcc908ef
3779 changed files with 631 additions and 195332 deletions

View File

@@ -0,0 +1,73 @@
import { Controller, Param, Post } from '@nestjs/common';
import { BankAccountsApplication } from './BankAccountsApplication.service';
import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';
@Controller('banking/accounts')
@ApiTags('banking-accounts')
export class BankAccountsController {
constructor(private bankAccountsApplication: BankAccountsApplication) {}
@Post(':id/disconnect')
@ApiOperation({
summary: 'Disconnect the bank connection of the given bank account.',
})
@ApiResponse({
status: 200,
description: 'Bank account disconnected successfully.',
})
@ApiResponse({
status: 404,
description: 'Bank account not found.',
})
async disconnectBankAccount(@Param('id') bankAccountId: number) {
return this.bankAccountsApplication.disconnectBankAccount(bankAccountId);
}
@Post(':id/refresh')
@ApiOperation({
summary: 'Refresh the bank account transactions.',
})
@ApiResponse({
status: 200,
description: 'Bank account transactions refreshed successfully.',
})
@ApiResponse({
status: 404,
description: 'Bank account not found.',
})
async refreshBankAccount(@Param('id') bankAccountId: number) {
return this.bankAccountsApplication.refreshBankAccount(bankAccountId);
}
@Post(':id/pause')
@ApiOperation({
summary: 'Pause transactions syncing of the given bank account.',
})
@ApiResponse({
status: 200,
description: 'Bank account transactions paused successfully.',
})
@ApiResponse({
status: 404,
description: 'Bank account not found.',
})
async pauseBankAccount(@Param('id') bankAccountId: number) {
return this.bankAccountsApplication.pauseBankAccount(bankAccountId);
}
@Post(':id/resume')
@ApiOperation({
summary: 'Resume transactions syncing of the given bank account.',
})
@ApiResponse({
status: 200,
description: 'Bank account transactions resumed successfully.',
})
@ApiResponse({
status: 404,
description: 'Bank account not found.',
})
async resumeBankAccount(@Param('id') bankAccountId: number) {
return this.bankAccountsApplication.resumeBankAccount(bankAccountId);
}
}