feat(api): public API v1 katalog endpoint'leri

- GET /v1/vehicles/:vehicleId/categories — kategori ağacı (rollup parça sayılı)
- GET /v1/vehicles/:vehicleId/categories/:categoryId — kategori detayı + parça
  listesi + şema görselleri (lazy drill/heal aynen çalışır)
- GET /v1/vehicles/:vehicleId/search?q= — araç kataloğunda serbest arama
Hepsi gezinme sayılır, decode kotasından düşmez; Swagger anotasyonlu.
Dashboard'daki kuralla aynı: decode edilmiş araçlar paylaşımlı, varlık
kontrolü 404 için.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 17:25:38 +03:00
parent 06f247beb7
commit 773e9c35fa
2 changed files with 77 additions and 2 deletions

View File

@@ -1,4 +1,5 @@
import { Module } from "@nestjs/common";
import { CategoriesModule } from "../categories/categories.module";
import { ApiKeyGuard } from "../common/guards/api-key.guard";
import { PModule } from "../integrations/p/p.module";
import { VehiclesModule } from "../vehicles/vehicles.module";
@@ -10,7 +11,7 @@ import { PublicApiController } from "./public-api.controller";
* apiKey plugin'i + ApiKeyGuard; iç servisler aynen yeniden kullanılır.
*/
@Module({
imports: [VehiclesModule, PModule],
imports: [VehiclesModule, CategoriesModule, PModule],
controllers: [PublicApiController],
providers: [ApiKeyGuard, PublicApiQuotaService],
})