mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-25 12:06:39 +02:00
- Phase 2.3 Forecast: probability-Feld in PipelineStage, GET /crm/deals/forecast Endpoint - Phase 2.2 Import: ImportModule mit preview/execute/history Endpoints (CSV, XLSX, vCard) - Phase 2.4 Enrichment: EnrichmentModule mit /enrich + /settings/integrations/north-data - Contracts: ContractsModule mit CRUD + File-Upload Endpoints (Multer, max 25MB) - Migrations: 20260312_contract_files, 20260312_phase23_forecast - docker-compose.crm.yml: uploads Volume für Vertragsdokumente Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
609 B
TypeScript
24 lines
609 B
TypeScript
import { IsOptional, IsUUID, IsEnum } from 'class-validator';
|
|
import { ApiPropertyOptional } from '@nestjs/swagger';
|
|
|
|
export enum ForecastPeriod {
|
|
MONTH = 'month',
|
|
QUARTER = 'quarter',
|
|
YEAR = 'year',
|
|
}
|
|
|
|
export class ForecastQueryDto {
|
|
@ApiPropertyOptional({ format: 'uuid', description: 'Filter nach Pipeline' })
|
|
@IsOptional()
|
|
@IsUUID()
|
|
pipelineId?: string;
|
|
|
|
@ApiPropertyOptional({
|
|
enum: ForecastPeriod,
|
|
default: ForecastPeriod.QUARTER,
|
|
description: 'Zeitraum fuer den Forecast',
|
|
})
|
|
@IsOptional()
|
|
@IsEnum(ForecastPeriod)
|
|
period?: ForecastPeriod = ForecastPeriod.QUARTER;
|
|
}
|