from typing import Annotated, Any from anydi import Inject from fastapi import APIRouter, Query from ows_text_campaigns.api import auth, schemas from ows_text_campaigns.campaigns.handlers import ( GetUrlDomainsHandler, GetUrlDomainsRequest, ) router = APIRouter(tags=["Url Domains"]) @router.get( "/domains", operation_id="getUrlDomains", response_model=list[schemas.UrlDomain], response_model_by_alias=True, ) def get_url_domains( identity_id: auth.IdentityId, params: Annotated[schemas.GetUrlDomainsInput, Query()], handler: Annotated[GetUrlDomainsHandler, Inject()], ) -> Any: return handler.handle( GetUrlDomainsRequest( identity_id=identity_id, vendor_id=params.vendor_id, subaccount_id=params.subaccount_id, ) )