COOPENOMICS  v1
Кооперативная Экономика
table_marketplace_shipments.hpp
См. документацию.
1#pragma once
2
3#include <eosio/crypto.hpp>
4#include <eosio/eosio.hpp>
5#include <vector>
6
7#include "../consts.hpp"
8#include "../core/document.hpp"
9#include "../core/utils.hpp"
10#include "document_core.hpp"
11
12namespace Marketplace {
13
14using namespace eosio;
15
16struct [[eosio::table, eosio::contract(MARKETPLACE)]] shipment {
17 uint64_t id;
18 checksum256 hash;
23 name status;
24
25 std::vector<checksum256> request_hashes;
26
27 std::vector<Document::named_document> documents;
28
29 time_point_sec created_at;
30 time_point_sec loaded_at;
31 time_point_sec delivered_at;
32 time_point_sec completed_at;
33
34 uint64_t primary_key() const { return id; }
35 checksum256 by_hash() const { return hash; }
36 uint64_t by_coop() const { return coopname.value; }
37 uint64_t by_driver() const { return driver_username.value; }
38 uint64_t by_source() const { return source_braname.value; }
39 uint64_t by_destination() const { return destination_braname.value; }
40 uint64_t by_status() const { return status.value; }
41 uint64_t by_created() const { return created_at.sec_since_epoch(); }
42};
43
44typedef eosio::multi_index<
45 "shipments"_n, shipment,
46 eosio::indexed_by<"byhash"_n, eosio::const_mem_fun<shipment, checksum256, &shipment::by_hash>>,
47 eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun<shipment, uint64_t, &shipment::by_coop>>,
48 eosio::indexed_by<"bydriver"_n, eosio::const_mem_fun<shipment, uint64_t, &shipment::by_driver>>,
49 eosio::indexed_by<"bysource"_n, eosio::const_mem_fun<shipment, uint64_t, &shipment::by_source>>,
50 eosio::indexed_by<"bydest"_n, eosio::const_mem_fun<shipment, uint64_t, &shipment::by_destination>>,
51 eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun<shipment, uint64_t, &shipment::by_status>>,
52 eosio::indexed_by<"bycreated"_n, eosio::const_mem_fun<shipment, uint64_t, &shipment::by_created>>>
54
55} // namespace Marketplace
contract
Definition: eosio.msig_tests.cpp:977
Definition: marketplace.hpp:17
eosio::multi_index< "shipments"_n, shipment, eosio::indexed_by<"byhash"_n, eosio::const_mem_fun< shipment, checksum256, &shipment::by_hash > >, eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun< shipment, uint64_t, &shipment::by_coop > >, eosio::indexed_by<"bydriver"_n, eosio::const_mem_fun< shipment, uint64_t, &shipment::by_driver > >, eosio::indexed_by<"bysource"_n, eosio::const_mem_fun< shipment, uint64_t, &shipment::by_source > >, eosio::indexed_by<"bydest"_n, eosio::const_mem_fun< shipment, uint64_t, &shipment::by_destination > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< shipment, uint64_t, &shipment::by_status > >, eosio::indexed_by<"bycreated"_n, eosio::const_mem_fun< shipment, uint64_t, &shipment::by_created > > > shipments_index
Definition: table_marketplace_shipments.hpp:53
Definition: eosio.msig.hpp:34
Definition: table_marketplace_shipments.hpp:16
std::vector< checksum256 > request_hashes
Definition: table_marketplace_shipments.hpp:25
time_point_sec delivered_at
Definition: table_marketplace_shipments.hpp:31
name destination_braname
Definition: table_marketplace_shipments.hpp:22
uint64_t by_source() const
Definition: table_marketplace_shipments.hpp:38
checksum256 hash
Definition: table_marketplace_shipments.hpp:18
uint64_t by_destination() const
Definition: table_marketplace_shipments.hpp:39
name status
Definition: table_marketplace_shipments.hpp:23
time_point_sec completed_at
Definition: table_marketplace_shipments.hpp:32
uint64_t by_status() const
Definition: table_marketplace_shipments.hpp:40
name coopname
Definition: table_marketplace_shipments.hpp:19
uint64_t by_created() const
Definition: table_marketplace_shipments.hpp:41
uint64_t by_driver() const
Definition: table_marketplace_shipments.hpp:37
uint64_t id
Definition: table_marketplace_shipments.hpp:17
name driver_username
Definition: table_marketplace_shipments.hpp:20
uint64_t primary_key() const
Definition: table_marketplace_shipments.hpp:34
uint64_t by_coop() const
Definition: table_marketplace_shipments.hpp:36
std::vector< Document::named_document > documents
Definition: table_marketplace_shipments.hpp:27
name source_braname
Definition: table_marketplace_shipments.hpp:21
checksum256 by_hash() const
Definition: table_marketplace_shipments.hpp:35
time_point_sec loaded_at
Definition: table_marketplace_shipments.hpp:30
time_point_sec created_at
Definition: table_marketplace_shipments.hpp:29