diff --git a/internal/repository/base_repository.go b/internal/repository/base_repository.go index 06195c9..472898e 100644 --- a/internal/repository/base_repository.go +++ b/internal/repository/base_repository.go @@ -69,8 +69,11 @@ func (r *baseRepository[T]) GetAll() ([]T, error) { return entities, nil } -func (r *baseRepository[T]) Delete(id int) error { +func (r *baseRepository[T]) Delete(id int) (int64, error) { query := r.BuildQuery("DELETE %s WHERE id = ? LIMIT 1") - _, err := r.db.Exec(query, id) - return err + res, err := r.db.Exec(query, id) + if err != nil { + return 0, err + } + return res.RowsAffected() } diff --git a/internal/repository/interfaces.go b/internal/repository/interfaces.go index 6e2cea8..8043df5 100644 --- a/internal/repository/interfaces.go +++ b/internal/repository/interfaces.go @@ -4,5 +4,5 @@ type Repository[T any] interface { BuildQuery(s string) string GetByID(id int) (*T, error) GetAll() ([]T, error) - Delete(id int) error + Delete(id int) (int64, error) }