-- name: GetExtraProductStocks :one
SELECT
  *
FROM
  extra_product_stocks
WHERE
  id = $1
LIMIT 1;

-- name: CreateExtraProductStock :one
INSERT INTO extra_product_stocks (quantity, "fk_idExtraProduct")
VALUES ($1, $2)
RETURNING *;

-- name: ListExtraProductStocks :many
SELECT * FROM extra_product_stocks
WHERE (
sqlc.arg('search')::text = '' OR
  "id"::text ILIKE '%' || sqlc.arg('search')::text || '%' OR
  "quantity"::text ILIKE '%' || sqlc.arg('search')::text || '%' OR
  "fk_idExtraProduct"::text ILIKE '%' || sqlc.arg('search')::text || '%'
)
ORDER BY id LIMIT sqlc.arg('limit') OFFSET sqlc.arg('offset');

-- name: UpdateExtraProductStock :one
UPDATE extra_product_stocks SET quantity=$2, "fk_idExtraProduct"=$3 WHERE id=$1 RETURNING *;

-- name: DeleteExtraProductStock :one
DELETE FROM extra_product_stocks WHERE id=$1 RETURNING id;
