find_or_create_provider_by_name() service #348

Closed
opened 2026-06-30 11:16:53 +02:00 by kincses · 2 comments
Owner

Mérföldkő: Epic 7: Marketplace & API\nCél: Új service függvény a provider_service.py-ban, ami fuzzy match alapján keres a ServiceProvider táblában (ILIKE, pg_trgm), és ha nincs találat, létrehoz egy új ServiceProvider rekordot pending státusszal.\n\n### 🔗 Függőségek (Dependencies)\n- Bemenet: ServiceProvider modell, provider_service.py\n- Kimenet: Auto-discovery hook az expenses.py-ban\n\n### 📝 Elemzés\nA függvény 3 lépésben működik: 1) Exact match (ILIKE) a ServiceProvider.name mezőn, 2) Fuzzy match trigram similarity-vel (pg_trgm), 3) Ha nincs találat, új ServiceProvider létrehozása status=pending, source=import, validation_score=0, added_by_user_id=current_user.id. Végül gamification XP award.

**Mérföldkő:** Epic 7: Marketplace & API\n**Cél:** Új service függvény a provider_service.py-ban, ami fuzzy match alapján keres a ServiceProvider táblában (ILIKE, pg_trgm), és ha nincs találat, létrehoz egy új ServiceProvider rekordot pending státusszal.\n\n### 🔗 Függőségek (Dependencies)\n- **Bemenet:** ServiceProvider modell, provider_service.py\n- **Kimenet:** Auto-discovery hook az expenses.py-ban\n\n### 📝 Elemzés\nA függvény 3 lépésben működik: 1) Exact match (ILIKE) a ServiceProvider.name mezőn, 2) Fuzzy match trigram similarity-vel (pg_trgm), 3) Ha nincs találat, új ServiceProvider létrehozása status=pending, source=import, validation_score=0, added_by_user_id=current_user.id. Végül gamification XP award.
kincses added the Status: To DoScope: BackendType: Feature labels 2026-06-30 11:16:53 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-07-01 13:36:15 +02:00
kincses started working 2026-07-01 13:36:15 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-07-01 13:36:15

▶️ **Munka megkezdve:** 2026-07-01 13:36:15
kincses added Status: Done and removed Status: In Progress labels 2026-07-01 13:43:18 +02:00
kincses worked for 7 minutes 2026-07-01 13:43:18 +02:00
Author
Owner

Munka befejezve: 2026-07-01 13:43:18

Technikai Összefoglaló:
Implemented find_or_create_provider_by_name() in provider_service.py with pg_trgm fuzzy match (similarity > 0.3), exact ILIKE match, and auto-creation with pending status, source=api_import, validation_score=0. Added gamification XP awards (PROVIDER_DISCOVERY=300, PROVIDER_CONFIRMATION=150, PROVIDER_VERIFIED_USE=100, USE_UNVERIFIED_PROVIDER=200). Fixed DB enum marketplace.source_type by adding api_import value. Installed pg_trgm extension. All tests passed.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-07-01 13:43:18 **Technikai Összefoglaló:** Implemented find_or_create_provider_by_name() in provider_service.py with pg_trgm fuzzy match (similarity > 0.3), exact ILIKE match, and auto-creation with pending status, source=api_import, validation_score=0. Added gamification XP awards (PROVIDER_DISCOVERY=300, PROVIDER_CONFIRMATION=150, PROVIDER_VERIFIED_USE=100, USE_UNVERIFIED_PROVIDER=200). Fixed DB enum marketplace.source_type by adding api_import value. Installed pg_trgm extension. All tests passed. ⏱️ *Az idő rögzítve.*
Sign in to join this conversation.