mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 20:30:33 +00:00
wip
This commit is contained in:
@@ -18,6 +18,8 @@ import {
|
||||
} from './dtos/PaymentReceived.dto';
|
||||
import { PaymentsReceivedPagesService } from './queries/PaymentsReceivedPages.service';
|
||||
import { GetPaymentReceivedMailState } from './queries/GetPaymentReceivedMailState.service';
|
||||
import { BulkDeletePaymentReceivedService } from './BulkDeletePaymentReceived.service';
|
||||
import { ValidateBulkDeletePaymentReceivedService } from './ValidateBulkDeletePaymentReceived.service';
|
||||
|
||||
@Injectable()
|
||||
export class PaymentReceivesApplication {
|
||||
@@ -33,7 +35,9 @@ export class PaymentReceivesApplication {
|
||||
private getPaymentReceivePdfService: GetPaymentReceivedPdfService,
|
||||
private getPaymentReceivedStateService: GetPaymentReceivedStateService,
|
||||
private paymentsReceivedPagesService: PaymentsReceivedPagesService,
|
||||
) {}
|
||||
private bulkDeletePaymentReceivedService: BulkDeletePaymentReceivedService,
|
||||
private validateBulkDeletePaymentReceivedService: ValidateBulkDeletePaymentReceivedService,
|
||||
) { }
|
||||
|
||||
/**
|
||||
* Creates a new payment receive.
|
||||
@@ -73,6 +77,25 @@ export class PaymentReceivesApplication {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes multiple payment receives.
|
||||
* @param {number[]} paymentReceiveIds
|
||||
*/
|
||||
public bulkDeletePaymentReceives(paymentReceiveIds: number[]) {
|
||||
return this.bulkDeletePaymentReceivedService.bulkDeletePaymentReceived(
|
||||
paymentReceiveIds,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates which payment receives can be deleted.
|
||||
* @param {number[]} paymentReceiveIds
|
||||
*/
|
||||
public validateBulkDeletePaymentReceives(paymentReceiveIds: number[]) {
|
||||
return this.validateBulkDeletePaymentReceivedService
|
||||
.validateBulkDeletePaymentReceived(paymentReceiveIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve payment receives paginated and filterable.
|
||||
* @param {number} tenantId
|
||||
|
||||
@@ -32,15 +32,20 @@ import { PaymentReceivedResponseDto } from './dtos/PaymentReceivedResponse.dto';
|
||||
import { PaginatedResponseDto } from '@/common/dtos/PaginatedResults.dto';
|
||||
import { PaymentReceivedStateResponseDto } from './dtos/PaymentReceivedStateResponse.dto';
|
||||
import { ApiCommonHeaders } from '@/common/decorators/ApiCommonHeaders';
|
||||
import {
|
||||
BulkDeleteDto,
|
||||
ValidateBulkDeleteResponseDto,
|
||||
} from '@/common/dtos/BulkDelete.dto';
|
||||
|
||||
@Controller('payments-received')
|
||||
@ApiTags('Payments Received')
|
||||
@ApiExtraModels(PaymentReceivedResponseDto)
|
||||
@ApiExtraModels(PaginatedResponseDto)
|
||||
@ApiExtraModels(PaymentReceivedStateResponseDto)
|
||||
@ApiExtraModels(ValidateBulkDeleteResponseDto)
|
||||
@ApiCommonHeaders()
|
||||
export class PaymentReceivesController {
|
||||
constructor(private paymentReceivesApplication: PaymentReceivesApplication) {}
|
||||
constructor(private paymentReceivesApplication: PaymentReceivesApplication) { }
|
||||
|
||||
@Post(':id/mail')
|
||||
@HttpCode(200)
|
||||
@@ -143,6 +148,39 @@ export class PaymentReceivesController {
|
||||
return this.paymentReceivesApplication.getPaymentsReceived(filterDTO);
|
||||
}
|
||||
|
||||
@Post('validate-bulk-delete')
|
||||
@ApiOperation({
|
||||
summary:
|
||||
'Validates which payments received can be deleted and returns the results.',
|
||||
})
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description:
|
||||
'Validation completed with counts and IDs of deletable and non-deletable payments received.',
|
||||
schema: {
|
||||
$ref: getSchemaPath(ValidateBulkDeleteResponseDto),
|
||||
},
|
||||
})
|
||||
public validateBulkDeletePaymentsReceived(
|
||||
@Body() bulkDeleteDto: BulkDeleteDto,
|
||||
): Promise<ValidateBulkDeleteResponseDto> {
|
||||
return this.paymentReceivesApplication.validateBulkDeletePaymentReceives(
|
||||
bulkDeleteDto.ids,
|
||||
);
|
||||
}
|
||||
|
||||
@Post('bulk-delete')
|
||||
@ApiOperation({ summary: 'Deletes multiple payments received.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description: 'Payments received deleted successfully.',
|
||||
})
|
||||
public bulkDeletePaymentsReceived(@Body() bulkDeleteDto: BulkDeleteDto) {
|
||||
return this.paymentReceivesApplication.bulkDeletePaymentReceives(
|
||||
bulkDeleteDto.ids,
|
||||
);
|
||||
}
|
||||
|
||||
@Get('state')
|
||||
@ApiOperation({ summary: 'Retrieves the payment received state.' })
|
||||
@ApiResponse({
|
||||
|
||||
@@ -39,6 +39,8 @@ import { PaymentsReceivedImportable } from './commands/PaymentsReceivedImportabl
|
||||
import { PaymentsReceivedPagesService } from './queries/PaymentsReceivedPages.service';
|
||||
import { GetPaymentReceivedMailTemplate } from './queries/GetPaymentReceivedMailTemplate.service';
|
||||
import { GetPaymentReceivedMailState } from './queries/GetPaymentReceivedMailState.service';
|
||||
import { BulkDeletePaymentReceivedService } from './BulkDeletePaymentReceived.service';
|
||||
import { ValidateBulkDeletePaymentReceivedService } from './ValidateBulkDeletePaymentReceived.service';
|
||||
|
||||
@Module({
|
||||
controllers: [PaymentReceivesController],
|
||||
@@ -68,7 +70,9 @@ import { GetPaymentReceivedMailState } from './queries/GetPaymentReceivedMailSta
|
||||
PaymentsReceivedImportable,
|
||||
PaymentsReceivedPagesService,
|
||||
GetPaymentReceivedMailTemplate,
|
||||
GetPaymentReceivedMailState
|
||||
GetPaymentReceivedMailState,
|
||||
BulkDeletePaymentReceivedService,
|
||||
ValidateBulkDeletePaymentReceivedService,
|
||||
],
|
||||
exports: [
|
||||
PaymentReceivesApplication,
|
||||
@@ -76,7 +80,7 @@ import { GetPaymentReceivedMailState } from './queries/GetPaymentReceivedMailSta
|
||||
PaymentReceivedGLEntries,
|
||||
PaymentsReceivedExportable,
|
||||
PaymentsReceivedImportable,
|
||||
PaymentReceivedValidators
|
||||
PaymentReceivedValidators,
|
||||
],
|
||||
imports: [
|
||||
ChromiumlyTenancyModule,
|
||||
|
||||
Reference in New Issue
Block a user