43 lines
791 B
SQL
43 lines
791 B
SQL
-- name: CreateProduct :one
|
|
INSERT INTO products (
|
|
merchant_id,
|
|
name,
|
|
selling_price,
|
|
purchase_price,
|
|
product_category_id,
|
|
stock
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6
|
|
)
|
|
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, product_category_id = $5, updated_at = $6
|
|
WHERE id = $1
|
|
RETURNING *;
|
|
|
|
-- name: DeleteProduct :exec
|
|
DELETE FROM products WHERE id = $1; |