123456789101112131415161718192021222324252627 |
- -include("kvs.hrl").
- -type currency() :: internal | quota | game_points | money | bonus.
- -type account_id() :: {string(), currency()}. %% {username, currency}.
- -type transaction_id() :: string().
- -record(account, {
- id :: account_id(),
- debet = 0 :: integer(),
- credit = 0 :: integer(),
- last_change = 0 :: integer() }).
- -record(tx_payment,{ id :: integer() }).
- -record(tx_admin_change,{ reason :: binary() }).
- -record(tx_default_assignment,{ }).
- -type transaction_info() :: #tx_payment{} | #tx_admin_change{} | #tx_default_assignment{}.
- -record(user_transaction, {?CONTAINER, user}).
- -record(transaction, {?ITERATOR(user_transaction), %:: transaction_id(),
- commit_time :: erlang:now(),
- amount :: integer(), %% amount to move between accounts
- remitter :: account_id(), %% accout that gives money/points
- acceptor :: account_id(), %% account receive money/points
- currency :: currency(), %% some of the points or money
- info :: transaction_info()}).
|