aegis.cpp
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Pages
thumbnail.hpp
1 //
2 // thumbnail.hpp
3 // *************
4 //
5 // Copyright (c) 2019 Sharon W (sharon at aegis dot gg)
6 //
7 // Distributed under the MIT License. (See accompanying file LICENSE)
8 //
9 
10 #pragma once
11 
12 #include "aegis/config.hpp"
13 #include <nlohmann/json.hpp>
14 
15 namespace aegis
16 {
17 
18 namespace gateway
19 {
20 
21 namespace objects
22 {
23 
26 struct thumbnail
27 {
28  thumbnail(std::string tn) : url(tn) {}
29  thumbnail() = default;
30  std::string url;
31  std::string proxy_url;
32  int32_t height = 0;
33  int32_t width = 0;
34 };
35 
37 inline void from_json(const nlohmann::json& j, thumbnail& m)
38 {
39  if (j.count("url"))
40  m.url = j["url"].get<std::string>();
41  if (j.count("proxy_url"))
42  m.proxy_url = j["proxy_url"].get<std::string>();
43  if (j.count("height") && !j["height"].is_null())
44  m.height = j["height"];
45  if (j.count("width") && !j["width"].is_null())
46  m.width = j["width"];
47 }
49 
51 inline void to_json(nlohmann::json& j, const thumbnail& m)
52 {
53  j["url"] = m.url;
54  //j["proxy_url"] = m.proxy_url;
55  j["height"] = m.height;
56  j["width"] = m.width;
57 }
59 
60 }
61 
62 }
63 
64 }
int32_t height
Definition: thumbnail.hpp:32
std::string url
Definition: thumbnail.hpp:30
int32_t width
Definition: thumbnail.hpp:33
std::string proxy_url
Definition: thumbnail.hpp:31
Definition: thumbnail.hpp:26