Wave 1 — 6 parallel agents fixing P0 issues from code audit: Auth (18 services secured): - Added JWT Bearer auth + [Authorize] to all unprotected controllers - Webhook endpoints (Facebook/WhatsApp/Zalo/X) stay [AllowAnonymous] - Health checks remain public for Docker/K8s probes - Services: catalog, order, booking, fnb-engine, inventory, social, ads-manager, ads-serving, ads-billing, ads-tracking, ads-analytics, mkt-facebook, mkt-whatsapp, mkt-x, mkt-zalo, promotion Template artifacts (4 services): - mission-service: myservice_db → mission_service - mkt-facebook: Dockerfile MyService.API → FacebookService.API - mkt-whatsapp: MyServiceContext.cs → WhatsAppServiceContext.cs - promotion: UserSecretsId fixed Critical handler bugs (7 fixes): - ads-tracking: TrackPixelEventHandler now persists to DB - ads-tracking: RecordConversion endpoint exposed via controller - booking: UpdateResource now applies Name + Capacity changes - ads-manager: ListPendingAds uses correct enum (pending_review) - mining: BanMiner calls Ban() not Suspend() - mining: ResetMinerStreak now actually resets streak - mkt-x: 8 missing repository DI registrations added Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
982 B
Plaintext
41 lines
982 B
Plaintext
# Environment / Môi Trường
|
|
ASPNETCORE_ENVIRONMENT=Development
|
|
|
|
# Database / Cơ Sở Dữ Liệu
|
|
# PostgreSQL connection string (Neon or local)
|
|
DATABASE_URL=Host=localhost;Port=5432;Database=whatsapp_service;Username=postgres;Password=postgres
|
|
|
|
# Redis Cache
|
|
REDIS_URL=localhost:6379
|
|
REDIS_PASSWORD=
|
|
|
|
# JWT Authentication / Xác Thực JWT
|
|
JWT_SECRET=your-secret-key-min-32-characters-long-here
|
|
JWT_ISSUER=goodgo-platform
|
|
JWT_AUDIENCE=goodgo-services
|
|
JWT_ACCESS_TOKEN_EXPIRY_MINUTES=15
|
|
JWT_REFRESH_TOKEN_EXPIRY_DAYS=7
|
|
|
|
# API Configuration / Cấu Hình API
|
|
API_PORT=5000
|
|
API_BASE_PATH=/api/v1/whatsapp
|
|
|
|
# Observability / Quan Sát
|
|
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
|
|
OTEL_SERVICE_NAME=whatsapp-service
|
|
|
|
# Logging
|
|
LOG_LEVEL=Information
|
|
SEQ_URL=http://localhost:5341
|
|
|
|
# Feature Flags
|
|
FEATURE_SWAGGER_ENABLED=true
|
|
FEATURE_DETAILED_ERRORS=true
|
|
|
|
# Rate Limiting
|
|
RATE_LIMIT_PERMITS_PER_MINUTE=100
|
|
RATE_LIMIT_QUEUE_LIMIT=10
|
|
|
|
# Health Checks
|
|
HEALTHCHECK_TIMEOUT_SECONDS=5
|