11import Fastify from "fastify" ;
22import cors from "@fastify/cors" ;
3+ import { v4 as uuidv4 } from "uuid" ;
34
45const fastify = Fastify ( {
56 logger : false ,
@@ -16,7 +17,7 @@ fastify.get("/todos", (request, reply) => {
1617// Get a single todo by ID
1718fastify . get ( "/todos/:id" , ( request , reply ) => {
1819 const { id } = request . params ;
19- const todo = todos . find ( ( todo ) => todo . id === parseInt ( id ) ) ;
20+ const todo = todos . find ( ( todo ) => todo . id === id ) ;
2021 if ( todo ) {
2122 reply . send ( todo ) ;
2223 } else {
@@ -27,7 +28,7 @@ fastify.get("/todos/:id", (request, reply) => {
2728fastify . post ( "/todos" , ( request , reply ) => {
2829 const { title } = request . body ;
2930 const newTodo = {
30- id : todos . length + 1 ,
31+ id : uuidv4 ( ) ,
3132 title,
3233 completed : false ,
3334 } ;
@@ -39,7 +40,7 @@ fastify.post("/todos", (request, reply) => {
3940fastify . put ( "/todos/:id" , ( request , reply ) => {
4041 const { id } = request . params ;
4142 const { title, completed } = request . body ;
42- const todo = todos . find ( ( todo ) => todo . id === parseInt ( id ) ) ;
43+ const todo = todos . find ( ( todo ) => todo . id === id ) ;
4344 if ( todo ) {
4445 todo . title = title !== undefined ? title : todo . title ;
4546 todo . completed = completed !== undefined ? completed : todo . completed ;
@@ -52,7 +53,7 @@ fastify.put("/todos/:id", (request, reply) => {
5253// Delete a todo
5354fastify . delete ( "/todos/:id" , ( request , reply ) => {
5455 const { id } = request . params ;
55- todos = todos . filter ( ( todo ) => todo . id !== parseInt ( id ) ) ;
56+ todos = todos . filter ( ( todo ) => todo . id !== id ) ;
5657 reply . status ( 204 ) . send ( ) ;
5758} ) ;
5859
0 commit comments