File size: 965 Bytes
af69a75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import {
  Controller,
  Get,
  Query,
  UseGuards,
} from '@nestjs/common';
import { AdminService } from './admin.service';
import { AdminAuthGuard } from './admin-auth.guard';

@Controller('admin')
@UseGuards(AdminAuthGuard)
export class AdminController {
  constructor(private readonly adminService: AdminService) {}

  @Get('dashboard')
  obterDashboard(
    @Query('range') rangeRaw?: string,
    @Query('dias') diasRaw?: string,
    @Query('horas') horasRaw?: string,
  ) {
    const dias = Number.parseInt((diasRaw || '').trim(), 10);
    const horas = Number.parseInt((horasRaw || '').trim(), 10);
    const rangeNormalizado = (rangeRaw || '').trim();
    const range =
      rangeNormalizado
      || (Number.isFinite(dias) || Number.isFinite(horas) ? 'custom' : '30d');

    return this.adminService.obterDashboard({
      range,
      dias: Number.isFinite(dias) ? dias : undefined,
      horas: Number.isFinite(horas) ? horas : undefined,
    });
  }
}