File

src/application-dashboard/application-dashboard.controller.ts

Prefix

application/:applicationId/dashboard

Index

Methods

Methods

Async addApplicationDashboard
addApplicationDashboard(applicationId: number, body: ApplicationDashboardBodyDto)
Decorators :
@Post()
@ApiResponse({status: undefined, type: Application})
Parameters :
Name Type Optional
applicationId number No
body ApplicationDashboardBodyDto No
Returns : unknown
Async deleteApplicationDashboard
deleteApplicationDashboard(applicationId: number, id: number)
Decorators :
@Delete('/:id')
@ApiResponse({status: undefined, type: Application})
Parameters :
Name Type Optional
applicationId number No
id number No
Returns : any
disableDashboard
disableDashboard(applicationId: number, id: number)
Decorators :
@Patch(':id/disable')
@ApiResponse({type: Application})
Parameters :
Name Type Optional
applicationId number No
id number No
Returns : any
enableDashboard
enableDashboard(applicationId: number, id: number)
Decorators :
@Patch(':id/enable')
@ApiResponse({type: Application})
Parameters :
Name Type Optional
applicationId number No
id number No
Returns : any
getApplicationDashboards
getApplicationDashboards(applicationId: number)
Decorators :
@Get()
@ApiResponse({type: undefined})
Parameters :
Name Type Optional
applicationId number No
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;
  }
}

results matching ""

    No results matching ""