mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 21:00:31 +00:00
wip
This commit is contained in:
@@ -25,13 +25,53 @@ import {
|
||||
import { IManualJournalsFilter } from './types/ManualJournals.types';
|
||||
import { ManualJournalResponseDto } from './dtos/ManualJournalResponse.dto';
|
||||
import { ApiCommonHeaders } from '@/common/decorators/ApiCommonHeaders';
|
||||
import {
|
||||
BulkDeleteDto,
|
||||
ValidateBulkDeleteResponseDto,
|
||||
} from '@/common/dtos/BulkDelete.dto';
|
||||
|
||||
@Controller('manual-journals')
|
||||
@ApiTags('Manual Journals')
|
||||
@ApiExtraModels(ManualJournalResponseDto)
|
||||
@ApiExtraModels(ValidateBulkDeleteResponseDto)
|
||||
@ApiCommonHeaders()
|
||||
export class ManualJournalsController {
|
||||
constructor(private manualJournalsApplication: ManualJournalsApplication) {}
|
||||
constructor(private manualJournalsApplication: ManualJournalsApplication) { }
|
||||
|
||||
@Post('validate-bulk-delete')
|
||||
@ApiOperation({
|
||||
summary:
|
||||
'Validate which manual journals can be deleted and return the results.',
|
||||
})
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description:
|
||||
'Validation completed with counts and IDs of deletable and non-deletable manual journals.',
|
||||
schema: {
|
||||
$ref: getSchemaPath(ValidateBulkDeleteResponseDto),
|
||||
},
|
||||
})
|
||||
public validateBulkDeleteManualJournals(
|
||||
@Body() bulkDeleteDto: BulkDeleteDto,
|
||||
): Promise<ValidateBulkDeleteResponseDto> {
|
||||
return this.manualJournalsApplication.validateBulkDeleteManualJournals(
|
||||
bulkDeleteDto.ids,
|
||||
);
|
||||
}
|
||||
|
||||
@Post('bulk-delete')
|
||||
@ApiOperation({ summary: 'Deletes multiple manual journals.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description: 'Manual journals deleted successfully',
|
||||
})
|
||||
public bulkDeleteManualJournals(
|
||||
@Body() bulkDeleteDto: BulkDeleteDto,
|
||||
): Promise<void> {
|
||||
return this.manualJournalsApplication.bulkDeleteManualJournals(
|
||||
bulkDeleteDto.ids,
|
||||
);
|
||||
}
|
||||
|
||||
@Post()
|
||||
@ApiOperation({ summary: 'Create a new manual journal.' })
|
||||
|
||||
@@ -19,6 +19,8 @@ import { ManualJournalsExportable } from './commands/ManualJournalExportable';
|
||||
import { ManualJournalImportable } from './commands/ManualJournalsImport';
|
||||
import { GetManualJournals } from './queries/GetManualJournals.service';
|
||||
import { DynamicListModule } from '../DynamicListing/DynamicList.module';
|
||||
import { BulkDeleteManualJournalsService } from './BulkDeleteManualJournals.service';
|
||||
import { ValidateBulkDeleteManualJournalsService } from './ValidateBulkDeleteManualJournals.service';
|
||||
|
||||
@Module({
|
||||
imports: [BranchesModule, LedgerModule, DynamicListModule],
|
||||
@@ -41,6 +43,8 @@ import { DynamicListModule } from '../DynamicListing/DynamicList.module';
|
||||
ManualJournalWriteGLSubscriber,
|
||||
ManualJournalsExportable,
|
||||
ManualJournalImportable,
|
||||
BulkDeleteManualJournalsService,
|
||||
ValidateBulkDeleteManualJournalsService,
|
||||
],
|
||||
exports: [ManualJournalsExportable, ManualJournalImportable],
|
||||
})
|
||||
|
||||
@@ -10,6 +10,8 @@ import {
|
||||
EditManualJournalDto,
|
||||
} from './dtos/ManualJournal.dto';
|
||||
import { GetManualJournals } from './queries/GetManualJournals.service';
|
||||
import { BulkDeleteManualJournalsService } from './BulkDeleteManualJournals.service';
|
||||
import { ValidateBulkDeleteManualJournalsService } from './ValidateBulkDeleteManualJournals.service';
|
||||
// import { GetManualJournals } from './queries/GetManualJournals';
|
||||
|
||||
@Injectable()
|
||||
@@ -21,6 +23,8 @@ export class ManualJournalsApplication {
|
||||
private publishManualJournalService: PublishManualJournal,
|
||||
private getManualJournalService: GetManualJournal,
|
||||
private getManualJournalsService: GetManualJournals,
|
||||
private bulkDeleteManualJournalsService: BulkDeleteManualJournalsService,
|
||||
private validateBulkDeleteManualJournalsService: ValidateBulkDeleteManualJournalsService,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@@ -57,6 +61,26 @@ export class ManualJournalsApplication {
|
||||
return this.deleteManualJournalService.deleteManualJournal(manualJournalId);
|
||||
};
|
||||
|
||||
/**
|
||||
* Bulk deletes manual journals.
|
||||
* @param {number[]} manualJournalIds
|
||||
*/
|
||||
public bulkDeleteManualJournals = (manualJournalIds: number[]) => {
|
||||
return this.bulkDeleteManualJournalsService.bulkDeleteManualJournals(
|
||||
manualJournalIds,
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Validates which manual journals can be deleted.
|
||||
* @param {number[]} manualJournalIds
|
||||
*/
|
||||
public validateBulkDeleteManualJournals = (manualJournalIds: number[]) => {
|
||||
return this.validateBulkDeleteManualJournalsService.validateBulkDeleteManualJournals(
|
||||
manualJournalIds,
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Publish the given manual journal.
|
||||
* @param {number} manualJournalId - Manual journal id.
|
||||
|
||||
Reference in New Issue
Block a user