-- name: GetShockStocksByShockSpec :many
SELECT
  *
FROM
  shock_stocks
WHERE
  "fk_idShock" = $1;

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

-- name: CreateShockStock :one
INSERT INTO shock_stocks (quantity, "fk_idShock")
VALUES ($1, $2)
RETURNING *;

-- name: GetShockStockById :one
SELECT * FROM shock_stocks WHERE id=$1 LIMIT 1;

-- name: UpdateShockStock :one
UPDATE shock_stocks SET quantity=$2, "fk_idShock"=$3 WHERE id=$1 RETURNING *;

-- name: DeleteShockStock :one
DELETE FROM shock_stocks WHERE id=$1 RETURNING id;
