src/application-dashboard/application-dashboard.controller.ts
application/:applicationId/dashboard
Methods |
| Async addApplicationDashboard | |||||||||
addApplicationDashboard(applicationId: number, body: ApplicationDashboardBodyDto)
|
|||||||||
Decorators :
@Post()
|
|||||||||
|
Parameters :
Returns :
unknown
|
| Async deleteApplicationDashboard |
deleteApplicationDashboard(applicationId: number, id: number)
|
Decorators :
@Delete('/:id')
|
|
Returns :
any
|
| disableDashboard |
disableDashboard(applicationId: number, id: number)
|
Decorators :
@Patch(':id/disable')
|
|
Returns :
any
|
| enableDashboard |
enableDashboard(applicationId: number, id: number)
|
Decorators :
@Patch(':id/enable')
|
|
Returns :
any
|
| getApplicationDashboards | ||||||
getApplicationDashboards(applicationId: number)
|
||||||
Decorators :
@Get()
|
||||||
|
Parameters :
Returns :
any
|
import {
Body,
Controller,
Delete,
Get,
HttpStatus,
Param,
Patch,
Post,
} from '@nestjs/common';
import { ApiBearerAuth, ApiResponse, ApiTags } from '@nestjs/swagger';
import { ApplicationDashboardService } from './application-dashboard.service';
import { ApplicationDashboardBodyDto } from './dto/application-dashboard.dto';
import { Application } from 'src/entities/application';
@ApiTags('application/dashboard')
@ApiBearerAuth('token')
@Controller('application/:applicationId/dashboard')
export class ApplicationDashboardController {
constructor(
private readonly dashboardService: ApplicationDashboardService
) {}
@Post()
@ApiResponse({ status: HttpStatus.CREATED, type: Application })
async addApplicationDashboard(
@Param('applicationId') applicationId: number,
@Body() body: ApplicationDashboardBodyDto
) {
const id = await this.dashboardService.addDashboard(+applicationId, body)
return { id };
}
@Get()
@ApiResponse({ type: [Application] })
getApplicationDashboards(@Param('applicationId') applicationId: number) {
return this.dashboardService.getDashboardsByApplicationId(+applicationId);
}
@Patch(':id/enable')
@ApiResponse({ type: Application })
enableDashboard(
@Param('applicationId') applicationId: number,
@Param('id') id: number
) {
return this.dashboardService.enable(+applicationId, +id);
}
@Patch(':id/disable')
@ApiResponse({ type: Application })
disableDashboard(
@Param('applicationId') applicationId: number,
@Param('id') id: number
) {
return this.dashboardService.disable(+applicationId, +id);
}
@Delete('/:id')
@ApiResponse({ status: HttpStatus.OK, type: Application })
async deleteApplicationDashboard(
@Param('applicationId') applicationId: number,
@Param('id') id: number
) {
await this.dashboardService.delete(+applicationId, +id);
return;
}
}