F4: remove obsolete survey campaigns controller

This commit is contained in:
2026-09-07 23:15:02 -03:00
parent 830addb7b5
commit 3e2b021943
@@ -1,131 +0,0 @@
import {
Body,
Controller,
Get,
Param,
ParseUUIDPipe,
Patch,
Post,
Put,
Query,
Req,
} from '@nestjs/common';
import { CurrentAuth } from '../auth/decorators/current-auth.decorator';
import { RequirePermissions } from '../authorization/decorators/require-permissions.decorator';
import type {
AuthPrincipal,
RequestWithContext,
} from '../common/http/request-context';
import { AddSurveyTargetDto } from './dto/add-survey-target.dto';
import { AssignSurveyTargetDto } from './dto/assign-survey-target.dto';
import { ChangeSurveyCampaignStatusDto } from './dto/change-survey-campaign-status.dto';
import { ChangeSurveyTargetStatusDto } from './dto/change-survey-target-status.dto';
import { CreateSurveyCampaignDto } from './dto/create-survey-campaign.dto';
import { ListSurveyCampaignsQueryDto } from './dto/list-survey-campaigns-query.dto';
import { UpdateSurveyCampaignDto } from './dto/update-survey-campaign.dto';
import { UpdateSurveyTargetDto } from './dto/update-survey-target.dto';
import { SurveyPlanningService } from './survey-planning.service';
@Controller('survey-campaigns')
export class SurveyCampaignsController {
constructor(private readonly planning: SurveyPlanningService) {}
@Get()
@RequirePermissions('surveys.read')
list(@Query() query: ListSurveyCampaignsQueryDto) {
return this.planning.list(query);
}
@Get('assignees')
@RequirePermissions('surveys.assign')
assignees() {
return this.planning.listAssignees();
}
@Post()
@RequirePermissions('surveys.manage')
create(
@Body() dto: CreateSurveyCampaignDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.create(dto, principal, request);
}
@Get(':id')
@RequirePermissions('surveys.read')
get(@Param('id', new ParseUUIDPipe({ version: '4' })) id: string) {
return this.planning.getById(id);
}
@Patch(':id')
@RequirePermissions('surveys.manage')
update(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: UpdateSurveyCampaignDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.update(id, dto, principal, request);
}
@Put(':id/status')
@RequirePermissions('surveys.manage')
changeStatus(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: ChangeSurveyCampaignStatusDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.changeCampaignStatus(id, dto, principal, request);
}
@Post(':id/targets')
@RequirePermissions('surveys.manage')
addTarget(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: AddSurveyTargetDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.addTarget(id, dto, principal, request);
}
}
@Controller('survey-campaign-targets')
export class SurveyCampaignTargetsController {
constructor(private readonly planning: SurveyPlanningService) {}
@Patch(':id')
@RequirePermissions('surveys.manage')
update(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: UpdateSurveyTargetDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.updateTarget(id, dto, principal, request);
}
@Put(':id/assignment')
@RequirePermissions('surveys.assign')
assign(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: AssignSurveyTargetDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.assignTarget(id, dto, principal, request);
}
@Put(':id/status')
@RequirePermissions('surveys.execute')
changeStatus(
@Param('id', new ParseUUIDPipe({ version: '4' })) id: string,
@Body() dto: ChangeSurveyTargetStatusDto,
@CurrentAuth() principal: AuthPrincipal,
@Req() request: RequestWithContext,
) {
return this.planning.changeTargetStatus(id, dto, principal, request);
}
}