create-shout-fix

This commit is contained in:
Untone 2025-01-21 18:19:25 +03:00
parent 562ce3296e
commit 1ed185a701
2 changed files with 14 additions and 7 deletions

View File

@ -114,7 +114,12 @@ async def create_shout(_, info, inp):
logger.info(f"Creating shout with slug: {slug}") logger.info(f"Creating shout with slug: {slug}")
# Создаем объект Shout напрямую, без промежуточного словаря # Создаем объект Shout напрямую, без промежуточного словаря
new_shout = Shout(**inp) new_shout = Shout({
**inp,
"slug": slug,
"created_by": author_id,
"created_at": current_time
})
# Check for duplicate slug # Check for duplicate slug
logger.debug(f"Checking for existing slug: {slug}") logger.debug(f"Checking for existing slug: {slug}")

View File

@ -2,9 +2,9 @@ import json
import time import time
from graphql import GraphQLResolveInfo from graphql import GraphQLResolveInfo
from sqlalchemy import nulls_last, text from sqlalchemy import nulls_last, text, and_
from sqlalchemy.orm import aliased from sqlalchemy.orm import aliased
from sqlalchemy.sql.expression import and_, asc, case, desc, func, select from sqlalchemy.sql.expression import asc, case, desc, func, select
from orm.author import Author from orm.author import Author
from orm.reaction import Reaction, ReactionKind from orm.reaction import Reaction, ReactionKind
@ -343,14 +343,16 @@ def apply_sorting(q, options):
async def load_shouts_by(_, info: GraphQLResolveInfo, options): async def load_shouts_by(_, info: GraphQLResolveInfo, options):
""" """
Загрузка публикаций с фильтрацией, сортировкой и пагинацией. Загрузка публикаций с фильтрацией, сортировкой и пагинацией.
:param _: Корневой объект запроса (не используется) :param _: Корневой объект запроса (не используется)
:param info: Информация о контексте GraphQL :param info: Информация о контексте GraphQL
:param options: Опции фильтрации и сортировки. :param options: Опции фильтрации и сортировки
:return: Список публикаций, удовлетворяющих критериям. :return: Список публикаций, удовлетворяющих критериям
""" """
# Базовый запрос: используем специальный запрос с статистикой # Базовый запрос со статистикой
q = query_with_stat(info) q = query_with_stat(info)
# Применяем остальные опции фильтрации
q, limit, offset = apply_options(q, options) q, limit, offset = apply_options(q, options)
# Передача сформированного запроса в метод получения публикаций с учетом сортировки и пагинации # Передача сформированного запроса в метод получения публикаций с учетом сортировки и пагинации