Current section
Files
Jump to
Current section
Files
src/erp_products.erl
-module(erp_products).
-compile(export_all).
-include("person.hrl").
-include("product.hrl").
-include("payment.hrl").
-include_lib("kvs/include/kvs.hrl").
-include_lib("kvs/include/cursors.hrl").
'NYNJA'() ->
{ok, NYNJA} = kvs:get("/erp/partners","NYNJA, Inc."),
#'Product'{ code = "NYNJA",
id = kvs:seq([],[]),
organization = NYNJA,
url = "nynja.io",
engineer = #'Person'{cn = "Maxim Sokhatsky"},
director = #'Person'{cn = "Anton Andonov"},
owner = #'Person'{cn = "Salvator Guerrieri"},
type = virtual }.
'CATALX'() ->
{ok, CATALX} = kvs:get("/erp/partners","Catalx Exchange Inc."),
#'Product'{ code = "CATALX",
id = kvs:seq([],[]),
organization = CATALX,
url = "catalx.io",
engineer = #'Person'{cn = "Vyacheslav Kara"},
director = #'Person'{cn = "Anton Andonov"},
owner = #'Person'{cn = "Justin Kim"},
type = virtual }.
products() -> ['NYNJA'(), 'CATALX'()].
payments("CATALX") ->
[#'Payment' { invoice = "JAN-2018-001-CX", volume = {0,5000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "FEB-2018-001-CX", volume = {0,7000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "MAR-2018-001-CX", volume = {0,10000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "APR-2018-001-CX", volume = {0,12000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "MAY-2018-001-CX", volume = {0,15000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "JUN-2018-001-CX", volume = {0,10000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "JUL-2018-001-CX", volume = {0,10000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "AUG-2018-001-CX", volume = {0,12000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "SEP-2018-001-CX", volume = {0,15000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "OCT-2018-001-CX", volume = {0,10000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "NOV-2018-001-CX", volume = {0,12000}, price = {0,1}, instrument = "USD", type = crypto },
#'Payment' { invoice = "DEC-2018-001-CX", volume = {0,15000}, price = {0,1}, instrument = "USD", type = crypto }
];
payments("NYNJA") ->
[#'Payment' { invoice = "JAN-2019-001-NY", volume = {0,5000}, price = {0,1}, instrument = "USD", type = fiat },
#'Payment' { invoice = "FEB-2019-001-NY", volume = {0,7000}, price = {0,1}, instrument = "USD", type = fiat },
#'Payment' { invoice = "MAR-2019-001-NY", volume = {0,10000}, price = {0,1}, instrument = "USD", type = fiat },
#'Payment' { invoice = "APR-2019-001-NY", volume = {0,12000}, price = {0,1}, instrument = "USD", type = fiat },
#'Payment' { invoice = "MAY-2019-001-NY", volume = {0,15000}, price = {0,1}, instrument = "USD", type = fiat }
].
pay_boot() ->
lists:map(fun(#'Product'{code=C} = P) ->
lists:map(fun(#'Payment'{}=Pay) -> kvs:append(Pay,"/plm/"++C++"/payments") end,payments(C))
end, products()).
plm_boot() ->
case kvs:get(writer,"/plm/products") of
{error,_} -> lists:map(fun(#'Product'{} = P) -> kvs:append(P,"/plm/products") end, products());
{ok,_} -> skip end.