7#include <eosio/crypto.hpp>
8#include <eosio/eosio.hpp>
10#include "../../consts.hpp"
11#include "../../domain/document_core.hpp"
13#define AUTH_SIGNATURE eosio::name coopname, checksum256 request_hash, document2 authorization
36 auto idx = requests.get_index<
"byhash"_n>();
37 auto req = idx.find(request_hash);
39 if (req != idx.end()) {
47 auto idx = shipments.get_index<
"byhash"_n>();
48 auto ship = idx.find(shipment_hash);
50 if (ship != idx.end()) {
57 const std::string &error_msg =
"Заявка не найдена по хэшу") {
59 eosio::check(request_opt.has_value(), error_msg);
64 const std::string &error_msg =
"Перевозка не найдена по хэшу") {
66 eosio::check(shipment_opt.has_value(), error_msg);
70namespace DocumentNames {
93static constexpr const name
WDISPUTE =
"wdispute"_n;
static constexpr eosio::name _marketplace
Definition: consts.hpp:155
#define AUTH_SIGNATURE
Definition: marketplace.hpp:13
void(AUTH_SIGNATURE) auth_interface
Definition: marketplace.hpp:15
static constexpr const name SHIPMENT_ARRIVE_ACT
Definition: marketplace.hpp:90
static constexpr const name SHIPMENT_ACT
Definition: marketplace.hpp:85
static constexpr const name CONTRIB_STMT
Definition: marketplace.hpp:74
static constexpr const name RETURN_STMT
Definition: marketplace.hpp:71
static constexpr const name WACCEPT_ACT
Definition: marketplace.hpp:98
static constexpr const name SHIPMENT_RECV_ACT
Definition: marketplace.hpp:91
static constexpr const name SUPPLY_ACT_CONF
Definition: marketplace.hpp:84
static constexpr const name SHIPMENT_LOADING_ACT
Definition: marketplace.hpp:89
static constexpr const name RECEIVE_ACT_CONF
Definition: marketplace.hpp:78
static constexpr const name CONVERT_FROM
Definition: marketplace.hpp:72
static constexpr const name WDISPUTE
Definition: marketplace.hpp:93
static constexpr const name SHIPMENT_SEND_ACT
Definition: marketplace.hpp:88
static constexpr const name WRETURN_ACT
Definition: marketplace.hpp:96
static constexpr const name TRANSPORT2
Definition: marketplace.hpp:80
static constexpr const name CONVERT_TO
Definition: marketplace.hpp:73
static constexpr const name TRANSPORT4
Definition: marketplace.hpp:82
static constexpr const name TRANSPORT3
Definition: marketplace.hpp:81
static constexpr const name RETURN_AUTH
Definition: marketplace.hpp:76
static constexpr const name WSUPPLY_AUTH
Definition: marketplace.hpp:95
static constexpr const name CONTRIB_AUTH
Definition: marketplace.hpp:75
static constexpr const name TRANSPORT1
Definition: marketplace.hpp:79
static constexpr const name DELIVERY_ACT
Definition: marketplace.hpp:86
static constexpr const name WRETURN_AUTH
Definition: marketplace.hpp:94
static constexpr const name SUPPLY_ACT
Definition: marketplace.hpp:83
static constexpr const name WOFFER_ACT
Definition: marketplace.hpp:97
static constexpr const name RECEIVE_ACT
Definition: marketplace.hpp:77
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
eosio::multi_index< "requests"_n, request, eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun< request, uint64_t, &request::by_coop > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< request, uint64_t, &request::by_status > >, eosio::indexed_by<"bytype"_n, eosio::const_mem_fun< request, uint64_t, &request::by_type > >, eosio::indexed_by<"byhash"_n, eosio::const_mem_fun< request, checksum256, &request::by_hash > >, eosio::indexed_by<"byusername"_n, eosio::const_mem_fun< request, uint64_t, &request::by_username > >, eosio::indexed_by<"bycreated"_n, eosio::const_mem_fun< request, uint64_t, &request::by_created > >, eosio::indexed_by<"bycompleted"_n, eosio::const_mem_fun< request, uint64_t, &request::by_completed > >, eosio::indexed_by<"bydeclined"_n, eosio::const_mem_fun< request, uint64_t, &request::by_declined > >, eosio::indexed_by<"bycanceled"_n, eosio::const_mem_fun< request, uint64_t, &request::by_canceled > >, eosio::indexed_by<"bywarrantyid"_n, eosio::const_mem_fun< request, uint64_t, &request::by_warranty_id > > > requests_index
Definition: table_marketplace_requests.hpp:107
static std::optional< request > get_request_by_hash(eosio::name coopname, checksum256 request_hash)
Definition: marketplace.hpp:34
static request get_request_by_hash_or_fail(eosio::name coopname, checksum256 request_hash, const std::string &error_msg="Заявка не найдена по хэшу")
Definition: marketplace.hpp:56
static const std::set< eosio::name > marketplace_callback_actions
Definition: marketplace.hpp:21
static std::optional< shipment > get_shipment_by_hash(eosio::name coopname, checksum256 shipment_hash)
Definition: marketplace.hpp:45
eosio::name get_valid_marketplace_action(const eosio::name &action)
Definition: marketplace.hpp:29
static shipment get_shipment_by_hash_or_fail(eosio::name coopname, checksum256 shipment_hash, const std::string &error_msg="Перевозка не найдена по хэшу")
Definition: marketplace.hpp:63
Definition: eosio.msig.hpp:34
action(permission_level{ _gateway, "active"_n}, _gateway, "adduser"_n, std::make_tuple(coopname, deposit->username, to_spread, to_circulation, eosio::current_time_point(), true)).send()
Definition: table_marketplace_requests.hpp:18
Definition: table_marketplace_shipments.hpp:16