diff --git a/auth_backend/auth_method/oauth.py b/auth_backend/auth_method/oauth.py index 961e2767..216993d2 100644 --- a/auth_backend/auth_method/oauth.py +++ b/auth_backend/auth_method/oauth.py @@ -50,6 +50,7 @@ async def _unregister(cls, user_session: UserSession = Depends(UnionAuth(scopes= new_user = {"user_id": user_session.user.id} old_user_params = await cls._delete_auth_methods(user_session.user, db_session=db.session) old_user[cls.get_name()] = old_user_params + await cls._delete_userdata(user=user_session.user, db_session=db.session) await AuthPluginMeta.user_updated(new_user, old_user) return None diff --git a/auth_backend/auth_method/userdata_mixin.py b/auth_backend/auth_method/userdata_mixin.py index 871602af..0e28d689 100644 --- a/auth_backend/auth_method/userdata_mixin.py +++ b/auth_backend/auth_method/userdata_mixin.py @@ -38,3 +38,16 @@ def userdata_process_empty_strings(cls, userdata: UserLogin) -> UserLogin: if item.value == '': item.value = None return userdata + + @classmethod + @abstractmethod + async def _delete_userdata(cls, user: User, *, db_session: DbSession) -> None: + """Удаление данных пользователя + + Args: + user (User): Объект пользователя + db_session (DbSession): Сессия базы данных + Returns: + Ничего? + """ + raise NotImplementedError()