feat: sql, migrations, sql postgress db setup, movie model

This commit is contained in:
2026-03-13 13:19:55 +01:00
parent 92295654e7
commit bf1c306ef7
14 changed files with 148 additions and 13 deletions
+22 -1
View File
@@ -41,7 +41,28 @@ func (app *application) createMovieHandler(w http.ResponseWriter, r *http.Reques
return
}
fmt.Fprintf(w, "%+v\n", input)
// Call the Insert() method on our movies model, passing in a pointer to the
// validated movie struct. This will create a record in the database and update the
// movie struct with the system-generated information.”
err = app.models.Movies.Insert(movie)
if err != nil {
app.serverErrorResponse(w, r, err)
return
}
// When sending a HTTP response, we want to include a Location header to let the
// client know which URL they can find the newly-created resource at. We make an
// empty http.Header map and then use the Set() method to add a new Location header,
// interpolating the system-generated ID for our new movie in the URL.
headers := make(http.Header)
headers.Set("Location", fmt.Sprintf("/v1/movies/%d", movie.ID))
// Write a JSON response with a 201 Created status code, the movie data in the
// response body, and the Location header.
err = app.writeJSON(w, http.StatusCreated, envelope{"movie": movie}, headers)
if err != nil {
app.serverErrorResponse(w, r, err)
}
}
func (app *application) showMovieHandler(w http.ResponseWriter, r *http.Request) {