Add simple report builder with metrics, dimensions, and user/team filters.

This commit is contained in:
2026-09-27 11:54:23 +03:30
parent a16c2f0a9b
commit 55a287563d
5 changed files with 935 additions and 11 deletions
+16 -1
View File
@@ -20,7 +20,7 @@ import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { CurrentUser } from '../auth/current-user.decorator';
import type { Actor } from '../common/record-scope';
import { SavedViewsService } from '../saved-views/saved-views.service';
import { ReportsDrilldownQueryDto, ReportsQueryDto } from './dto';
import { ReportsBuilderQueryDto, ReportsDrilldownQueryDto, ReportsQueryDto } from './dto';
import { ReportsService } from './reports.service';
class CreateReportViewDto {
@@ -80,6 +80,21 @@ export class ReportsController {
});
}
@Post('builder')
builder(
@CurrentUser() user: Actor,
@Body() dto: ReportsBuilderQueryDto,
) {
return this.reportsService.builder(user, {
metric: dto.metric,
dimension: dto.dimension,
from: dto.from,
to: dto.to,
userId: dto.userId,
teamId: dto.teamId,
});
}
@Get('home')
home(@CurrentUser() user: Actor) {
return this.reportsService.home(user);