From 933b5c7a3f9bed4a140fddd1a894831eb8f91cc1 Mon Sep 17 00:00:00 2001 From: "m.shvets" Date: Tue, 7 Apr 2026 17:39:56 +0300 Subject: [PATCH] refactor: update principal task handling in KerberosService --- app/ldap_protocol/kerberos/service.py | 10 +++++----- interface | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/ldap_protocol/kerberos/service.py b/app/ldap_protocol/kerberos/service.py index fa838abb9..2929c2546 100644 --- a/app/ldap_protocol/kerberos/service.py +++ b/app/ldap_protocol/kerberos/service.py @@ -7,7 +7,6 @@ from typing import AsyncIterator, ClassVar import backoff -from dishka import AsyncContainer from fastapi import Request from pydantic import SecretStr from sqlalchemy.ext.asyncio import AsyncSession @@ -30,6 +29,7 @@ from password_utils import PasswordUtils from .base import AbstractKadmin +from .client import KerberosMDAPIClient from .dtos import ( AddRequestsDTO, KDCContextDTO, @@ -340,7 +340,7 @@ async def _authenticate_admin( async def _schedule_principal_task( self, - request: Request, + _request: Request, user: UserSchema, password: str, ) -> TaskStructDTO: @@ -351,15 +351,15 @@ async def _schedule_principal_task( :param str password: Password for admin. :return: tuple (func, args, kwargs) for background task. """ - container: AsyncContainer = request.state.dishka_container - new_kadmin: AbstractKadmin = await container.get(AbstractKadmin) + # refresh kadmin instance + kadmin: AbstractKadmin = KerberosMDAPIClient(self._kadmin.client) func = backoff.on_exception( backoff.fibo, Exception, max_tries=10, logger=None, raise_on_giveup=False, - )(new_kadmin.add_principal) + )(kadmin.add_principal) args = ( user.user_principal_name.split("@")[0], password, diff --git a/interface b/interface index 046449cdd..61e15e236 160000 --- a/interface +++ b/interface @@ -1 +1 @@ -Subproject commit 046449cdd568919cca12a7939366dcee7a54fdfa +Subproject commit 61e15e2367182a3e706c94cf8e1895d742840aa7