Commit 9ab56074 authored by Kiridena I.T.K_IT19981840's avatar Kiridena I.T.K_IT19981840

Merge branch 'all-NFT-details-collection-add' into 'master'

New collections

See merge request !44
parents b1c22fc3 60a371d2
const mongoose = require("mongoose");
const AssetCodeWithPractitioner = new mongoose.Schema({
assetcode: String,
to: String,
});
module.exports = mongoose.model(
"AssetCodeWithPractitioner",
AssetCodeWithPractitioner
);
const mongoose = require("mongoose");
const AssetKeyFullInfo = new mongoose.Schema({
assetcode: String,
key: String,
to: String,
cid: String,
});
module.exports = mongoose.model("AssetKeyFullInfo", AssetKeyFullInfo);
......@@ -13,6 +13,7 @@ const RSAEncrypt = require("./../../services/rsaEncoder");
const GenerateAESKey = require("./../../services/aesKeyGenerator");
const EncryptionService = require("./../../services/encryptionservice");
const AssetKey = require("./../../model/stellar/assetkeys");
const AssetKeyFullInfo = require("./../../model/stellar/assetKeyFull");
const CreateTrustline = require("./../../services/trustlineCreator");
const GetIssuerPair = require("./../../services/getIssuerKeyPairFromDB");
const DoManageData = require("./../../services/manageDataForAsset");
......@@ -416,50 +417,79 @@ router.post("/", async (req, res) => {
decryptedPractitionerKey,
DecryptWithServerKey(issuerKeyPair.issuerKey)
)
.then((success) => {
.then(async (success) => {
if (success) {
console.log(
"Payment operation from patient to practitioner success"
);
//Update the NFT req collection
UpdateNFTRequestStatus(decryptedAssetCode)
.then((success) => {
if (success) {
res.status(200).json({
message:
"NFT EHR issued successfully",
});
console.log(
"/patient/createnft - NFT creation and sharing success"
);
} else {
console.log(
"NFT Request update failed "
);
console.log(
"/patient/createnft - NFT creation and sharing failed"
);
return res.status(500).json({
message:
"NFT Request update failed ",
});
}
})
.catch((errorWhenUpdatingCollection) => {
console.log(
"Error updating NFT request status : ",
errorWhenUpdatingCollection
);
console.log(
"/patient/createnft - NFT creation and sharing failed"
//add to the AssetKeyFullInfoDB
const assetFullObj = new AssetKeyFullInfo({
assetcode: decryptedAssetCode,
key: encodedAesKey,
cid: ipfsContentCID,
to: decryptedPractitionerKey,
});
try {
const saveInFullDB =
await assetFullObj.save();
console.log(
"Full details added to collection"
);
//Update the NFT req collection
UpdateNFTRequestStatus(decryptedAssetCode)
.then((success) => {
if (success) {
res.status(200).json({
message:
"NFT EHR issued successfully",
});
console.log(
"/patient/createnft - NFT creation and sharing success"
);
} else {
console.log(
"NFT Request update failed "
);
console.log(
"/patient/createnft - NFT creation and sharing failed"
);
return res.status(500).json({
message:
"NFT Request update failed ",
});
}
})
.catch(
(errorWhenUpdatingCollection) => {
console.log(
"Error updating NFT request status : ",
errorWhenUpdatingCollection
);
console.log(
"/patient/createnft - NFT creation and sharing failed"
);
return res.status(500).json({
message:
"Error updating NFT request status : ",
errorWhenUpdatingCollection,
});
}
);
return res.status(500).json({
message:
"Error updating NFT request status : ",
errorWhenUpdatingCollection,
});
} catch (errorWhenAddingToFullInfo) {
console.log(
"Adding NFT details to full info collection failed : ",
errorWhenAddingToFullInfo
);
console.log(
"/patient/createnft - NFT creation and sharing failed"
);
return res.status(500).json({
message:
"Adding NFT details to full info collection failed",
});
}
} else {
console.log(
"NFT payment operation failed from patient to practitioner"
......
const express = require("express");
const router = express.Router();
const AssetCodeWithPractitioner = require("./../../model/stellar/assetCodeWithPractitioner");
router.get("./:practitionerKey", async (req, res) => {
const practitionerKey = req.params.practitionerKey;
try {
const assetKey = await AssetCodeWithPractitioner.findOne({
to: practitionerKey,
});
console.log(assetKey);
res.status(200).json({
assetcode: assetKey.assetcode,
});
console.log(
"/practitioner/getassetcode - getting asset code for the practitioner success"
);
} catch (errorWhenGettingAssetCode) {
console.log(
"Error when getting practitioner asset code : Error : ",
errorWhenGettingAssetCode
);
console.log("/practitioner/getasssetcode - failed");
res.status(500).json({
error: "Getting all practitioners requests failed : ",
errorWhenGettingPatientRequests,
});
}
});
module.exports = router;
......@@ -5,6 +5,7 @@ const DecryptWithServerKey = require("./../../services/decryptionservice");
const StellarSdk = require("stellar-sdk");
const CreateTrustline = require("./../../services/trustlineCreator");
const NFTRequest = require("./../../model/stellar/nftRequests");
const AssetCodeWithPractitioner = require("./../../model/stellar/assetCodeWithPractitioner");
const GenerateRandomAssetCode = require("./../../services/assetCodeGenerator");
require("dotenv").config();
......@@ -38,11 +39,31 @@ router.post("/", async (req, res) => {
});
try {
const saveRequest = await nftRequestObj.save();
console.log("NFT request saved to database : " + saveRequest);
res.status(200).json({
message: "NFT request saved to database",
//save the asset code details in the DB
const assetCodeVsPractitioner = new AssetCodeWithPractitioner({
assetcode: assetCode,
to: practitionerPK,
});
console.log("/practitioner/requestnft - requesting NFT success");
try {
const saveAssetCodeVsPrac = await assetCodeVsPractitioner.save();
console.log("NFT request saved to database : " + saveRequest);
res.status(200).json({
message: "NFT request saved to database",
});
console.log("/practitioner/requestnft - requesting NFT success");
} catch (errorWhenSavingPractitionerVsAssetCodeInDB) {
console.log(
"Error when adding asset code practitioner request to DB : ",
errorWhenSavingPractitionerVsAssetCodeInDB
);
console.log("/practitioner/requestnft - requesting NFT failed");
return res.status(500).json({
message: "Error when adding NFT request to DB : ",
errorWhenSavingPractitionerVsAssetCodeInDB,
});
}
} catch (errorWhenAddingRequestToDB) {
console.log(
"Error when adding NFT request to DB : ",
......
......@@ -63,6 +63,9 @@ app.use("/practitioner/login", practitionerLogin);
const treatingPatients = require("./route/practitioner-routes/get-treating-patients-route");
app.use("/practitioner/treatingPatients", treatingPatients);
const assetCodes = require("./route/practitioner-routes/get-assetcode-practitioner-route");
app.use("/practitioner/getassetcode", assetCodes);
app.listen(process.env.SERVER_PORT, () =>
console.log("Server started on port " + process.env.SERVER_PORT)
);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment