diff --git a/moderation/backend-py/routes/mod_app.py b/moderation/backend-py/routes/mod_app.py index 22ce99b..dff114a 100644 --- a/moderation/backend-py/routes/mod_app.py +++ b/moderation/backend-py/routes/mod_app.py @@ -51,8 +51,19 @@ async def get_users( skip = (page - 1) * limit - # Get users - cursor = users_collection().find(query).sort('createdAt', -1).skip(skip).limit(limit) + # Get users - сортируем по дате последнего входа (lastActiveAt) + # Для активных и неактивных сортируем по lastActiveAt, для остальных по createdAt + if filter in ['active', 'inactive']: + # Сортируем по lastActiveAt (сначала самые активные/недавние) + # Пользователи без lastActiveAt идут в конец + cursor = users_collection().find(query).sort([ + ('lastActiveAt', -1), # Сначала по lastActiveAt (убывание) + ('createdAt', -1) # Потом по createdAt для пользователей без lastActiveAt + ]).skip(skip).limit(limit) + else: + # Для banned и all сортируем по createdAt + cursor = users_collection().find(query).sort('createdAt', -1).skip(skip).limit(limit) + users = await cursor.to_list(length=limit) # Get total count