[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
|
||||
vector<sport_object> list_sports() const;
|
||||
vector<event_group_object> list_event_groups(sport_id_type sport_id) const;
|
||||
|
||||
// Markets / feeds
|
||||
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
|
||||
{
|
||||
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;
|
||||
for (const sport_object& sport : sport_index)
|
||||
for (const sport_object& sport : sport_object_idx)
|
||||
{
|
||||
result.emplace_back(sport);
|
||||
}
|
||||
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 //
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@
|
|||
#include <graphene/chain/operation_history_object.hpp>
|
||||
#include <graphene/chain/proposal_object.hpp>
|
||||
#include <graphene/chain/sport_object.hpp>
|
||||
#include <graphene/chain/event_group_object.hpp>
|
||||
|
||||
#include <graphene/chain/worker_object.hpp>
|
||||
#include <graphene/chain/witness_object.hpp>
|
||||
|
||||
|
|
@ -322,6 +324,11 @@ class database_api
|
|||
*/
|
||||
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 //
|
||||
/////////////////////
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ namespace graphene { namespace chain {
|
|||
|
||||
class database;
|
||||
|
||||
struct by_sport_id;
|
||||
|
||||
class event_group_object : public graphene::db::abstract_object< event_group_object >
|
||||
{
|
||||
public:
|
||||
|
|
@ -44,7 +46,9 @@ class event_group_object : public graphene::db::abstract_object< event_group_obj
|
|||
typedef multi_index_container<
|
||||
event_group_object,
|
||||
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;
|
||||
} } // graphene::chain
|
||||
|
|
|
|||
Loading…
Reference in a new issue