master
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d9048db660 |
v0.1.0-dev3: Complete TPDB metadata with duplicate prevention
This release adds comprehensive metadata support and fixes the duplicate performer issue. MAJOR FIXES: ✅ Duplicate Prevention - Added UNIQUE(source, source_id) constraint to performers table - ON CONFLICT DO UPDATE in performer store - No more duplicate Riley Reid entries! ✅ Comprehensive TPDB Metadata - Extended Performer model with ALL TPDB fields - Physical: height, weight, measurements, cup size, eye/hair color - Personal: birthday, astrology, birthplace, ethnicity, nationality - Body: tattoos, piercings, boob job status - Career: start/end years, active status - Added PerformerExtras nested struct for TPDB "extras" object - Parse weight/height strings ("49kg" -> 49, "160cm" -> 160) - Handle British spelling (hair_colour, eye_colour) ✅ Enriched Import - Auto-fetch full performer details via GetPerformerByID - Search results now enriched with complete metadata - UUID + numeric TPDB ID both stored ✅ Enhanced CLI Output - Formatted display with all available stats - Height shown in cm and feet/inches - Weight shown in kg and lbs - Organized sections (IDs, Personal, Physical, Bio, Media) - Beautiful separator bars TECHNICAL DETAILS: - Schema: 25+ new performer fields with proper types - Types: PerformerExtras struct for nested TPDB response - Mapper: String parsing for "160cm", "49kg" format - Store: Full field support in Create/Search/GetByID - Display: Conditional rendering of all available data TESTING: ✅ Riley Reid import: All 25+ fields populated correctly ✅ Duplicate prevention: Second import updates existing record ✅ Broad search ("riley"): Only 2 unique performers ✅ Data accuracy: Matches theporndb.net/performers/riley-reid Database now captures: - UUID: 26d101c0-1e23-4e1f-ac12-8c30e0e2f451 - TPDB ID: 83047 - Birthday: 1991-07-09 - Height: 160cm (5'3") - Weight: 49kg (108lb) - Measurements: 32A-24-34 - All tattoos, piercings, career info, and full bio 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|
|
f7d82cd207 |
v0.1.0-dev2: Full TPDB integration with auto-fetch and comprehensive docs
Major Features: - ✅ Complete TPDB scraper implementation with real API calls - ✅ Auto-fetch on cache miss: search commands now automatically import from TPDB when not found locally - ✅ Comprehensive documentation (5 markdown files for Bookstack) - ✅ Import commands for performers, studios, and scenes - ✅ Fixed JSON type mismatches (aliases array, studio numeric IDs) Changes: 1. TPDB Scraper (internal/scraper/tpdb/): - types.go: Full API response structures with correct types - PerformerResponse.Aliases: string → []string (TPDB returns array) - StudioResponse.ID: string → int (TPDB returns numeric IDs) - SiteInfo.ID: string → int (scenes reference studios by number) - mapper.go: Maps TPDB responses to internal models - Converts aliases array to comma-separated string - Converts numeric studio IDs to strings using strconv.Itoa() - scraper.go: Real HTTP client with Bearer token auth - SearchPerformers, SearchStudios, SearchScenes implemented - GetPerformerByID, GetStudioByID, GetSceneByID implemented 2. CLI Auto-Fetch (cmd/goondex/main.go): - performer-search: Auto-fetches from TPDB if local DB empty - studio-search: Auto-fetches from TPDB if local DB empty - scene-search: Auto-fetches basic metadata (no relationships) - Graceful handling of missing TPDB_API_KEY - Import → search again to get local IDs 3. Documentation (docs/): - INDEX.md: Documentation overview and navigation - ARCHITECTURE.md: System design, data flow, component diagrams - DATABASE_SCHEMA.md: Complete schema with relationships and indexes - CLI_REFERENCE.md: All commands with examples - TPDB_INTEGRATION.md: API guide, data mapping, best practices 4. Fixes: - .gitignore: Fixed pattern to allow cmd/goondex/* and cmd/goondexd/* - README: Updated to reflect TPDB integration and auto-fetch Testing: - ✅ performer-search "Riley Reid" - auto-fetched 2 performers, cached - ✅ studio-search "Brazzers" - auto-fetched 12 studios, cached - ✅ Aliases now display correctly as comma-separated list - ✅ Studio IDs properly converted from numeric to string API Integration: - Base URL: https://api.theporndb.net - Authentication: Bearer token via TPDB_API_KEY env var - Endpoints: /performers, /sites, /scenes - Rate limiting handled with warnings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |