create-shout-fix
This commit is contained in:
parent
562ce3296e
commit
1ed185a701
|
@ -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}")
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
# Передача сформированного запроса в метод получения публикаций с учетом сортировки и пагинации
|
# Передача сформированного запроса в метод получения публикаций с учетом сортировки и пагинации
|
||||||
|
|
Loading…
Reference in New Issue
Block a user