feat: ym sync
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
from pyexpat.errors import messages
|
||||
from types import SimpleNamespace
|
||||
|
||||
from sqlalchemy import select, insert, delete, update
|
||||
from sqlalchemy.orm import joinedload
|
||||
|
||||
from external.marketplace import YandexMarketplaceApi
|
||||
from models import BaseMarketplace, Marketplace
|
||||
from schemas.marketplace import *
|
||||
from services.base import BaseService
|
||||
@@ -92,3 +94,22 @@ class MarketplaceService(BaseService):
|
||||
except Exception as e:
|
||||
await self.session.rollback()
|
||||
return UpdateMarketplaceResponse(ok=False, message=str(e))
|
||||
|
||||
async def get_yandex_market_campaigns(self,
|
||||
request: GetYandexMarketCampaignsRequest) -> GetYandexMarketCampaignsResponse:
|
||||
try:
|
||||
marketplace = SimpleNamespace()
|
||||
marketplace.auth_data = {
|
||||
'Api-Key': request.api_key
|
||||
}
|
||||
ym_api = YandexMarketplaceApi(marketplace)
|
||||
campaigns = []
|
||||
async for campaign in ym_api.get_campaigns():
|
||||
campaigns.append({
|
||||
'id': campaign.get('id'),
|
||||
'name': campaign.get('domain'),
|
||||
})
|
||||
return GetYandexMarketCampaignsResponse(campaigns=campaigns)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return GetYandexMarketCampaignsResponse(campaigns=[])
|
||||
|
||||
Reference in New Issue
Block a user