mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-19 22:30:31 +00:00
fix(server): premissions guard for read and write endpoints
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
Post,
|
||||
Put,
|
||||
Query,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { ManualJournalsApplication } from './ManualJournalsApplication.service';
|
||||
import {
|
||||
@@ -29,16 +30,23 @@ import {
|
||||
BulkDeleteDto,
|
||||
ValidateBulkDeleteResponseDto,
|
||||
} from '@/common/dtos/BulkDelete.dto';
|
||||
import { RequirePermission } from '@/modules/Roles/RequirePermission.decorator';
|
||||
import { PermissionGuard } from '@/modules/Roles/Permission.guard';
|
||||
import { AuthorizationGuard } from '@/modules/Roles/Authorization.guard';
|
||||
import { AbilitySubject } from '@/modules/Roles/Roles.types';
|
||||
import { ManualJournalAction } from './types/ManualJournals.types';
|
||||
|
||||
@Controller('manual-journals')
|
||||
@ApiTags('Manual Journals')
|
||||
@ApiExtraModels(ManualJournalResponseDto)
|
||||
@ApiExtraModels(ValidateBulkDeleteResponseDto)
|
||||
@ApiCommonHeaders()
|
||||
@UseGuards(AuthorizationGuard, PermissionGuard)
|
||||
export class ManualJournalsController {
|
||||
constructor(private manualJournalsApplication: ManualJournalsApplication) { }
|
||||
|
||||
@Post('validate-bulk-delete')
|
||||
@RequirePermission(ManualJournalAction.Delete, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({
|
||||
summary:
|
||||
'Validate which manual journals can be deleted and return the results.',
|
||||
@@ -60,6 +68,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Post('bulk-delete')
|
||||
@RequirePermission(ManualJournalAction.Delete, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Deletes multiple manual journals.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
@@ -75,6 +84,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Post()
|
||||
@RequirePermission(ManualJournalAction.Create, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Create a new manual journal.' })
|
||||
@ApiResponse({
|
||||
status: 201,
|
||||
@@ -86,6 +96,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Put(':id')
|
||||
@RequirePermission(ManualJournalAction.Edit, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Edit the given manual journal.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
@@ -110,6 +121,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
@RequirePermission(ManualJournalAction.Delete, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Delete the given manual journal.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
@@ -127,6 +139,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Patch(':id/publish')
|
||||
@RequirePermission(ManualJournalAction.Edit, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Publish the given manual journal.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
@@ -147,6 +160,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@RequirePermission(ManualJournalAction.View, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Retrieves the manual journal details.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
@@ -167,6 +181,7 @@ export class ManualJournalsController {
|
||||
}
|
||||
|
||||
@Get()
|
||||
@RequirePermission(ManualJournalAction.View, AbilitySubject.ManualJournal)
|
||||
@ApiOperation({ summary: 'Retrieves the manual journals paginated list.' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
|
||||
Reference in New Issue
Block a user