Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2019-05-24 15:18:36 +0300
committerRoman Kuznetsov <r.kuznetsow@gmail.com>2019-05-24 15:47:19 +0300
commit728aee71801c2125d6c92ef526d24529df24f74d (patch)
treed662197c08bc2d7becf23e6e112d354f61ed3367 /partners_api
parent2ea2b0cb3ec323cf15587bc2b2e62109761c4663 (diff)
[promo_api] small promo format changes
Diffstat (limited to 'partners_api')
-rw-r--r--partners_api/partners_api_tests/promo_tests.cpp4
-rw-r--r--partners_api/promo_api.cpp21
-rw-r--r--partners_api/promo_api.hpp6
3 files changed, 20 insertions, 11 deletions
diff --git a/partners_api/partners_api_tests/promo_tests.cpp b/partners_api/partners_api_tests/promo_tests.cpp
index 39758eff8a..3ae44ac350 100644
--- a/partners_api/partners_api_tests/promo_tests.cpp
+++ b/partners_api/partners_api_tests/promo_tests.cpp
@@ -148,7 +148,7 @@ UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, Promo_GetCityGallery)
});
testing::Wait();
- TEST_EQUAL(result.size(), 2, ());
+ TEST_EQUAL(result.m_items.size(), 2, ());
}
{
promo::CityGallery result{};
@@ -160,6 +160,6 @@ UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, Promo_GetCityGallery)
});
testing::Wait();
- TEST_EQUAL(result.size(), 2, ());
+ TEST_EQUAL(result.m_items.size(), 2, ());
}
}
diff --git a/partners_api/promo_api.cpp b/partners_api/promo_api.cpp
index 104617311b..859bdd4032 100644
--- a/partners_api/promo_api.cpp
+++ b/partners_api/promo_api.cpp
@@ -50,7 +50,7 @@ void ParseCityGallery(std::string const & src, promo::CityGallery & result)
auto const size = json_array_size(dataArray);
- result.reserve(size);
+ result.m_items.reserve(size);
for (size_t i = 0; i < size; ++i)
{
promo::CityGalleryItem item;
@@ -73,15 +73,20 @@ void ParseCityGallery(std::string const & src, promo::CityGallery & result)
FromJSONObject(authorObj, "name", item.m_author.m_name);
auto const luxCategoryObj = json_object_get(obj, "lux_category");
+ if (!json_is_null(luxCategoryObj))
+ {
+ auto const luxCategoryNameobj = json_object_get(luxCategoryObj, "name");
+ if (!json_is_null(luxCategoryNameobj))
+ FromJSON(luxCategoryNameobj, item.m_luxCategory.m_name);
- auto const luxCategoryNameobj = json_object_get(luxCategoryObj, "name");
- if (!json_is_null(luxCategoryNameobj))
- FromJSON(luxCategoryNameobj, item.m_luxCategory.m_name);
+ FromJSONObject(luxCategoryObj, "color", item.m_luxCategory.m_color);
+ }
- FromJSONObject(luxCategoryObj, "color", item.m_luxCategory.m_color);
-
- result.emplace_back(std::move(item));
+ result.m_items.emplace_back(std::move(item));
}
+
+ auto const meta = json_object_get(root.get(), "meta");
+ FromJSONObject(meta, "more", result.m_moreUrl);
}
std::string MakeCityGalleryUrl(std::string const & baseUrl, std::string const & id,
@@ -111,7 +116,7 @@ void GetPromoCityGalleryImpl(std::string const & baseUrl, std::string const & id
catch (base::Json::Exception const & e)
{
LOG(LERROR, (e.Msg()));
- result.clear();
+ result.m_items.clear();
}
cb(std::move(result));
diff --git a/partners_api/promo_api.hpp b/partners_api/promo_api.hpp
index 61da4e17d0..f79c390296 100644
--- a/partners_api/promo_api.hpp
+++ b/partners_api/promo_api.hpp
@@ -34,7 +34,11 @@ struct CityGalleryItem
LuxCategory m_luxCategory;
};
-using CityGallery = std::vector<CityGalleryItem>;
+struct CityGallery
+{
+ std::string m_moreUrl;
+ std::vector<CityGalleryItem> m_items;
+};
class WebApi
{