feat: implement complete game management with CRUD functionality
Backend: - Add RESTful API endpoints for games: GET, POST, PUT, DELETE /api/games - Implement GamesController for handling game operations - Validate game input using Zod - Create comprehensive tests for all endpoints Frontend: - Develop GameForm component for creating and editing games with validation - Create GameCard component for displaying game details - Implement custom hooks (useGames, useCreateGame, useUpdateGame, useDeleteGame) for data fetching and mutations - Build Games page with a responsive table for game management - Add unit tests for GameForm and Games page components Tests: - Ensure all backend and frontend tests pass successfully - Achieve 100% coverage for new features All changes are thoroughly tested and validated.
This commit is contained in:
56
yarn.lock
56
yarn.lock
@@ -676,6 +676,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fastify/busboy@npm:^2.0.0":
|
||||
version: 2.1.1
|
||||
resolution: "@fastify/busboy@npm:2.1.1"
|
||||
checksum: 10c0/6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fastify/busboy@npm:^3.0.0":
|
||||
version: 3.2.0
|
||||
resolution: "@fastify/busboy@npm:3.2.0"
|
||||
@@ -766,6 +773,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@hookform/resolvers@npm:^3.3.0":
|
||||
version: 3.10.0
|
||||
resolution: "@hookform/resolvers@npm:3.10.0"
|
||||
peerDependencies:
|
||||
react-hook-form: ^7.0.0
|
||||
checksum: 10c0/7ee44533b4cdc28c4fa2a94894c735411e5a1f830f4a617c580533321a9b901df0cc8c1e2fad81ad8d55154ebc5cb844cf9c116a3148ffae2bc48758c33cbb8e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanfs/core@npm:^0.19.1":
|
||||
version: 0.19.1
|
||||
resolution: "@humanfs/core@npm:0.19.1"
|
||||
@@ -1323,6 +1339,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@testing-library/user-event@npm:^14.5.0":
|
||||
version: 14.6.1
|
||||
resolution: "@testing-library/user-event@npm:14.6.1"
|
||||
peerDependencies:
|
||||
"@testing-library/dom": ">=7.21.4"
|
||||
checksum: 10c0/75fea130a52bf320d35d46ed54f3eec77e71a56911b8b69a3fe29497b0b9947b2dc80d30f04054ad4ce7f577856ae3e5397ea7dff0ef14944d3909784c7a93fe
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tootallnate/once@npm:2":
|
||||
version: 2.0.0
|
||||
resolution: "@tootallnate/once@npm:2.0.0"
|
||||
@@ -5393,7 +5418,9 @@ __metadata:
|
||||
prisma: "npm:6.19.2"
|
||||
ts-node-dev: "npm:^2.0.0"
|
||||
typescript: "npm:^5.2.0"
|
||||
undici: "npm:^5.18.0"
|
||||
vitest: "npm:^0.31.0"
|
||||
zod: "npm:^3.22.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@@ -5401,9 +5428,11 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "quasar-frontend@workspace:frontend"
|
||||
dependencies:
|
||||
"@hookform/resolvers": "npm:^3.3.0"
|
||||
"@tanstack/react-query": "npm:^4.34.0"
|
||||
"@testing-library/jest-dom": "npm:^6.0.0"
|
||||
"@testing-library/react": "npm:^14.0.0"
|
||||
"@testing-library/user-event": "npm:^14.5.0"
|
||||
"@types/react": "npm:^18.2.21"
|
||||
"@types/react-dom": "npm:^18.2.7"
|
||||
"@vitejs/plugin-react": "npm:^4.0.0"
|
||||
@@ -5412,10 +5441,12 @@ __metadata:
|
||||
postcss: "npm:^8.4.24"
|
||||
react: "npm:^18.2.0"
|
||||
react-dom: "npm:^18.2.0"
|
||||
react-hook-form: "npm:^7.48.0"
|
||||
tailwindcss: "npm:^3.4.7"
|
||||
typescript: "npm:^5.2.2"
|
||||
vite: "npm:^5.1.0"
|
||||
vitest: "npm:^0.34.1"
|
||||
zod: "npm:^3.22.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@@ -5479,6 +5510,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-hook-form@npm:^7.48.0":
|
||||
version: 7.71.1
|
||||
resolution: "react-hook-form@npm:7.71.1"
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17 || ^18 || ^19
|
||||
checksum: 10c0/6c8fc0fa740d299481de3ed32bae98f7c6331240822c602363e5cd221746d875dc3c5e65d0039902b7f7a44dc9ac9a4932e00e9ad9af3051bed1987858ce78c7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-is@npm:^17.0.1":
|
||||
version: 17.0.2
|
||||
resolution: "react-is@npm:17.0.2"
|
||||
@@ -6558,6 +6598,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"undici@npm:^5.18.0":
|
||||
version: 5.29.0
|
||||
resolution: "undici@npm:5.29.0"
|
||||
dependencies:
|
||||
"@fastify/busboy": "npm:^2.0.0"
|
||||
checksum: 10c0/e4e4d631ca54ee0ad82d2e90e7798fa00a106e27e6c880687e445cc2f13b4bc87c5eba2a88c266c3eecffb18f26e227b778412da74a23acc374fca7caccec49b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"unique-filename@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "unique-filename@npm:5.0.0"
|
||||
@@ -7089,3 +7138,10 @@ __metadata:
|
||||
checksum: 10c0/36d4793e9cf7060f9da543baf67c55e354f4862c8d3d34de1a1b1d7c382d44171315cc54abf84d8900b8113d742b830108a1434f4898fb244f9b7e8426d4b8f5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"zod@npm:^3.22.0":
|
||||
version: 3.25.76
|
||||
resolution: "zod@npm:3.25.76"
|
||||
checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
Reference in New Issue
Block a user