Commit Graph

146 Commits

Author SHA1 Message Date
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
Josh Creek 0e3be214ba feat(*): Add ability to toggle origins and forms 2024-07-12 14:35:25 +01:00
Josh Creek 704e618f84 chore(*): Remove console log 2024-07-12 14:28:21 +01:00
Josh Creek 64c5f375ac fix(*): Add error handling for no pokedex entries 2024-07-12 14:25:22 +01:00
Josh Creek e512c63e0b chore(*): Re-enable service worker 2024-07-12 14:21:04 +01:00
Josh Creek e7f1930eff feat(*): Add support for catch records to My Dex page 2024-07-12 14:19:44 +01:00
Josh Creek 0e8af37309 chore(*): Disable service worker 2024-07-12 14:17:03 +01:00
Josh Creek 6aac4c5985 feat(*): Update seeding logic to handle new fields and record the last modified date 2024-07-12 14:16:30 +01:00
Josh Creek 212f674b44 feat(*): Add tsv parser to enable easily loading pokedex data 2024-07-12 14:14:24 +01:00
Amber Marie 7deb4632bc Merge pull request #40 from jcreek/35-style-the-about-page
Design About Page
2024-05-15 15:12:02 +01:00
Amber M 70f85be9b9 Replace break with paragraph 2024-05-15 15:10:26 +01:00
Amber M 24792331db Add TODO 2024-05-15 15:05:37 +01:00
Amber M d59d970812 Delete duplicate code 2024-05-15 15:04:30 +01:00
Amber M ff43601b1a Design About Page 2024-05-15 14:49:30 +01:00
Josh Creek 425d66a9ce fix(*): Disable some functionality of service worker 2024-05-13 19:32:24 +01:00
Josh Creek 4761bdf31a Merge pull request #37 from jcreek/36-style-the-landing-page
feat(#36): Style the landing page
2024-04-28 16:10:20 +01:00
Josh Creek 6a4c6d81b2 feat(#36): Style the landing page 2024-04-28 16:08:28 +01:00