Questions and Answers
What is TypeScript?
A superset of JavaScript that adds type annotations and other features to the language
What is the purpose of using TypeScript?
To catch errors early and make code more readable
What does REST stand for?
Representational State Transfer
What does it mean for a web service to be RESTful?
Signup and view all the answers
What HTTP method is used to create a new activity?
Signup and view all the answers
What does the onClick function do if the POST request to create a new activity is unsuccessful?
Signup and view all the answers
Which HTTP method is used to update an existing activity?
Signup and view all the answers
What does the deleteActivity function do?
Signup and view all the answers
What does the onSubmit function do if the PATCH request to update an activity is successful?
Signup and view all the answers
What is the initial state of the button when the onClick function is called?
Signup and view all the answers
What data is sent in the body of the POST request to create a new activity?
Signup and view all the answers
What does the toast function do if the activity creation is successful?
Signup and view all the answers
Which tool can be used to help debug API routes?
Signup and view all the answers
What is Zod primarily used for?
Signup and view all the answers
How is Zod installed?
Signup and view all the answers
What does Zod's parse method do?
Signup and view all the answers
What feature does Iotawise use for authentication?
Signup and view all the answers
Where are the API routes for the activities feature in Iotawise located?
Signup and view all the answers
What does the GET function in /api/activities/route.ts do?
Signup and view all the answers
What is the main purpose of validation in an application?
Signup and view all the answers
What does Zod support in terms of validation?
Signup and view all the answers
What type of database does Iotawise use?
Signup and view all the answers
What is the command to import Zod for use in a project?
Signup and view all the answers
What HTTP methods can be used in RESTful APIs?
Signup and view all the answers
What keyword does Zod use for creating types that match the shape of data?
Signup and view all the answers
How are API routes created in Next.js?
Signup and view all the answers
What does the function for each HTTP verb in the API route file take?
Signup and view all the answers
Which HTTP request is used to create new resources in a RESTful API?
Signup and view all the answers
What does a GET route in Next.js do?
Signup and view all the answers
What is the purpose of a PUT request in a RESTful API?
Signup and view all the answers
What does a DELETE route in Next.js do?
Signup and view all the answers
What status code is returned for successful creation in a RESTful API?
Signup and view all the answers
When are PATCH requests used in a RESTful API?
Signup and view all the answers
What does a successful 200 status code indicate in a RESTful API?
Signup and view all the answers
What does a successful 204 status code indicate in a RESTful API?
Signup and view all the answers
What do the example code snippets demonstrate in Next.js API routes?
Signup and view all the answers
What does the provided code include functions for?
Signup and view all the answers
What happens if the request body does not match the schema in the provided code?
Signup and view all the answers
How are request bodies validated in the provided code?
Signup and view all the answers
What does the getUserActivities function do?
Signup and view all the answers
What is returned as a result of creating a new activity in the database in the provided code?
Signup and view all the answers
What type of error is thrown if the request body does not match the schema?
Signup and view all the answers
What does the PATCH function do in the provided code?
Signup and view all the answers
How are API routes consumed in the server component for fetching activities?
Signup and view all the answers
What type of objects are the results of fetching activities returned as?
Signup and view all the answers
What is the outcome if the user is not authenticated in the provided code?
Signup and view all the answers
What does the DELETE function do in the provided code?
Signup and view all the answers
What library is used for parsing and validating request bodies in the provided code?
Signup and view all the answers
Where can TypeScript be implemented?
Signup and view all the answers
In TypeScript, what can interfaces be implemented on?
Signup and view all the answers
In TypeScript, where can variable declarations be implemented?
Signup and view all the answers
Study Notes
API Route Functions and Consumption Summary
- The provided code includes functions for creating, updating, and deleting activities in an API route.
- The functions first check if the user is authenticated and return appropriate status codes if not.
- The request body is parsed and validated using the zod library and specific schemas.
- If the request body is valid, a new activity is created in the database and its ID is returned as a JSON string.
- The z.ZodError error is thrown if the request body does not match the schema, containing validation errors in the issues property.
- The PATCH and DELETE functions also follow a similar structure, including authentication checks and request context validation.
- The PATCH function updates the activity in the database based on the request body, while the DELETE function removes the activity.
- Both functions return appropriate status codes based on the outcome of the operations.
- API routes are consumed in a server component for fetching activities, using the getUserActivities function from /lib/api/activities.ts.
- The getUserActivities function accesses the database directly and fetches activities for the selected user using a raw SQL query.
- The results are returned as an array of UserActivities objects.
- The provided code demonstrates server-side rendering and direct database access for fetching activities, as well as the structure and validation of API route functions.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.