Maxime Delporte
|
5413312875
|
Adding a query timeout.
|
2025-11-10 16:45:42 +01:00 |
|
Maxime Delporte
|
fd3bca1226
|
Adding a check on the X-Expected-Version header field.
Deploy Greenlight API / deploy (push) Successful in 1m0s
|
2025-11-10 10:21:14 +01:00 |
|
Maxime Delporte
|
f8f78c3eec
|
Adding concurrency control in our updateMovieHandler and documenting it.
Deploy Greenlight API / deploy (push) Successful in 57s
|
2025-11-08 10:41:44 +01:00 |
|
Maxime Delporte
|
b76496e096
|
Updating updateMovieHandler to be able to update only some fields (patch instead of put). Update routes with the correct verb.
Deploy Greenlight API / deploy (push) Successful in 1m20s
|
2025-11-07 11:57:04 +01:00 |
|
Maxime Delporte
|
1270a3bda6
|
Updating MovieModel's Delete method from internal/data/movies.go file. Create the deleteMovieHandler function inside cmd/api/movies.go. Adding the route into routes.go to delete a movie.
|
2025-11-07 11:37:19 +01:00 |
|
Maxime Delporte
|
69651c58b7
|
Updating MovieModel's method from internal/data/movies.go file. Create the updateMovieHandler function inside cmd/api/movies.go. Adding the route into routes.go to update a movie.
|
2025-11-07 11:27:45 +01:00 |
|
Maxime Delporte
|
490c3174ca
|
Adding 'Why not use an unsigned integer for the movie ID?' sub-section.
|
2025-11-07 11:06:35 +01:00 |
|
Maxime Delporte
|
0824a127b9
|
Updating internal/data/movies.go to Get a movie from the database. Updating cmd/api/movies.go showMovieHandler method to fetch a movie from a request (using the MovieModel's Get method).
|
2025-11-07 10:58:58 +01:00 |
|
Maxime Delporte
|
0653a46101
|
Adding ' notation' and 'Executing multiple statements' sub-sections.
|
2025-11-07 10:47:15 +01:00 |
|
Maxime Delporte
|
19a844ea2e
|
Updating Insert MovieModel's method inserting a new record in the movies table. Updating createMovieHandler to use Insert MovieModel's method.
Deploy Greenlight API / deploy (push) Successful in 1m0s
|
2025-11-06 17:10:33 +01:00 |
|
Maxime Delporte
|
1a658d3063
|
Updating movies.go with MovieModel: this struct is the gateway between our app and the database. Adding CRUD methods alongside for the Movie object. Creating models.go: this file holds a Models struct wrapping all of our Models. This way, we are able to use in our application struct in our main.go.
|
2025-11-06 10:41:12 +01:00 |
|
Maxime Delporte
|
0874a6aac4
|
Adding 'Remote migration files' sub-section.
|
2025-11-06 10:17:12 +01:00 |
|
Maxime Delporte
|
6997490335
|
Adding 'Fixing errors in SQL migrations' sub-section.
|
2025-11-06 10:14:02 +01:00 |
|
Maxime Delporte
|
ece88f7e71
|
Creating 'Migrating to a specific version' and 'Executing down migrations' sub sections.
Deploy Greenlight API / deploy (push) Successful in 1m0s
|
2025-11-03 17:57:51 +01:00 |
|
Maxime Delporte
|
4b42c5edfc
|
Updating 'Executing the migrations' sub-section.
Deploy Greenlight API / deploy (push) Successful in 1m16s
|
2025-11-03 17:39:46 +01:00 |
|
Maxime Delporte
|
a5025cd98e
|
Updating CI.
Deploy Greenlight API / deploy (push) Successful in 55s
|
2025-10-31 12:12:57 +01:00 |
|
Maxime Delporte
|
72508f9bdb
|
Fix typo.
Deploy Greenlight API / deploy (push) Successful in 56s
|
2025-10-31 12:07:27 +01:00 |
|
Maxime Delporte
|
10ea699625
|
Adding 'Executing the migrations' subsection into README.md. Adding log messages on deploy.yml.
Deploy Greenlight API / deploy (push) Successful in 55s
|
2025-10-31 12:05:53 +01:00 |
|
Maxime Delporte
|
80800b214c
|
Updating CI.
Deploy Greenlight API / deploy (push) Successful in 54s
|
2025-10-31 10:49:50 +01:00 |
|
Maxime Delporte
|
ab17b9f8f1
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 41s
|
2025-10-31 10:48:34 +01:00 |
|
Maxime Delporte
|
8f047f2b4a
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 40s
|
2025-10-31 10:46:18 +01:00 |
|
Maxime Delporte
|
17a69b32be
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 38s
|
2025-10-31 10:42:17 +01:00 |
|
Maxime Delporte
|
eb0a0bb221
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 38s
|
2025-10-31 10:40:08 +01:00 |
|
Maxime Delporte
|
3476d82ada
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 39s
|
2025-10-31 10:35:33 +01:00 |
|
Maxime Delporte
|
9fdd6c117f
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 38s
|
2025-10-31 10:33:07 +01:00 |
|
Maxime Delporte
|
1c7977fd73
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 39s
|
2025-10-31 10:30:30 +01:00 |
|
Maxime Delporte
|
42461ef8fb
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 40s
|
2025-10-31 10:18:37 +01:00 |
|
Maxime Delporte
|
4f31716a22
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 40s
|
2025-10-31 10:17:20 +01:00 |
|
Maxime Delporte
|
0229af2932
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 41s
|
2025-10-31 10:14:05 +01:00 |
|
Maxime Delporte
|
e639e44d72
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 41s
|
2025-10-30 15:36:45 +01:00 |
|
Maxime Delporte
|
6e4b4c6ca4
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 38s
|
2025-10-30 15:35:21 +01:00 |
|
Maxime Delporte
|
dd259e608e
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 38s
|
2025-10-30 15:33:57 +01:00 |
|
Maxime Delporte
|
93a328c0ef
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 40s
|
2025-10-30 15:32:05 +01:00 |
|
Maxime Delporte
|
4c9d604733
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 43s
|
2025-10-30 15:28:29 +01:00 |
|
Maxime Delporte
|
6198a930ee
|
Updating CI.
Deploy Greenlight API / deploy (push) Failing after 39s
|
2025-10-30 15:27:11 +01:00 |
|
Maxime Delporte
|
f96baad6a8
|
Updating CI.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
Deploy Greenlight API / deploy (push) Successful in 54s
|
2025-10-24 14:27:46 +02:00 |
|