This commit is contained in:
lbenedar
2026-03-18 14:26:45 +03:00
parent ce8dfb1522
commit 985340c557

View File

@@ -1,6 +1,7 @@
package data package data
import ( import (
"context"
"database/sql" "database/sql"
"errors" "errors"
"time" "time"
@@ -30,7 +31,11 @@ func (m MovieModel) Insert(movie *Movie) error {
RETURNING id, created_at, version` RETURNING id, created_at, version`
args := []any{movie.Title, movie.Year, movie.Runtime, pq.Array(movie.Genres)} args := []any{movie.Title, movie.Year, movie.Runtime, pq.Array(movie.Genres)}
return m.DB.QueryRow(query, args...).Scan(&movie.ID, &movie.CreatedAt, &movie.Version)
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
return m.DB.QueryRowContext(ctx, query, args...).Scan(&movie.ID, &movie.CreatedAt, &movie.Version)
} }
func (m MovieModel) Get(id int64) (*Movie, error) { func (m MovieModel) Get(id int64) (*Movie, error) {
@@ -45,7 +50,10 @@ func (m MovieModel) Get(id int64) (*Movie, error) {
var movie Movie var movie Movie
err := m.DB.QueryRow(query, id).Scan( ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err := m.DB.QueryRowContext(ctx, query, id).Scan(
&movie.ID, &movie.ID,
&movie.CreatedAt, &movie.CreatedAt,
&movie.Title, &movie.Title,
@@ -82,7 +90,10 @@ func (m MovieModel) Update(movie *Movie) error {
movie.Version, movie.Version,
} }
err := m.DB.QueryRow(query, args...).Scan(&movie.Version) ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err := m.DB.QueryRowContext(ctx, query, args...).Scan(&movie.Version)
if err != nil { if err != nil {
switch { switch {
case errors.Is(err, sql.ErrNoRows): case errors.Is(err, sql.ErrNoRows):
@@ -104,7 +115,10 @@ func (m MovieModel) Delete(id int64) error {
DELETE FROM movies DELETE FROM movies
WHERE id = $1` WHERE id = $1`
result, err := m.DB.Exec(query, id) ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
result, err := m.DB.ExecContext(ctx, query, id)
if err != nil { if err != nil {
return err return err
} }