[DLN] implement list_betting_markets(betting_market_group)

This commit is contained in:
SynaptiCAD User 2017-03-19 22:44:16 -04:00
parent 2d4f18280f
commit f99bf1c6e6
3 changed files with 20 additions and 1 deletions

View file

@ -99,6 +99,7 @@ class database_api_impl : public std::enable_shared_from_this<database_api_impl>
vector<sport_object> list_sports() const;
vector<event_group_object> list_event_groups(sport_id_type sport_id) const;
vector<betting_market_group_object> list_betting_market_groups(event_id_type) const;
vector<betting_market_object> list_betting_markets(betting_market_group_id_type) const;
// Markets / feeds
vector<limit_order_object> get_limit_orders(asset_id_type a, asset_id_type b, uint32_t limit)const;
@ -924,6 +925,16 @@ vector<betting_market_group_object> database_api_impl::list_betting_market_group
return result;
}
vector<betting_market_object> database_api_impl::list_betting_markets(betting_market_group_id_type betting_market_group_id) const
{
vector<betting_market_object> result;
const auto& betting_market_idx = _db.get_index_type<betting_market_object_index>().indices().get<by_betting_market_group_id>();
for (const betting_market_object& betting_market : betting_market_idx)
{
result.emplace_back(betting_market);
}
return result;
}
//////////////////////////////////////////////////////////////////////
// //

View file

@ -335,6 +335,11 @@ class database_api
*/
vector<betting_market_group_object> list_betting_market_groups(event_id_type) const;
/**
* @brief Return a list of all betting markets for a betting market group
*/
vector<betting_market_object> list_betting_markets(betting_market_group_id_type) const;
/////////////////////
// Markets / feeds //
/////////////////////

View file

@ -32,6 +32,7 @@ namespace graphene { namespace chain {
class database;
struct by_event_id;
struct by_betting_market_group_id;
class betting_market_group_object : public graphene::db::abstract_object< betting_market_group_object >
{
@ -87,7 +88,9 @@ typedef generic_index<betting_market_group_object, betting_market_group_object_m
typedef multi_index_container<
betting_market_object,
indexed_by<
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > > > > betting_market_object_multi_index_type;
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
ordered_non_unique< tag<by_betting_market_group_id>, member< betting_market_object, betting_market_group_id_type, &betting_market_object::group_id > >
> > betting_market_object_multi_index_type;
typedef generic_index<betting_market_object, betting_market_object_multi_index_type> betting_market_object_index;