from auth.auth_view import AuthorizedView from shared.validators import validate_UUID from utils.handlers import get_request_query_model from campaign_ads.permissions.campaign_ads_permissions import CampaignAdsPermissions from campaign_ads.services.campaign_ads_service import CampaignAdsService from campaign_ads.schemas import CampaignAdsQueryParams class CampaignAdsView(AuthorizedView): permissions = CampaignAdsPermissions() service = CampaignAdsService() def get(self, campaign_uuid: str): validate_UUID(campaign_uuid) self.permissions.can_view_campaign_ads(campaign_uuid) params = get_request_query_model(CampaignAdsQueryParams) return self.service.get_campaign_ads(campaign_uuid, params)