-- name: GetVehicleModelYearsByBrand :many
SELECT
  *
FROM
  vehicle_model_year
WHERE
  "fk_idVehicleBrand" = $1;

-- name: GetVehicleModelYearsByType :many
SELECT
  *
FROM
  vehicle_model_year
WHERE
  "fk_idVehicleType" = $1;

-- name: GetVehicleModelYears :many
SELECT * FROM vehicle_model_year
WHERE (
sqlc.arg('search')::text = '' OR
  "id"::text ILIKE '%' || sqlc.arg('search')::text || '%' OR
  "model" ILIKE '%' || sqlc.arg('search')::text || '%' OR
  "fk_idVehicleBrand"::text ILIKE '%' || sqlc.arg('search')::text || '%' OR
  "fk_idVehicleType"::text ILIKE '%' || sqlc.arg('search')::text || '%'
)
ORDER BY id LIMIT sqlc.arg('limit') OFFSET sqlc.arg('offset');

-- name: CreateVehicleModelYear :one
INSERT INTO vehicle_model_year (model, "fk_idVehicleBrand", "fk_idVehicleType")
VALUES ($1, $2, $3)
RETURNING *;

-- name: GetVehicleModelYearById :one
SELECT * FROM vehicle_model_year WHERE id=$1 LIMIT 1;

-- name: UpdateVehicleModelYear :one
UPDATE vehicle_model_year SET model=$2, "fk_idVehicleBrand"=$3, "fk_idVehicleType"=$4 WHERE id=$1 RETURNING *;

-- name: DeleteVehicleModelYear :one
DELETE FROM vehicle_model_year WHERE id=$1 RETURNING id;
