mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-27 19:54:13 +00:00
fix send emails to team members
This commit is contained in:
parent
408899dac8
commit
09b1d52ea1
2 changed files with 49 additions and 43 deletions
|
@ -2,6 +2,7 @@ from datetime import datetime
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from litellm.proxy._types import UserAPIKeyAuth, ManagementEndpointLoggingPayload
|
from litellm.proxy._types import UserAPIKeyAuth, ManagementEndpointLoggingPayload
|
||||||
from litellm.proxy.common_utils.http_parsing_utils import _read_request_body
|
from litellm.proxy.common_utils.http_parsing_utils import _read_request_body
|
||||||
|
from litellm._logging import verbose_logger
|
||||||
from fastapi import Request
|
from fastapi import Request
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,53 +21,58 @@ def management_endpoint_wrapper(func):
|
||||||
try:
|
try:
|
||||||
result = await func(*args, **kwargs)
|
result = await func(*args, **kwargs)
|
||||||
end_time = datetime.now()
|
end_time = datetime.now()
|
||||||
|
try:
|
||||||
|
if kwargs is None:
|
||||||
|
kwargs = {}
|
||||||
|
user_api_key_dict: UserAPIKeyAuth = (
|
||||||
|
kwargs.get("user_api_key_dict") or UserAPIKeyAuth()
|
||||||
|
)
|
||||||
|
_http_request: Request = kwargs.get("http_request")
|
||||||
|
parent_otel_span = user_api_key_dict.parent_otel_span
|
||||||
|
if parent_otel_span is not None:
|
||||||
|
from litellm.proxy.proxy_server import open_telemetry_logger
|
||||||
|
|
||||||
if kwargs is None:
|
if open_telemetry_logger is not None:
|
||||||
kwargs = {}
|
if _http_request:
|
||||||
user_api_key_dict: UserAPIKeyAuth = (
|
_route = _http_request.url.path
|
||||||
kwargs.get("user_api_key_dict") or UserAPIKeyAuth()
|
_request_body: dict = await _read_request_body(
|
||||||
)
|
request=_http_request
|
||||||
_http_request: Request = kwargs.get("http_request")
|
)
|
||||||
parent_otel_span = user_api_key_dict.parent_otel_span
|
_response = dict(result) if result is not None else None
|
||||||
if parent_otel_span is not None:
|
|
||||||
from litellm.proxy.proxy_server import open_telemetry_logger
|
logging_payload = ManagementEndpointLoggingPayload(
|
||||||
|
route=_route,
|
||||||
|
request_data=_request_body,
|
||||||
|
response=_response,
|
||||||
|
start_time=start_time,
|
||||||
|
end_time=end_time,
|
||||||
|
)
|
||||||
|
|
||||||
|
await open_telemetry_logger.async_management_endpoint_success_hook(
|
||||||
|
logging_payload=logging_payload,
|
||||||
|
parent_otel_span=parent_otel_span,
|
||||||
|
)
|
||||||
|
|
||||||
if open_telemetry_logger is not None:
|
|
||||||
if _http_request:
|
if _http_request:
|
||||||
_route = _http_request.url.path
|
_route = _http_request.url.path
|
||||||
_request_body: dict = await _read_request_body(
|
# Flush user_api_key cache if this was an update/delete call to /key, /team, or /user
|
||||||
request=_http_request
|
if _route in [
|
||||||
)
|
"/key/update",
|
||||||
_response = dict(result) if result is not None else None
|
"/key/delete",
|
||||||
|
"/team/update",
|
||||||
|
"/team/delete",
|
||||||
|
"/user/update",
|
||||||
|
"/user/delete",
|
||||||
|
"/customer/update",
|
||||||
|
"/customer/delete",
|
||||||
|
]:
|
||||||
|
from litellm.proxy.proxy_server import user_api_key_cache
|
||||||
|
|
||||||
logging_payload = ManagementEndpointLoggingPayload(
|
user_api_key_cache.flush_cache()
|
||||||
route=_route,
|
except Exception as e:
|
||||||
request_data=_request_body,
|
# Non-Blocking Exception
|
||||||
response=_response,
|
verbose_logger.debug("Error in management endpoint wrapper: %s", str(e))
|
||||||
start_time=start_time,
|
pass
|
||||||
end_time=end_time,
|
|
||||||
)
|
|
||||||
|
|
||||||
await open_telemetry_logger.async_management_endpoint_success_hook(
|
|
||||||
logging_payload=logging_payload,
|
|
||||||
parent_otel_span=parent_otel_span,
|
|
||||||
)
|
|
||||||
if _http_request:
|
|
||||||
_route = _http_request.url.path
|
|
||||||
# Flush user_api_key cache if this was an update/delete call to /key, /team, or /user
|
|
||||||
if _route in [
|
|
||||||
"/key/update",
|
|
||||||
"/key/delete",
|
|
||||||
"/team/update",
|
|
||||||
"/team/delete",
|
|
||||||
"/user/update",
|
|
||||||
"/user/delete",
|
|
||||||
"/customer/update",
|
|
||||||
"/customer/delete",
|
|
||||||
]:
|
|
||||||
from litellm.proxy.proxy_server import user_api_key_cache
|
|
||||||
|
|
||||||
user_api_key_cache.flush_cache()
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
@ -8915,7 +8915,7 @@ async def new_user(data: NewUserRequest):
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
http_request=Request(
|
http_request=Request(
|
||||||
scope={"type": "http"},
|
scope={"type": "http", "path": "/user/new"},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue