103 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from typing import Any, Dict, Optional, Union, cast
 | 
						|
 | 
						|
import httpx
 | 
						|
 | 
						|
from ...client import Client
 | 
						|
from ...models.extended_user import ExtendedUser
 | 
						|
from ...models.error import Error
 | 
						|
from ...types import Response
 | 
						|
 | 
						|
def _get_kwargs(
 | 
						|
	*,
 | 
						|
	client: Client,
 | 
						|
) -> Dict[str, Any]:
 | 
						|
	url = "{}/user/extended".format(client.base_url)
 | 
						|
 | 
						|
	headers: Dict[str, Any] = client.get_headers()
 | 
						|
	cookies: Dict[str, Any] = client.get_cookies()
 | 
						|
 | 
						|
	return {
 | 
						|
		"url": url,
 | 
						|
		"headers": headers,
 | 
						|
		"cookies": cookies,
 | 
						|
		"timeout": client.get_timeout(),
 | 
						|
	}
 | 
						|
 | 
						|
 | 
						|
def _parse_response(*, response: httpx.Response) -> Optional[Union[Any, ExtendedUser, Error]]:
 | 
						|
	if response.status_code == 200:
 | 
						|
		response_200 = ExtendedUser.from_dict(response.json())
 | 
						|
		return response_200
 | 
						|
	if response.status_code == 400:
 | 
						|
		response_4XX = Error.from_dict(response.json())
 | 
						|
		return response_4XX
 | 
						|
	if response.status_code == 500:
 | 
						|
		response_5XX = Error.from_dict(response.json())
 | 
						|
		return response_5XX
 | 
						|
	return None
 | 
						|
 | 
						|
 | 
						|
def _build_response(*, response: httpx.Response) -> Response[Union[Any, ExtendedUser, Error]]:
 | 
						|
	return Response(
 | 
						|
		status_code=response.status_code,
 | 
						|
		content=response.content,
 | 
						|
		headers=response.headers,
 | 
						|
		parsed=_parse_response(response=response),
 | 
						|
	)
 | 
						|
 | 
						|
 | 
						|
def sync_detailed(
 | 
						|
	*,
 | 
						|
	client: Client,
 | 
						|
) -> Response[Union[Any, ExtendedUser, Error]]:
 | 
						|
	kwargs = _get_kwargs(
 | 
						|
		client=client,
 | 
						|
	)
 | 
						|
 | 
						|
	response = httpx.get(
 | 
						|
		verify=client.verify_ssl,
 | 
						|
		**kwargs,
 | 
						|
	)
 | 
						|
 | 
						|
	return _build_response(response=response)
 | 
						|
 | 
						|
 | 
						|
def sync(
 | 
						|
	*,
 | 
						|
	client: Client,
 | 
						|
) -> Optional[Union[Any, ExtendedUser, Error]]:
 | 
						|
	""" Get the user information for the authenticated user.
 | 
						|
Alternatively, you can also use the `/users-extended/me` endpoint. """
 | 
						|
 | 
						|
	return sync_detailed(
 | 
						|
		client=client,
 | 
						|
	).parsed
 | 
						|
 | 
						|
 | 
						|
async def asyncio_detailed(
 | 
						|
	*,
 | 
						|
	client: Client,
 | 
						|
) -> Response[Union[Any, ExtendedUser, Error]]:
 | 
						|
	kwargs = _get_kwargs(
 | 
						|
		client=client,
 | 
						|
	)
 | 
						|
 | 
						|
	async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
 | 
						|
		response = await _client.get(**kwargs)
 | 
						|
 | 
						|
	return _build_response(response=response)
 | 
						|
 | 
						|
 | 
						|
async def asyncio(
 | 
						|
	*,
 | 
						|
	client: Client,
 | 
						|
) -> Optional[Union[Any, ExtendedUser, Error]]:
 | 
						|
	""" Get the user information for the authenticated user.
 | 
						|
Alternatively, you can also use the `/users-extended/me` endpoint. """
 | 
						|
 | 
						|
	return (
 | 
						|
		await asyncio_detailed(
 | 
						|
			client=client,
 | 
						|
		)
 | 
						|
	).parsed
 |