Commit Graph

70 Commits

Author SHA1 Message Date
Maxime Delporte
ab17b9f8f1 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 41s
2025-10-31 10:48:34 +01:00
Maxime Delporte
8f047f2b4a Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 40s
2025-10-31 10:46:18 +01:00
Maxime Delporte
17a69b32be Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 38s
2025-10-31 10:42:17 +01:00
Maxime Delporte
eb0a0bb221 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 38s
2025-10-31 10:40:08 +01:00
Maxime Delporte
3476d82ada Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 39s
2025-10-31 10:35:33 +01:00
Maxime Delporte
9fdd6c117f Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 38s
2025-10-31 10:33:07 +01:00
Maxime Delporte
1c7977fd73 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 39s
2025-10-31 10:30:30 +01:00
Maxime Delporte
42461ef8fb Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 40s
2025-10-31 10:18:37 +01:00
Maxime Delporte
4f31716a22 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 40s
2025-10-31 10:17:20 +01:00
Maxime Delporte
0229af2932 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 41s
2025-10-31 10:14:05 +01:00
Maxime Delporte
e639e44d72 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 41s
2025-10-30 15:36:45 +01:00
Maxime Delporte
6e4b4c6ca4 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 38s
2025-10-30 15:35:21 +01:00
Maxime Delporte
dd259e608e Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 38s
2025-10-30 15:33:57 +01:00
Maxime Delporte
93a328c0ef Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 40s
2025-10-30 15:32:05 +01:00
Maxime Delporte
4c9d604733 Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 43s
2025-10-30 15:28:29 +01:00
Maxime Delporte
6198a930ee Updating CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 39s
2025-10-30 15:27:11 +01:00
Maxime Delporte
f96baad6a8 Updating CI.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 54s
2025-10-30 15:22:42 +01:00
Maxime Delporte
641f430fd4 Creating migrations files to create movies table and add movies check constraints. Updating API version number. Updating README.md adding 'SQL Migrations' section. Updating deployment file to make migrations before building API. Adding some .idea files into .gitignore.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 40s
2025-10-30 15:16:20 +01:00
Maxime Delporte
f72ad2aa2f Updating README.md adding 'Configuring the Database Connection Pool'. Updating main.go configurating the database connection pool with maxOpenConns, maxIdleConns and maxIdleTime values. 2025-10-30 12:13:55 +01:00
Maxime Delporte
8cdf3c7ada Adding 'github.com/lib/pq' library to use our PostgreSQL database. Updating our main.go file to establish a connection with the database pool.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 53s
2025-10-28 17:02:36 +01:00
Maxime Delporte
84741de60e Adding 'Optimizing PostgreSQL settings' sub-section.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 54s
2025-10-28 16:29:42 +01:00
Maxime Delporte
13d670c9a5 Adding .gitignore to prevent useless or private files to be pushed.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 1m14s
2025-10-28 16:03:45 +01:00
Maxime Delporte
6ef731573b Exporting the validation from cmd/api/movies.go to internal/data/movies.go by creating the ValidateMovie method. Updating createMovieHandler to use our new ValidateMovie method.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 55s
2025-10-28 12:07:04 +01:00
Maxime Delporte
e5ddfa120f Creating validator.go allowing us to validate received data from our endpoints. Updating errors.go adding failedValidationResponse method allowing us to deliver a StatusUnprocessableEntity error. Updating createMovieHandler with the use of our new validator package.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 53s
2025-10-28 11:04:18 +01:00
Maxime Delporte
040ace30ad Updating createMovieHandler accepting data.Runtime for the Runtime field. Updating internal/data/runtime.go with the json.Unmarshaler interface to transform our client's runtime string field '%d mins' into a Runtime type format.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 58s
2025-10-27 20:03:52 +01:00
Maxime Delporte
599ab6b3c6 Prevent client to send more than one JSON's object. Prevent client to send unknown fields. Prevent client to send more than 1MB of data per endpoint, preventing DDOS attacks. 2025-10-27 19:45:37 +01:00
Maxime Delporte
c3fdb40ae4 Adding more context for invalidUnmarshalError management inside readJSON function. Updating 'Panicking vs returning errors' section.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 54s
2025-10-25 09:57:41 +02:00
Maxime Delporte
6d09a4f545 Adding 'Panicking vs returning errors' section
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 55s
2025-10-25 09:52:57 +02:00
Maxime Delporte
906bd868f9 Creating badRequestResponse helper method inside errors.go and use in in the createMovieHandler.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 53s
2025-10-24 18:55:05 +02:00
Maxime Delporte
12e1c7a523 Updating createMovieHandler using helper's readJSON method.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 52s
2025-10-24 14:47:20 +02:00
Maxime Delporte
c6baa807e4 Creating readJSON method to manage errors that can happen once.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 54s
2025-10-24 14:27:46 +02:00
Maxime Delporte
b3502631c2 Creating 'Supported destinations types' and 'Triaging the Decode error' sections.
Some checks are pending
Deploy Greenlight API / deploy (push) Has started running
2025-10-24 14:27:06 +02:00
Maxime Delporte
d650691b08 Updating createMovieHandler decoding received data from client.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 58s
2025-10-24 14:02:36 +02:00
Maxime Delporte
e30eac9c4d Updating README.md adding 'System-generated error responses' and 'Panic recovery in other goroutines' sections.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 59s
2025-10-23 17:16:25 +02:00
Maxime Delporte
7057f89038 Creating recoverPanic method inside our middleware.go file and use it inside routes.go wrapping our router.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 59s
2025-10-23 14:19:53 +02:00
Maxime Delporte
2124f2f882 Using the new error's helper methods inside our current API endpoint and with our httprouter Handlers NotFound and MethodNotAllowed (will override the default responses with our helper's methods)
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 52s
2025-10-21 19:02:42 +02:00
Maxime Delporte
0f7515e198 Removing string json's parameter from Runtime variable inside Movie's struct. Creating errors.go handling different json's error for our API.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 54s
2025-10-21 18:55:45 +02:00
Maxime Delporte
bc21c4cf87 Use Runtime type instead of int32 in our Movie struct.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 54s
2025-10-21 16:29:11 +02:00
Maxime Delporte
cc588a1dc0 Adding 'Advanced JSON Customization' section in the README.md. Creating a runtime type (internal/data/runtime.go) to show how we can customize a JSON field.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 56s
2025-10-21 16:26:06 +02:00
Maxime Delporte
e7944c3117 Fixing CI.
All checks were successful
Deploy Greenlight API / deploy (push) Successful in 53s
2025-10-20 18:28:35 +02:00
Maxime Delporte
b253d7ada3 Fixing CI.
Some checks failed
Deploy Greenlight API / deploy (push) Has been cancelled
2025-10-20 15:57:18 +02:00
Maxime Delporte
85cb67de34 Fixing CI
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 51s
2025-10-20 15:54:37 +02:00
Maxime Delporte
5d93100758 Fixing CI
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 52s
2025-10-20 15:49:55 +02:00
Maxime Delporte
221d2c45df Fixing CI
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 52s
2025-10-20 15:47:30 +02:00
Maxime Delporte
67656bdcc9 Fixing CI
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 52s
2025-10-20 15:45:23 +02:00
Maxime Delporte
c17f0d6909 Fixing CI
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 1m8s
2025-10-20 15:35:16 +02:00
Maxime Delporte
c7828fe5d7 Fixing CI.
Some checks failed
Deploy Greenlight API / deploy (push) Has been cancelled
2025-10-20 15:33:53 +02:00
Maxime Delporte
f282e7943a Fixing CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 5m20s
2025-10-20 15:27:48 +02:00
Maxime Delporte
650c7fa894 Fixing CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 5m16s
2025-10-20 14:49:28 +02:00
Maxime Delporte
d482d5afb7 Fixing CI.
Some checks failed
Deploy Greenlight API / deploy (push) Failing after 7m23s
2025-10-20 14:40:21 +02:00