[DLN] implement list_event_groups(sport_id)
This commit is contained in:
parent
db6b312784
commit
20a64be400
3 changed files with 25 additions and 3 deletions
|
|
@ -97,6 +97,7 @@ class database_api_impl : public std::enable_shared_from_this<database_api_impl>
|
||||||
|
|
||||||
// Peerplays
|
// Peerplays
|
||||||
vector<sport_object> list_sports() const;
|
vector<sport_object> list_sports() const;
|
||||||
|
vector<event_group_object> list_event_groups(sport_id_type sport_id) const;
|
||||||
|
|
||||||
// Markets / feeds
|
// Markets / feeds
|
||||||
vector<limit_order_object> get_limit_orders(asset_id_type a, asset_id_type b, uint32_t limit)const;
|
vector<limit_order_object> get_limit_orders(asset_id_type a, asset_id_type b, uint32_t limit)const;
|
||||||
|
|
@ -891,15 +892,25 @@ vector<sport_object> database_api::list_sports() const
|
||||||
|
|
||||||
vector<sport_object> database_api_impl::list_sports() const
|
vector<sport_object> database_api_impl::list_sports() const
|
||||||
{
|
{
|
||||||
const auto& sport_index = _db.get_index_type<sport_object_index>().indices().get<by_id>();
|
const auto& sport_object_idx = _db.get_index_type<sport_object_index>().indices().get<by_id>();
|
||||||
vector<sport_object> result;
|
vector<sport_object> result;
|
||||||
for (const sport_object& sport : sport_index)
|
for (const sport_object& sport : sport_object_idx)
|
||||||
{
|
{
|
||||||
result.emplace_back(sport);
|
result.emplace_back(sport);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vector<event_group_object> database_api_impl::list_event_groups(sport_id_type sport_id) const
|
||||||
|
{
|
||||||
|
vector<event_group_object> result;
|
||||||
|
const auto& event_group_idx = _db.get_index_type<event_group_object_index>().indices().get<by_sport_id>();
|
||||||
|
for (const event_group_object& event_group : event_group_idx)
|
||||||
|
{
|
||||||
|
result.emplace_back(event_group);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
// //
|
// //
|
||||||
// Markets / feeds //
|
// Markets / feeds //
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@
|
||||||
#include <graphene/chain/operation_history_object.hpp>
|
#include <graphene/chain/operation_history_object.hpp>
|
||||||
#include <graphene/chain/proposal_object.hpp>
|
#include <graphene/chain/proposal_object.hpp>
|
||||||
#include <graphene/chain/sport_object.hpp>
|
#include <graphene/chain/sport_object.hpp>
|
||||||
|
#include <graphene/chain/event_group_object.hpp>
|
||||||
|
|
||||||
#include <graphene/chain/worker_object.hpp>
|
#include <graphene/chain/worker_object.hpp>
|
||||||
#include <graphene/chain/witness_object.hpp>
|
#include <graphene/chain/witness_object.hpp>
|
||||||
|
|
||||||
|
|
@ -322,6 +324,11 @@ class database_api
|
||||||
*/
|
*/
|
||||||
vector<sport_object> list_sports() const;
|
vector<sport_object> list_sports() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Return a list of all event groups for a sport (e.g. all soccer leagues in soccer)
|
||||||
|
*/
|
||||||
|
vector<event_group_object> list_event_groups(sport_id_type sport_id) const;
|
||||||
|
|
||||||
/////////////////////
|
/////////////////////
|
||||||
// Markets / feeds //
|
// Markets / feeds //
|
||||||
/////////////////////
|
/////////////////////
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ namespace graphene { namespace chain {
|
||||||
|
|
||||||
class database;
|
class database;
|
||||||
|
|
||||||
|
struct by_sport_id;
|
||||||
|
|
||||||
class event_group_object : public graphene::db::abstract_object< event_group_object >
|
class event_group_object : public graphene::db::abstract_object< event_group_object >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -44,7 +46,9 @@ class event_group_object : public graphene::db::abstract_object< event_group_obj
|
||||||
typedef multi_index_container<
|
typedef multi_index_container<
|
||||||
event_group_object,
|
event_group_object,
|
||||||
indexed_by<
|
indexed_by<
|
||||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > > > > event_group_object_multi_index_type;
|
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||||
|
ordered_non_unique< tag<by_sport_id>, member< event_group_object, sport_id_type, &event_group_object::sport_id > > >
|
||||||
|
> event_group_object_multi_index_type;
|
||||||
|
|
||||||
typedef generic_index<event_group_object, event_group_object_multi_index_type> event_group_object_index;
|
typedef generic_index<event_group_object, event_group_object_multi_index_type> event_group_object_index;
|
||||||
} } // graphene::chain
|
} } // graphene::chain
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue