COOPENOMICS  v1
Кооперативная Экономика
table_soviet_staff.hpp
См. документацию.
1#pragma once
2
3#include <eosio/eosio.hpp>
4#include <string>
5#include <vector>
6
7#include "../consts.hpp"
8
9struct right {
10 eosio::name contract;
11 eosio::name action_name;
12};
13
19struct [[eosio::table, eosio::contract(SOVIET)]] staff {
20 eosio::name username;
21 std::string position_title;
22 std::vector<eosio::name> roles;
23 std::vector<right> rights;
24 eosio::time_point_sec created_at;
25 eosio::time_point_sec updated_at;
26
27 uint64_t primary_key() const { return username.value; }
28
29 bool has_right(eosio::name contract, eosio::name action_name) const {
30 for (const auto &r : rights) {
31 if (r.contract == contract && r.action_name == action_name) {
32 return true;
33 }
34 }
35 return false;
36 }
37};
38
39typedef eosio::multi_index<"staff"_n, staff> staff_index;
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_soviet_staff.hpp:9
eosio::name contract
Definition: table_soviet_staff.hpp:10
eosio::name action_name
Definition: table_soviet_staff.hpp:11
Definition: table_soviet_staff.hpp:19
eosio::time_point_sec updated_at
Definition: table_soviet_staff.hpp:25
bool has_right(eosio::name contract, eosio::name action_name) const
Definition: table_soviet_staff.hpp:29
std::string position_title
Definition: table_soviet_staff.hpp:21
uint64_t primary_key() const
Definition: table_soviet_staff.hpp:27
std::vector< right > rights
Definition: table_soviet_staff.hpp:23
eosio::name username
Definition: table_soviet_staff.hpp:20
eosio::time_point_sec created_at
Definition: table_soviet_staff.hpp:24
std::vector< eosio::name > roles
Definition: table_soviet_staff.hpp:22
eosio::multi_index<"staff"_n, staff > staff_index
Definition: table_soviet_staff.hpp:39