feat(handlers): Add handler for get all products by id
This commit is contained in:
1 parent
8204bbf9bd
commit
78c5fc39b0
1 file changed
+27
@@ -1,6 +1,7 @@
|
|||||||
import sqlite3
|
import sqlite3
|
||||||
from typing import List, Dict, Any, Optional, Tuple
|
from typing import List, Dict, Any, Optional, Tuple
|
||||||
from loguru import logger as log
|
from loguru import logger as log
|
||||||
|
from db.DBDataUtils import get_products_by_page, get_total_products_pages
|
||||||
|
|
||||||
def get_products_with_filters(
|
def get_products_with_filters(
|
||||||
category_id: int,
|
category_id: int,
|
||||||
@@ -268,3 +269,29 @@ def generate_full_description(row: sqlite3.Row) -> str:
|
|||||||
parts.append(f"Цвет: {row['color']}")
|
parts.append(f"Цвет: {row['color']}")
|
||||||
|
|
||||||
return " ".join(parts)
|
return " ".join(parts)
|
||||||
|
|
||||||
|
def get_product_list(page=1, limit=100, category_id=None):
|
||||||
|
"""
|
||||||
|
Получить список товаров с пагинацией.
|
||||||
|
Возвращает список словарей с полями id, full_name, description.
|
||||||
|
"""
|
||||||
|
conn = None
|
||||||
|
try:
|
||||||
|
import sqlite3
|
||||||
|
conn = sqlite3.connect('pipe_store.db')
|
||||||
|
conn.row_factory = sqlite3.Row
|
||||||
|
|
||||||
|
offset = (page - 1) * limit
|
||||||
|
rows = get_products_by_page(conn, page, limit, category_id)
|
||||||
|
|
||||||
|
products = []
|
||||||
|
for row in rows:
|
||||||
|
products.append({
|
||||||
|
'id': row['id'],
|
||||||
|
'full_name': row['full_name'],
|
||||||
|
'description': row['description']
|
||||||
|
})
|
||||||
|
return products
|
||||||
|
finally:
|
||||||
|
if conn:
|
||||||
|
conn.close()
|
||||||
Reference in new issue
Block a user