| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import fetch from "node-fetch"
- import express from "express"
- const app = express();
- const CHAIN4ALL_SERVICE_PORT = process.env.CHAIN4ALL_SERVICE_PORT || 3000;
- const IROHA_API_HOST = process.env.IROHA_API_HOST || "http://localhost";
- const IROHA_API_PORT = process.env.IROHA_API_PORT || 5000;
- const IROHA_DOMAIN = process.env.IROHA_DOMAIN || "test";
- app.post("/price", (req, res) => {
- //TODO implement price calculation depending on extent area
- res.send({
- price: 33
- });
- });
- app.get("/users/:userId/assets", async (req, res) => {
-
- try{
- let irohaResponse = await fetchUsersAssets(req.params.userId);
- res.status(irohaResponse.status);
- if(irohaResponse.headers.get("content-length") < 1){
- res.send();
- }
- else{
- res.send(await irohaResponse.json());
- }
-
- }
- catch(error){
- console.error(error);
- res.status(500);
- res.send(error);
- }
- });
- app.get("/users/:userId/assets/:assetId", async (req, res) => {
- try{
- let assets = (await fetchUsersAssets(req.params.userId)).assets;
-
- let parsedAssetName = "";
- let i = 0;
- for(i; i < assets.length; i++){
- parsedAssetName = assets[i].assetId.split('#')[0];
- if(parsedAssetName === req.params.assetId){
- res.status(200);
- res.send(assets[i]);
- return;
- }
- }
- res.status(204);
- res.send();
- }
- catch(error){
- console.error(error);
- res.status(500);
- res.send(error);
- }
- });
- app.post("/buy", (req, res) => {
- //TODO implement...
- res.status(201);
- });
- app.listen(CHAIN4ALL_SERVICE_PORT, () => {
- console.log(`Listening at http://localhost:${CHAIN4ALL_SERVICE_PORT}`)
- });
- async function fetchUsersAssets(userId){
- return await fetch(IROHA_API_HOST + ':' + IROHA_API_PORT + '/accounts/' + userId + '@' + IROHA_DOMAIN + '/assets/');
- }
|