package repository import ( "database/sql" "errors" domain "truck-company/internal/domain" ) type AppRepo struct { db *sql.DB } func NewAppRepo(db *sql.DB) *AppRepo { return &AppRepo{ db: db, } } func (r *AppRepo) GetAllRoutes() ([]domain.Route, error) { if r.db == nil { return nil, errors.New("Ошибка подключения к бд. *db == nil") } rows, err := r.db.Query("SELECT id, name, price FROM route") if err != nil { return nil, err } defer rows.Close() var routes []domain.Route for rows.Next() { var route domain.Route if err := rows.Scan(&route.ID, &route.Name, &route.Price); err != nil { return nil, err } routes = append(routes, route) } return routes, nil }