Skip to content

Commit 7367fcd

Browse files
committed
промежуточный коммит
1 parent 7c10bd9 commit 7367fcd

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

auth_backend/auth_method/oauth.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import logging
22
from abc import abstractmethod
33

4+
from event_schema.auth import UserInfo, UserLogin, UserLoginKey
45
from fastapi import Depends
6+
from fastapi.background import BackgroundTasks
57
from fastapi_sqlalchemy import db
68
from sqlalchemy.orm import Session as DbSession
79

810
from auth_backend.auth_method import AUTH_METHODS, LoginableMixin
911
from auth_backend.base import Base
1012
from auth_backend.exceptions import LastAuthMethodDelete
13+
from auth_backend.kafka.kafka import get_kafka_producer
1114
from auth_backend.models.db import AuthMethod, User, UserSession
1215
from auth_backend.utils.security import UnionAuth
1316

@@ -44,13 +47,23 @@ async def _auth_url(*args, **kwargs) -> UrlSchema:
4447
raise NotImplementedError()
4548

4649
@classmethod
47-
async def _unregister(cls, user_session: UserSession = Depends(UnionAuth(scopes=[], auto_error=True))):
50+
async def _unregister(
51+
cls,
52+
background_tasks: BackgroundTasks,
53+
user_session: UserSession = Depends(UnionAuth(scopes=[], auto_error=True)),
54+
):
4855
"""Отключает для пользователя метод входа"""
4956
old_user = {"user_id": user_session.user.id}
5057
new_user = {"user_id": user_session.user.id}
5158
old_user_params = await cls._delete_auth_methods(user_session.user, db_session=db.session)
5259
old_user[cls.get_name()] = old_user_params
5360
await AuthPluginMeta.user_updated(new_user, old_user)
61+
background_tasks.add_task(
62+
get_kafka_producer().produce,
63+
cls.settings.KAFKA_USER_LOGIN_TOPIC_NAME,
64+
UserLoginKey(user_id=user_session.user.id),
65+
UserLogin(source=cls.get_name(), items=[UserInfo(category="Контакты", param="", value=None)]),
66+
)
5467
return None
5568

5669
@classmethod

auth_backend/auth_method/outer.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,13 @@
22
from abc import ABCMeta, abstractmethod
33
from typing import Any
44

5-
from event_schema.auth import UserInfo, UserLogin, UserLoginKey
65
from fastapi import Depends
7-
from fastapi.background import BackgroundTasks
86
from fastapi.exceptions import HTTPException
97
from fastapi_sqlalchemy import db
108
from starlette.status import HTTP_403_FORBIDDEN, HTTP_404_NOT_FOUND, HTTP_409_CONFLICT, HTTP_424_FAILED_DEPENDENCY
119

1210
from auth_backend.auth_method.base import AuthPluginMeta
1311
from auth_backend.base import Base
14-
from auth_backend.kafka.kafka import get_kafka_producer
1512
from auth_backend.models.db import AuthMethod, UserSession
1613
from auth_backend.utils.security import UnionAuth
1714

@@ -200,7 +197,6 @@ async def _link(
200197
async def _unlink(
201198
cls,
202199
user_id: int,
203-
background_tasks: BackgroundTasks,
204200
request_user: UserSession = Depends(UnionAuth()),
205201
):
206202
"""Отвязать внешний аккаунт пользователю
@@ -214,11 +210,3 @@ async def _unlink(
214210
raise UserNotLinked(user_id)
215211
username.is_deleted = True
216212
db.session.commit()
217-
background_tasks.add_task(
218-
get_kafka_producer().produce,
219-
cls.settings.KAFKA_USER_LOGIN_TOPIC_NAME,
220-
UserLoginKey(user_id=user_id),
221-
UserLogin(
222-
source=cls.get_name(), items=[UserInfo(category=username.auth_method, param=username.param, value=None)]
223-
),
224-
)

0 commit comments

Comments
 (0)