Corp/backend/scripts/diagnostic/check_pagination.py
Игорь Надеин ee6e840252 Реорганизация документации и скриптов проекта
- Создана структура docs/ с категориями: completed, guides, architecture, diagnostic, in-progress, reports
- Перемещено 47+ MD файлов из корня проекта в docs/
- Удалено 6 устаревших/дублирующихся файлов
- Создана структура backend/scripts/ для тестов и утилит
- Перемещено 35 Python скриптов в backend/scripts/
- Создана структура backend/docs/ для технической документации
- Перемещено 12 MD файлов backend в backend/docs/
- Перемещены LDAP тестовые данные в backend/tests/fixtures/
- Добавлены README файлы для навигации
- Добавлены правила в .github/copilot-instructions.md для размещения документации

Результат:
- Корень проекта: только README.md
- Корень backend/: только manage.py и Django приложения
- Вся документация организована в структурированные папки
2025-12-26 13:49:51 +03:00

47 lines
1.3 KiB
Python

import os
import sys
import django
sys.path.insert(0, os.path.dirname(__file__))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'eusrr_backend.settings')
django.setup()
from django.contrib.auth import get_user_model
from rest_framework.test import APIClient
User = get_user_model()
admin = User.objects.filter(is_superuser=True).first()
client = APIClient()
client.force_authenticate(user=admin)
print('=' * 70)
print('PAGINATION CHECK')
print('=' * 70)
endpoints = [
('Departments', '/api/v1/departments/'),
('Employees', '/api/v1/employees/'),
('Documents', '/api/v1/documents/'),
('Requests', '/api/v1/requests/'),
]
for name, url in endpoints:
print(f'\n{name} ({url})')
print('-' * 70)
resp = client.get(url)
if resp.status_code == 200:
data = resp.json()
if isinstance(data, dict) and 'results' in data:
print(f'OK Paginated')
print(f'Total: {data.get("count", "?")}')
print(f'Page size: {len(data.get("results", []))}')
print(f'Next: {"Yes" if data.get("next") else "No"}')
elif isinstance(data, list):
print(f'ERROR Not paginated (list)')
print(f'Items: {len(data)}')
else:
print(f'ERROR HTTP {resp.status_code}')
print('\n' + '=' * 70)