auth and minor fixes

This commit is contained in:
Igor Lobanov
2022-11-22 04:11:26 +01:00
parent 9215facb75
commit 8963781ca3
9 changed files with 30 additions and 15 deletions

View File

@@ -18,6 +18,7 @@ from base.orm import local_session
from base.resolvers import mutation, query
from orm import Role, User
from resolvers.zine.profile import user_subscriptions
from settings import SESSION_TOKEN_HEADER
@mutation.field("refreshSession")
@@ -143,7 +144,6 @@ async def auth_send_link(_, _info, email, lang="ru"):
@query.field("signIn")
async def login(_, info, email: str, password: str = "", lang: str = "ru"):
with local_session() as session:
orm_user = session.query(User).filter(User.email == email).first()
if orm_user is None:
@@ -182,7 +182,7 @@ async def login(_, info, email: str, password: str = "", lang: str = "ru"):
@query.field("signOut")
@login_required
async def sign_out(_, info: GraphQLResolveInfo):
token = info.context["request"].headers.get("Auth", "")
token = info.context["request"].headers.get(SESSION_TOKEN_HEADER, "")
status = await TokenStorage.revoke(token)
return status

View File

@@ -10,7 +10,8 @@ from services.zine.shoutauthor import ShoutAuthorStorage
from services.stat.reacted import ReactedStorage
def apply_filters(filters, q, user=None):
def apply_filters(q, filters, user=None):
filters = {} if filters is None else filters
if filters.get("reacted") and user:
q.join(Reaction, Reaction.createdBy == user.slug)
if filters.get("visibility"):
@@ -106,7 +107,7 @@ async def load_shouts_by(_, info, options):
Shout.deletedAt.is_(None)
)
user = info.context["request"].user
q = apply_filters(options.get("filters"), q, user)
q = apply_filters(q, options.get("filters"), user)
order_by = extract_order(options.get("order_by"), q)