Рефакторинг: перенос логики создания временных комплектов в сервис

Изменения:
- Удалена функция create_temporary_kit из myproject/orders/views.py
- Перенесена в новый сервис myproject/products/services/kit_service.py
- Добавлен API endpoint products:api-temporary-kit-create для создания временных комплектов
- Обновлены URL-ы соответственно

Преимущества:
- Логика временных комплектов теперь находится в соответствующем приложении (products)
- Упрощена архитектура orders приложения
- Сервис может быть переиспользован в других контекстах
- Лучшее разделение ответственности между приложениями

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-10 23:44:05 +03:00
parent 3c0ba70bc8
commit 5d5de1fe31
15 changed files with 471 additions and 150 deletions

52
test_api_simple.py Normal file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env python
"""
Простой скрипт для проверки API endpoints через Django shell
"""
import os
import django
# Настройка Django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
django.setup()
from django.test import Client
import json
client = Client()
BASE_URL = '/customers/api/search/'
print("=" * 60)
print("ТЕСТ API ENDPOINTS")
print("=" * 60)
# Test 1: Empty query
print("\nТЕСТ 1: Пустой запрос")
response = client.get(f'{BASE_URL}?q=')
print(f"Статус: {response.status_code}")
print(f"Ответ: {response.content.decode()}")
# Test 2: Search by single letter
print("\n" + "=" * 60)
print("ТЕСТ 2: Поиск по букве 'И'")
response = client.get(f'{BASE_URL}?q=И')
print(f"Статус: {response.status_code}")
data = json.loads(response.content)
print(f"Результатов: {len(data.get('results', []))}")
if data.get('results'):
for item in data['results'][:3]:
print(f" - {item.get('text', 'No text')}")
# Test 3: Search by number
print("\n" + "=" * 60)
print("ТЕСТ 3: Поиск по цифрам '29'")
response = client.get(f'{BASE_URL}?q=29')
print(f"Статус: {response.status_code}")
data = json.loads(response.content)
print(f"Результатов: {len(data.get('results', []))}")
if data.get('results'):
for item in data['results'][:3]:
print(f" - {item.get('text', 'No text')}")
print("\n" + "=" * 60)
print("Готово!")
print("=" * 60)