naise_pos/db/query/products.sql

42 lines
738 B
SQL

-- name: CreateProduct :one
INSERT INTO products (
merchant_id,
name,
selling_price,
purchase_price,
stock
) VALUES (
$1, $2, $3, $4, $5
)
RETURNING *;
-- name: GetStockForUpdateStock :one
SELECT * FROM products
WHERE id = $1
LIMIT 1
FOR NO KEY UPDATE;
-- name: UpdateProductStock :exec
UPDATE products
SET stock = $1
WHERE id = $2;
-- name: GetProduct :one
SELECT * FROM products
WHERE id = $1;
-- name: ListProducts :many
SELECT * FROM products
WHERE merchant_id = $1
ORDER BY index_id
LIMIT $2
OFFSET $3;
-- name: UpdateProduct :one
UPDATE products
SET name = $2, selling_price = $3, purchase_price = $4, updated_at = $5
WHERE id = $1
RETURNING *;
-- name: DeleteProduct :exec
DELETE FROM products WHERE id = $1;