COOPENOMICS  v1
Кооперативная Экономика
table_draft_approvals.hpp
См. документацию.
1#pragma once
2
3
4#include "../core/ram_payer.hpp"
5#include <eosio/crypto.hpp>
6#include <eosio/eosio.hpp>
7#include <eosio/time.hpp>
8#include <optional>
9
10#include "../consts.hpp"
12
26struct [[eosio::table, eosio::contract(DRAFT)]] draftapproval {
27 uint64_t registry_id;
28 uint64_t version;
29 uint64_t decision_id;
30 eosio::time_point_sec approved_at;
31 eosio::checksum256 text_hash;
32
33 uint64_t primary_key() const { return registry_id; }
34};
35
36typedef eosio::multi_index<"approvals"_n, draftapproval> draft_approvals_index;
37
41inline std::optional<draftapproval> get_draft_approval(eosio::name coopname, uint64_t registry_id) {
42 draft_approvals_index approvals(_draft, coopname.value);
43 auto row = approvals.find(registry_id);
44 if (row == approvals.end())
45 return std::nullopt;
46 return *row;
47}
48
57inline uint64_t get_effective_draft_version(eosio::name coopname, uint64_t registry_id) {
58 auto approval = get_draft_approval(coopname, registry_id);
59 if (approval.has_value())
60 return approval->version;
61
63}
64
65// Плательщик за оперативную память строк таблицы — правило в lib/core/ram_payer.hpp.
static constexpr eosio::name _draft
Definition: consts.hpp:175
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_draft_approvals.hpp:26
eosio::checksum256 text_hash
Хэш текста утверждённой редакции
Definition: table_draft_approvals.hpp:31
eosio::time_point_sec approved_at
Дата решения совета
Definition: table_draft_approvals.hpp:30
uint64_t primary_key() const
Definition: table_draft_approvals.hpp:33
uint64_t registry_id
Номер шаблона в реестре документов
Definition: table_draft_approvals.hpp:27
uint64_t decision_id
Номер решения совета (номер протокола)
Definition: table_draft_approvals.hpp:29
uint64_t version
Утверждённая редакция
Definition: table_draft_approvals.hpp:28
uint64_t version
Definition: table_draft_drafts.hpp:22
std::optional< draftapproval > get_draft_approval(eosio::name coopname, uint64_t registry_id)
Definition: table_draft_approvals.hpp:41
RAM_PAYER_CLASS(draftapproval, contract)
uint64_t get_effective_draft_version(eosio::name coopname, uint64_t registry_id)
Definition: table_draft_approvals.hpp:57
eosio::multi_index<"approvals"_n, draftapproval > draft_approvals_index
Definition: table_draft_approvals.hpp:36
onedraft get_scoped_draft_by_registry_or_fail(eosio::name scope, uint64_t draft_id)
Definition: table_draft_drafts.hpp:34