COOPENOMICS  v1
Кооперативная Экономика
table_soviet_agreements.hpp
См. документацию.
1#pragma once
2
3#include <eosio/eosio.hpp>
4#include <vector>
5
6#include "../consts.hpp"
7#include "../core/utils.hpp"
8#include "document_core.hpp"
9
15struct [[eosio::table, eosio::contract(SOVIET)]] agreement {
16 uint64_t id;
17 eosio::name coopname;
18 eosio::name username;
19 eosio::name type;
20 uint64_t program_id;
21 uint64_t draft_id;
22 uint64_t version;
24 eosio::name status;
25 eosio::time_point_sec updated_at;
26 uint64_t primary_key() const { return id; }
27 uint64_t by_username() const { return username.value; }
28 uint64_t by_status() const { return coopname.value; }
29 uint64_t by_draft() const { return draft_id; }
30
31 uint128_t by_user_and_draft() const { return combine_ids(username.value, draft_id); }
32};
33
34typedef eosio::multi_index<
35 "agreements"_n, agreement,
36 eosio::indexed_by<"byusername"_n, eosio::const_mem_fun<agreement, uint64_t, &agreement::by_username>>,
37 eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun<agreement, uint64_t, &agreement::by_status>>,
38 eosio::indexed_by<"bydraft"_n, eosio::const_mem_fun<agreement, uint64_t, &agreement::by_draft>>,
39 eosio::indexed_by<"byuserdraft"_n, eosio::const_mem_fun<agreement, uint128_t, &agreement::by_user_and_draft>>>
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_soviet_agreements.hpp:15
document document
Definition: table_soviet_agreements.hpp:23
uint64_t by_draft() const
Definition: table_soviet_agreements.hpp:29
uint64_t draft_id
Definition: table_soviet_agreements.hpp:21
uint64_t by_status() const
Definition: table_soviet_agreements.hpp:28
uint64_t by_username() const
Definition: table_soviet_agreements.hpp:27
eosio::name coopname
Definition: table_soviet_agreements.hpp:17
eosio::name username
Definition: table_soviet_agreements.hpp:18
uint64_t version
Definition: table_soviet_agreements.hpp:22
eosio::name status
Definition: table_soviet_agreements.hpp:24
uint64_t program_id
Definition: table_soviet_agreements.hpp:20
uint128_t by_user_and_draft() const
Definition: table_soviet_agreements.hpp:31
uint64_t primary_key() const
Definition: table_soviet_agreements.hpp:26
eosio::time_point_sec updated_at
Definition: table_soviet_agreements.hpp:25
eosio::name type
Definition: table_soviet_agreements.hpp:19
uint64_t id
Definition: table_soviet_agreements.hpp:16
Definition: document_core.hpp:10
eosio::multi_index< "agreements"_n, agreement, eosio::indexed_by<"byusername"_n, eosio::const_mem_fun< agreement, uint64_t, &agreement::by_username > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< agreement, uint64_t, &agreement::by_status > >, eosio::indexed_by<"bydraft"_n, eosio::const_mem_fun< agreement, uint64_t, &agreement::by_draft > >, eosio::indexed_by<"byuserdraft"_n, eosio::const_mem_fun< agreement, uint128_t, &agreement::by_user_and_draft > > > agreements_index
Definition: table_soviet_agreements.hpp:40
static uint128_t combine_ids(const uint64_t &x, const uint64_t &y)
Definition: utils.hpp:7