Scorum
betting_api.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #define API_BETTING "betting_api"
4 
5 #include <fc/api.hpp>
6 
8 
9 namespace chainbase {
10 class database_guard;
11 }
12 
13 namespace scorum {
14 namespace app {
15 
16 struct api_context;
17 
27 {
28 public:
29  betting_api(const api_context& ctx);
30 
32 
33  void on_api_startup();
34 
39 
45  std::vector<matched_bet_api_object> get_game_returns(const uuid_type& game_uuid) const;
46 
52  std::vector<winner_api_object> get_game_winners(const uuid_type& game_uuid) const;
53 
59  std::vector<game_api_object> get_games_by_status(const fc::flat_set<chain::game_status>& filter) const;
60 
66  std::vector<game_api_object> get_games_by_uuids(const std::vector<uuid_type>& uuids) const;
67 
74  std::vector<game_api_object> lookup_games_by_id(chain::game_id_type from, uint32_t limit) const;
75 
82  std::vector<matched_bet_api_object> lookup_matched_bets(chain::matched_bet_id_type from, uint32_t limit) const;
83 
90  std::vector<pending_bet_api_object> lookup_pending_bets(chain::pending_bet_id_type from, uint32_t limit) const;
91 
97  std::vector<matched_bet_api_object> get_matched_bets(const std::vector<uuid_type>& uuids) const;
98 
104  std::vector<pending_bet_api_object> get_pending_bets(const std::vector<uuid_type>& uuids) const;
105 
111  std::vector<matched_bet_api_object> get_game_matched_bets(const uuid_type& uuid) const;
112 
118  std::vector<pending_bet_api_object> get_game_pending_bets(const uuid_type& uuid) const;
119 
125 
127 
128  class impl;
129 
130 private:
131  std::unique_ptr<impl> _impl;
132 
133  std::shared_ptr<chainbase::database_guard> _guard;
134 };
135 
136 } // namespace app
137 } // namespace scorum
138 
139 // clang-format off
140 FC_API(scorum::app::betting_api, (get_game_returns)
141  (get_game_winners)
142  (get_games_by_status)
143  (get_games_by_uuids)
144  (lookup_games_by_id)
145  (lookup_matched_bets)
146  (lookup_pending_bets)
147  (get_matched_bets)
148  (get_pending_bets)
149  (get_game_matched_bets)
150  (get_game_pending_bets)
151  (get_betting_properties))
152 // clang-format on
betting_api(const api_context &ctx)
Definition: betting_api.cpp:10
std::vector< pending_bet_api_object > lookup_pending_bets(chain::pending_bet_id_type from, uint32_t limit) const
Return pending bets.
Definition: betting_api.cpp:55
std::vector< winner_api_object > get_game_winners(const uuid_type &game_uuid) const
Returns all winners for particular game.
Definition: betting_api.cpp:30
std::vector< pending_bet_api_object > get_game_pending_bets(const uuid_type &uuid) const
Return pending bets for game.
Definition: betting_api.cpp:75
std::vector< pending_bet_api_object > get_pending_bets(const std::vector< uuid_type > &uuids) const
Return pending bets.
Definition: betting_api.cpp:65
std::vector< matched_bet_api_object > get_game_returns(const uuid_type &game_uuid) const
Returns bets with draw status.
Definition: betting_api.cpp:25
std::vector< matched_bet_api_object > lookup_matched_bets(chain::matched_bet_id_type from, uint32_t limit) const
Returns matched bets.
Definition: betting_api.cpp:50
betting_property_api_object get_betting_properties() const
Return betting properties.
Definition: betting_api.cpp:80
std::vector< game_api_object > lookup_games_by_id(chain::game_id_type from, uint32_t limit) const
Returns games.
Definition: betting_api.cpp:45
std::vector< game_api_object > get_games_by_uuids(const std::vector< uuid_type > &uuids) const
Returns games.
Definition: betting_api.cpp:40
std::vector< matched_bet_api_object > get_game_matched_bets(const uuid_type &uuid) const
Returns matched bets for game.
Definition: betting_api.cpp:70
std::vector< game_api_object > get_games_by_status(const fc::flat_set< chain::game_status > &filter) const
Returns games.
Definition: betting_api.cpp:35
std::vector< matched_bet_api_object > get_matched_bets(const std::vector< uuid_type > &uuids) const
Returns matched bets.
Definition: betting_api.cpp:60
Definition: asset.cpp:15
boost::uuids::uuid uuid_type
Definition: types.hpp:53