Commit Graph

162 Commits

Author SHA1 Message Date
Josh Creek 0e2d7f7792 fix(#69): Use service role key for seeding 2026-01-02 20:35:38 +00:00
Josh Creek 78c3230b92 fix(#69): Set correct urls for local supabase 2026-01-02 20:17:33 +00:00
Josh Creek 2f5c0d68be feat(#69): Improve seeding process 2026-01-02 20:17:13 +00:00
Josh Creek 073ba77dee docs(#69): Clarify getting started docs 2026-01-02 20:16:42 +00:00
Josh Creek 31eb551c8a Merge pull request #68 from jcreek/chore/migrate-from-mongodb
feat(*): Migrate from MongoDB to unified Supabase PostgreSQL architecture
2025-07-26 23:20:39 +01:00
Josh Creek 5e0e45494f chore(*): Fix remaining PR comments 2025-07-26 23:18:36 +01:00
Josh Creek 852c6c3f34 feat(*): Complete MongoDB to Supabase migration cleanup 2025-07-26 23:13:11 +01:00
Josh Creek c063e9d2cd fix(*): map all updatable fields in PokedexEntryRepository.update method 2025-07-26 22:49:21 +01:00
Josh Creek c2c8fd1fb4 refactor(*): Remove unused userId parameter from countCombinedData method 2025-07-26 22:39:25 +01:00
Josh Creek 5b7fe52dc4 Merge branch 'chore/migrate-from-mongodb' of https://github.com/jcreek/LivingDexTracker into chore/migrate-from-mongodb 2025-07-26 22:35:04 +01:00
Josh Creek 31e8a0d686 build(*): Add netlify support 2025-07-26 22:26:45 +01:00
Josh Creek 120f936eb7 Update src/lib/repositories/CatchRecordRepository.ts 2025-07-26 22:22:03 +01:00
Josh Creek 8459ecf3fe fix(*): Resolve protocol mismatch 2025-07-26 22:13:01 +01:00
Josh Creek dd31a8d040 Update supabase/config.toml 2025-07-26 22:09:35 +01:00
Josh Creek ebfe2413f0 fix(*): Pass userId prop to PokedexEntryCatchRecord component 2025-07-26 22:07:06 +01:00
Josh Creek 389f73d164 chore(*): Clean up migration artifacts and optimize data repository queries 2025-07-26 21:50:54 +01:00
Josh Creek fa38fa69ca refactor(*):Address PR comments 2025-07-26 19:42:04 +01:00
Josh Creek bc9ce84615 feat(*): Migrate from MongoDB to unified Supabase PostgreSQL architecture 2025-07-26 18:50:05 +01:00
Josh Creek 70f7bbdffc Merge pull request #65 from jcreek/55-fix-bug-where-one-users-catch-records-are-used-for-everyone
fix(#55): implement user data isolation to prevent cross-user data access
2025-07-26 16:48:26 +01:00
Josh Creek 3aa716b941 fix(#55): implement user data isolation to prevent cross-user data access
- Add server-side authentication validation for all protected API endpoints
- Create auth utility with requireAuth() function for session validation
- Update CombinedDataRepository to filter data by authenticated user ID
- Add findByUserId() method to CatchRecordRepository for user-specific queries
- Replace client-side userId parameters with server-side session extraction
- Use MongoDB aggregation with $lookup and $expr for secure user filtering
- Return 401 errors for unauthenticated requests
- Fix critical security vulnerability where users could see others' catch records

Fixes: User data isolation bug where one user's catch records were used for everyone
Security: Prevents unauthorized access to other users' Pokemon tracking data
2025-07-26 16:34:19 +01:00
Josh Creek a4269259f9 feat(#46): Move change view button to sidebar 2024-07-17 22:15:43 +01:00
Josh Creek bfde0c49f5 feat(#46): Merge boxes view into my dex page 2024-07-17 22:07:07 +01:00
Josh Creek 02a2160f08 feat(#46): Componentise the list view 2024-07-17 21:24:06 +01:00
Josh Creek 4d9d5e74d7 feat(#46): Componentise the boxes view 2024-07-17 21:11:58 +01:00
Josh Creek e4ca722de7 feat(#46): Add checkmark for pokemon in home 2024-07-17 18:52:09 +01:00
Josh Creek ad13540879 feat(#46): Add buttons to update catch records for entire boxes 2024-07-17 18:01:59 +01:00
Josh Creek 6c9ec0239c feat(#46): Add tooltip to my boxes page 2024-07-17 18:01:10 +01:00
Josh Creek 1c207455fb feat(#46): Add Tooltip component 2024-07-17 17:50:03 +01:00
Josh Creek c071dca26a build(#46): Use .env var for image base path 2024-07-17 17:49:19 +01:00
Josh Creek 8b32bca11c feat(*): Enable sprites on mydex page 2024-07-16 22:00:06 +01:00
Josh Creek 5bdf88b735 feat(#22): Add shiny toggle 2024-07-16 21:47:57 +01:00
Josh Creek f62b18b0ee feat(#22): Add sprites 2024-07-16 21:43:41 +01:00
Josh Creek 5468515d4b feat(#46): Add better box styling 2024-07-16 21:39:22 +01:00
Josh Creek 6f4847f126 feat(#46): Add color to alternate columns 2024-07-15 21:02:44 +01:00
Josh Creek 2ad7e219a2 feat(#46): Add boxes page 2024-07-15 20:49:36 +01:00
Josh Creek d3b7e7f5a9 feat(*): Enable sliding filters bar for smaller viewports 2024-07-15 19:18:37 +01:00
Josh Creek 7b5a948910 feat(*): Add sign in route with redirection to mydex 2024-07-14 21:37:24 +01:00
Josh Creek bc25ab0e38 fix(*): Fix bug returning 0 for document counts when filtering by region and game 2024-07-14 21:03:57 +01:00
Josh Creek 0285725b6d feat(*): Add ability to filter by game and region 2024-07-14 20:51:05 +01:00
Josh Creek 62c03f41eb feat(*): Add region-game mappings 2024-07-14 19:45:06 +01:00
Josh Creek 80fb0d7414 feat(*): Add clarifying copy 2024-07-14 18:42:59 +01:00
Josh Creek 1c9a9bcf8f feat(*): Add prompts for contributing 2024-07-14 18:29:43 +01:00
Josh Creek ed1ea42e50 feat(*): Enable automatic saving 2024-07-14 18:09:47 +01:00
Josh Creek 0edc7f0974 feat(*): Enable filtering to either do a forms dex or a regular dex 2024-07-14 17:47:16 +01:00
Josh Creek 7467a4425f feat(*): Update pokedex entry data structure and re-add error handling 2024-07-14 16:16:18 +01:00
Josh Creek 90f6bd6e75 feat(*): Improve layout 2024-07-14 12:08:29 +01:00
Josh Creek 953524cecf feat(*): Make mydex use combined data 2024-07-14 12:07:15 +01:00
Josh Creek 308753d2e5 feat(*): Add pokedex theming 2024-07-14 11:41:17 +01:00
Josh Creek 2cf3a03f8f feat(*): Add pagination to my dex 2024-07-12 21:33:02 +01:00
Josh Creek 8d86d93bc0 feat(*): Hide notes if there are none 2024-07-12 14:38:30 +01:00