author-shouts-counter-fix
All checks were successful
Deploy to core / deploy (push) Successful in 1m49s
All checks were successful
Deploy to core / deploy (push) Successful in 1m49s
This commit is contained in:
parent
e4d7284681
commit
e28f03d7db
|
@ -27,7 +27,7 @@ logger.setLevel(logging.DEBUG)
|
|||
|
||||
def add_author_stat_columns(q):
|
||||
shout_author_aliased = aliased(ShoutAuthor)
|
||||
q = q.outerjoin(shout_author_aliased, shout_author_aliased.author == Author.id).add_columns(
|
||||
q = q.outerjoin(shout_author_aliased).add_columns(
|
||||
func.count(distinct(shout_author_aliased.shout)).label('shouts_stat')
|
||||
)
|
||||
|
||||
|
@ -51,9 +51,9 @@ async def get_authors_from_query(q):
|
|||
for [author, shouts_stat, followers_stat, followings_stat] in session.execute(q):
|
||||
author.stat = {
|
||||
'shouts': shouts_stat,
|
||||
'viewed': await ViewedStorage.get_author(author.slug),
|
||||
'followers': followers_stat,
|
||||
'followings': followings_stat,
|
||||
'viewed': await ViewedStorage.get_author(author.slug),
|
||||
}
|
||||
authors.append(author)
|
||||
return authors
|
||||
|
|
|
@ -286,7 +286,9 @@ async def load_shouts_feed(_, info, options):
|
|||
|
||||
# print(q.compile(compile_kwargs={"literal_binds": True}))
|
||||
|
||||
for [shout, reacted_stat, commented_stat, likes_stat, dislikes_stat, _last_comment] in session.execute(q).unique():
|
||||
for [shout, reacted_stat, commented_stat, likes_stat, dislikes_stat, _last_comment] in session.execute(
|
||||
q
|
||||
).unique():
|
||||
main_topic = (
|
||||
session.query(Topic.slug)
|
||||
.join(
|
||||
|
@ -306,7 +308,7 @@ async def load_shouts_feed(_, info, options):
|
|||
'viewed': await ViewedStorage.get_shout(shout.slug),
|
||||
'reacted': reacted_stat,
|
||||
'commented': commented_stat,
|
||||
'rating': likes_stat - dislikes_stat
|
||||
'rating': likes_stat - dislikes_stat,
|
||||
}
|
||||
shouts.append(shout)
|
||||
|
||||
|
@ -383,7 +385,7 @@ async def get_shouts_from_query(q, author_id=None):
|
|||
'reacted': reacted_stat,
|
||||
'commented': commented_stat,
|
||||
'rating': int(likes_stat or 0) - int(dislikes_stat or 0),
|
||||
'last_comment': last_comment
|
||||
'last_comment': last_comment,
|
||||
}
|
||||
|
||||
return shouts
|
||||
|
|
|
@ -48,9 +48,9 @@ async def check_auth(req) -> str | None:
|
|||
}
|
||||
|
||||
gql = {
|
||||
'query': f'query {operation}($params: ValidateJWTTokenInput!) {{' +
|
||||
f'{query_name}(params: $params) {{ is_valid claims }} ' +
|
||||
'}',
|
||||
'query': f'query {operation}($params: ValidateJWTTokenInput!) {{'
|
||||
+ f'{query_name}(params: $params) {{ is_valid claims }} '
|
||||
+ '}',
|
||||
'variables': variables,
|
||||
'operationName': operation,
|
||||
}
|
||||
|
|
|
@ -13,16 +13,12 @@ os_logger.setLevel(logging.INFO)
|
|||
logger = logging.getLogger('\t[services.search]\t')
|
||||
logger.setLevel(logging.DEBUG)
|
||||
|
||||
ELASTIC_HOST = (
|
||||
os.environ.get('ELASTIC_HOST', '').replace('https://', '')
|
||||
)
|
||||
ELASTIC_HOST = os.environ.get('ELASTIC_HOST', '').replace('https://', '')
|
||||
ELASTIC_USER = os.environ.get('ELASTIC_USER', '')
|
||||
ELASTIC_PASSWORD = os.environ.get('ELASTIC_PASSWORD', '')
|
||||
ELASTIC_PORT = os.environ.get('ELASTIC_PORT', 9200)
|
||||
ELASTIC_AUTH = f'{ELASTIC_USER}:{ELASTIC_PASSWORD}' if ELASTIC_USER else ''
|
||||
ELASTIC_URL = os.environ.get(
|
||||
'ELASTIC_URL', f'https://{ELASTIC_AUTH}@{ELASTIC_HOST}:{ELASTIC_PORT}'
|
||||
)
|
||||
ELASTIC_URL = os.environ.get('ELASTIC_URL', f'https://{ELASTIC_AUTH}@{ELASTIC_HOST}:{ELASTIC_PORT}')
|
||||
REDIS_TTL = 86400 # 1 day in seconds
|
||||
|
||||
|
||||
|
@ -114,9 +110,7 @@ class SearchService:
|
|||
if self.lock.acquire(blocking=False):
|
||||
try:
|
||||
logger.debug(f' Создаём новый индекс: {self.index_name} ')
|
||||
self.client.indices.create(
|
||||
index=self.index_name, body=index_settings
|
||||
)
|
||||
self.client.indices.create(index=self.index_name, body=index_settings)
|
||||
self.client.indices.close(index=self.index_name)
|
||||
self.client.indices.open(index=self.index_name)
|
||||
finally:
|
||||
|
@ -127,9 +121,7 @@ class SearchService:
|
|||
def put_mapping(self):
|
||||
if self.client:
|
||||
logger.debug(f' Разметка индекации {self.index_name}')
|
||||
self.client.indices.put_mapping(
|
||||
index=self.index_name, body=expected_mapping
|
||||
)
|
||||
self.client.indices.put_mapping(index=self.index_name, body=expected_mapping)
|
||||
|
||||
def check_index(self):
|
||||
if self.client:
|
||||
|
@ -164,9 +156,7 @@ class SearchService:
|
|||
'query': {'match': {'_all': text}},
|
||||
}
|
||||
if self.client:
|
||||
search_response = self.client.search(
|
||||
index=self.index_name, body=search_body, size=limit, from_=offset
|
||||
)
|
||||
search_response = self.client.search(index=self.index_name, body=search_body, size=limit, from_=offset)
|
||||
hits = search_response['hits']['hits']
|
||||
|
||||
results = [
|
||||
|
|
Loading…
Reference in New Issue
Block a user