trigdep
This commit is contained in:
parent
50b2ae4154
commit
21bf73d7a0
4
main.py
4
main.py
|
@ -18,7 +18,7 @@ from resolvers.auth import confirm_email_handler
|
||||||
from services.main import storages_init
|
from services.main import storages_init
|
||||||
from services.stat.viewed import ViewedStorage
|
from services.stat.viewed import ViewedStorage
|
||||||
from services.zine.gittask import GitTask
|
from services.zine.gittask import GitTask
|
||||||
from settings import DEV_SERVER_STATUS_FILE_NAME
|
from settings import DEV_SERVER_STATUS_FILE_NAME, SENTRY_ID
|
||||||
|
|
||||||
import_module("resolvers")
|
import_module("resolvers")
|
||||||
schema = make_executable_schema(load_schema_from_path("schema.graphql"), resolvers) # type: ignore
|
schema = make_executable_schema(load_schema_from_path("schema.graphql"), resolvers) # type: ignore
|
||||||
|
@ -37,6 +37,8 @@ async def start_up():
|
||||||
print(views_stat_task)
|
print(views_stat_task)
|
||||||
git_task = asyncio.create_task(GitTask.git_task_worker())
|
git_task = asyncio.create_task(GitTask.git_task_worker())
|
||||||
print(git_task)
|
print(git_task)
|
||||||
|
import sentry_sdk
|
||||||
|
sentry_sdk.init("https://%s@testsentry.discours.io/2" % SENTRY_ID)
|
||||||
|
|
||||||
|
|
||||||
async def dev_start_up():
|
async def dev_start_up():
|
||||||
|
|
|
@ -26,3 +26,4 @@ asyncio~=3.4.3
|
||||||
python-dateutil~=2.8.2
|
python-dateutil~=2.8.2
|
||||||
beautifulsoup4~=4.11.1
|
beautifulsoup4~=4.11.1
|
||||||
lxml
|
lxml
|
||||||
|
sentry-sdk>=0.10.2
|
||||||
|
|
|
@ -51,20 +51,20 @@ async def update_chat(_, info, chat_new: dict):
|
||||||
async def create_chat(_, info, title="", members=[]):
|
async def create_chat(_, info, title="", members=[]):
|
||||||
auth: AuthCredentials = info.context["request"].auth
|
auth: AuthCredentials = info.context["request"].auth
|
||||||
chat = {}
|
chat = {}
|
||||||
|
print('create_chat members: %r' % members)
|
||||||
if auth.user_id not in members:
|
if auth.user_id not in members:
|
||||||
members.append(auth.user_id)
|
members.append(int(auth.user_id))
|
||||||
|
|
||||||
# reuse chat craeted before if exists
|
# reuse chat craeted before if exists
|
||||||
if len(members) == 2 and title == "":
|
if len(members) == 2 and title == "":
|
||||||
chats1 = await redis.execute("SMEMBERS", f"chats_by_user/{members[0].slug}")
|
chats1 = await redis.execute("SMEMBERS", f"chats_by_user/{members[0]}")
|
||||||
chats2 = await redis.execute("SMEMBERS", f"chats_by_user/{members[1].slug}")
|
chats2 = await redis.execute("SMEMBERS", f"chats_by_user/{members[1]}")
|
||||||
chat = None
|
chat = None
|
||||||
for c in chats1.intersection(chats2):
|
for c in chats1.intersection(chats2):
|
||||||
chat = await redis.execute("GET", f"chats/{c.decode('utf-8')}")
|
chat = await redis.execute("GET", f"chats/{c.decode('utf-8')}")
|
||||||
if chat:
|
if chat:
|
||||||
chat = json.loads(chat)
|
chat = json.loads(chat)
|
||||||
if chat.title == "":
|
if chat['title'] == "":
|
||||||
break
|
break
|
||||||
if chat:
|
if chat:
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -6,7 +6,7 @@ from auth.credentials import AuthCredentials
|
||||||
from base.redis import redis
|
from base.redis import redis
|
||||||
from base.orm import local_session
|
from base.orm import local_session
|
||||||
from base.resolvers import query
|
from base.resolvers import query
|
||||||
from base.exceptions import ObjectNotExist, Unauthorized
|
from base.exceptions import ObjectNotExist
|
||||||
from orm.user import User
|
from orm.user import User
|
||||||
from resolvers.zine.profile import followed_authors
|
from resolvers.zine.profile import followed_authors
|
||||||
from .unread import get_unread_counter
|
from .unread import get_unread_counter
|
||||||
|
@ -48,15 +48,17 @@ async def load_chats(_, info, limit: int = 50, offset: int = 0):
|
||||||
c['unread'] = await get_unread_counter(cid, auth.user_id)
|
c['unread'] = await get_unread_counter(cid, auth.user_id)
|
||||||
with local_session() as session:
|
with local_session() as session:
|
||||||
c['members'] = []
|
c['members'] = []
|
||||||
for userslug in c["users"]:
|
for uid in c["users"]:
|
||||||
a = session.query(User).where(User.slug == userslug).first().dict()
|
a = session.query(User).where(User.id == uid).first()
|
||||||
c['members'].append({
|
if a:
|
||||||
"slug": userslug,
|
c['members'].append({
|
||||||
"userpic": a["userpic"],
|
"id": a.id,
|
||||||
"name": a["name"],
|
"slug": a.slug,
|
||||||
"lastSeen": a["lastSeen"],
|
"userpic": a.userpic,
|
||||||
})
|
"name": a.name,
|
||||||
chats.append(c)
|
"lastSeen": a.lastSeen,
|
||||||
|
})
|
||||||
|
chats.append(c)
|
||||||
return {
|
return {
|
||||||
"chats": chats,
|
"chats": chats,
|
||||||
"error": None
|
"error": None
|
||||||
|
|
|
@ -256,8 +256,7 @@ async def load_reactions_by(_, _info, by, limit=50, offset=0):
|
||||||
q = q.filter(Reaction.createdAt > after)
|
q = q.filter(Reaction.createdAt > after)
|
||||||
|
|
||||||
order_way = asc if by.get("sort", "").startswith("-") else desc
|
order_way = asc if by.get("sort", "").startswith("-") else desc
|
||||||
# replace "-" -> "" ?
|
order_field = by.get("sort", "").replace('-', '') or Reaction.createdAt
|
||||||
order_field = by.get("sort") or Reaction.createdAt
|
|
||||||
|
|
||||||
q = q.group_by(
|
q = q.group_by(
|
||||||
Reaction.id, CreatedByUser.id, ReactedShout.id
|
Reaction.id, CreatedByUser.id, ReactedShout.id
|
||||||
|
|
|
@ -151,7 +151,7 @@ enum FollowingEntity {
|
||||||
|
|
||||||
type Mutation {
|
type Mutation {
|
||||||
# inbox
|
# inbox
|
||||||
createChat(title: String, members: [String]!): Result!
|
createChat(title: String, members: [Int]!): Result!
|
||||||
updateChat(chat: ChatInput!): Result!
|
updateChat(chat: ChatInput!): Result!
|
||||||
deleteChat(chatId: String!): Result!
|
deleteChat(chatId: String!): Result!
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ if __name__ == "__main__":
|
||||||
host="localhost",
|
host="localhost",
|
||||||
port=8080,
|
port=8080,
|
||||||
headers=local_headers,
|
headers=local_headers,
|
||||||
# log_config=LOGGING_CONFIG,
|
# log_config=log_settings,
|
||||||
log_level=None,
|
log_level=None,
|
||||||
access_log=False,
|
access_log=False,
|
||||||
reload=want_reload
|
reload=want_reload
|
||||||
|
|
|
@ -28,3 +28,4 @@ SESSION_TOKEN_HEADER = "Authorization"
|
||||||
|
|
||||||
# for local development
|
# for local development
|
||||||
DEV_SERVER_STATUS_FILE_NAME = 'dev-server-status.txt'
|
DEV_SERVER_STATUS_FILE_NAME = 'dev-server-status.txt'
|
||||||
|
SENTRY_ID = environ.get("SENTRY_ID")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user