feat(deals): Pipeline & Deal Management implementiert

Pipelines:
- CRUD mit Stage-Verwaltung
- Default Pipeline auto-create
- Konfigurierbare Stages (Name, Order, Probability, Color)
- Deal-Count & Value Stats

Deals:
- CRUD mit Filtering & Pagination
- Kanban Board View (grouped by stage)
- Move between stages
- Mark Won/Lost/Reopen
- Sales Forecast (weighted pipeline)
- Statistics (win rate, avg deal size)
- Contact & Company Relations

Task: #10 Pipeline & Deal Management
This commit is contained in:
2026-02-11 11:08:29 +00:00
parent 1725783404
commit 085b83e429
5 changed files with 1301 additions and 256 deletions

View File

@@ -160,14 +160,27 @@ app.use(async (ctx, next) => {
"DELETE /api/v1/companies/:id": "Delete company",
},
deals: {
"GET /api/v1/deals": "List deals",
"GET /api/v1/deals/pipeline": "Get pipeline view",
"GET /api/v1/deals": "List deals with filters",
"GET /api/v1/deals/stats": "Deal statistics",
"GET /api/v1/deals/forecast": "Sales forecast",
"GET /api/v1/deals/pipeline/:pipelineId": "Kanban board view",
"GET /api/v1/deals/:id": "Get deal",
"POST /api/v1/deals": "Create deal",
"PUT /api/v1/deals/:id": "Update deal",
"POST /api/v1/deals/:id/move": "Move to stage",
"POST /api/v1/deals/:id/won": "Mark as won",
"POST /api/v1/deals/:id/lost": "Mark as lost",
"POST /api/v1/deals/:id/reopen": "Reopen closed deal",
"DELETE /api/v1/deals/:id": "Delete deal",
},
pipelines: {
"GET /api/v1/pipelines": "List pipelines",
"GET /api/v1/pipelines/default": "Get/create default pipeline",
"GET /api/v1/pipelines/:id": "Get pipeline",
"POST /api/v1/pipelines": "Create pipeline",
"PUT /api/v1/pipelines/:id": "Update pipeline",
"PUT /api/v1/pipelines/:id/stages": "Update stages",
"DELETE /api/v1/pipelines/:id": "Delete pipeline",
},
activities: {
"GET /api/v1/activities": "List activities",