Skip to content

Commit

Permalink
Merge pull request #310 from MHaris-Ferrum/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
zikriya committed Oct 4, 2023
2 parents 44efbc2 + 27c10aa commit 2446ae6
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 0 deletions.
105 changes: 105 additions & 0 deletions app/controllers/api/v1/currencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -386,4 +386,109 @@ module.exports = function (router: any) {
currencyAddressesByNetworks: cabns,
});
});

router.get("/cabn/bulk/list", async (req: any, res: any) => {
let filter: any[] = [];
const query: { [key: string]: string | boolean } = {};
const embeddedDocumentQuery: { [key: string]: any } = {};

if (req.query.network) {
query["network"] = new mongoose.Types.ObjectId(req.query.network);
}
if (req.query.tokenContractAddress) {
query["tokenContractAddress"] =
req.query.tokenContractAddress.toLowerCase();
}
if (req.query.isAllowedOnMultiSwap === "true") {
query["isAllowedOnMultiSwap"] = true;
} else if (req.query.isAllowedOnMultiSwap === "false") {
query["isAllowedOnMultiSwap"] = false;
}

if (Object.keys(query).length) {
filter = [
{
$match: {
...query,
},
},
];
}

filter = [
...filter,
{
$lookup: {
from: "networks",
localField: "network",
foreignField: "_id",
as: "network",
},
},
{ $unwind: { path: "$network", preserveNullAndEmptyArrays: true } },
{
$lookup: {
from: "currencies",
localField: "currency",
foreignField: "_id",
as: "currency",
},
},
{ $unwind: { path: "$currency", preserveNullAndEmptyArrays: true } },
{
$project: {
tokenContractAddress: 1,
isActive: 1,
isAllowedOnMultiSwap: 1,
"network._id": 1,
"network.name": 1,
"network.nameInLower": 1,
"network.networkShortName": 1,
"network.logo": 1,
"network.chainId": 1,
"network.isNonEVM": 1,
"network.multiSwapFiberRouterSmartContractAddress": 1,
"currency.name": 1,
"currency.nameInLower": 1,
"currency.symbol": 1,
"currency.logo": 1,
},
},
];

if (req.query.chainId) {
embeddedDocumentQuery["network.chainId"] = req.query.chainId;
}
if (req.query.search) {
const reg = new RegExp(req.query.search, "i");
embeddedDocumentQuery.$or = [
{ "currency.name": reg },
{ "currency.nameInLower": reg },
{ "currency.symbol": reg },
{ tokenContractAddress: reg },
];
}

if (Object.keys(embeddedDocumentQuery).length) {
filter.push({
$match: {
...embeddedDocumentQuery,
},
});
}

if (req.query.isPagination && req.query.isPagination == "true") {
filter = [
...filter,
{ $skip: req.query.offset ? parseInt(req.query.offset) : 0 },
{ $limit: req.query.limit ? parseInt(req.query.limit) : 10 },
];
}

const cabns = await db.CurrencyAddressesByNetwork.aggregate(filter);

return res.http200({
currencyAddressesByNetworks: cabns,
});
});
};
18 changes: 18 additions & 0 deletions app/controllers/api/v1/super-admin/versionHistory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module.exports = function (router: any) {
router.patch("/", async (req: any, res: any) => {
let versionHistory = await db.VersionHistory.find();
if (versionHistory.length > 0 && versionHistory[0]._id) {
versionHistory = await db.VersionHistory.findByIdAndUpdate(
versionHistory[0]._id,
req.body,
{ new: true }
);
} else if (versionHistory.length === 0) {
versionHistory = await db.VersionHistory.create(req.body);
}
return res.http200({
versionHistory:
versionHistory.length > 0 ? versionHistory[0] : versionHistory,
});
});
};
8 changes: 8 additions & 0 deletions app/controllers/api/v1/versionHistory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = function (router: any) {
router.get("/", async (req: any, res: any) => {
let versionHistory = await db.VersionHistory.find();
return res.http200({
versionHistory: versionHistory.length > 0 ? versionHistory[0] : {},
});
});
};
14 changes: 14 additions & 0 deletions app/models/versionHistory.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"use strict";
var mongoose = require("mongoose");

var schema = mongoose.Schema(
{
walletsVersion: Number,
networksVersion: Number,
cabnsVersion: Number,
},
{ collection: "versionHistory" }
);

var versionHistoryModel = mongoose.model("versionHistory", schema);
module.exports = versionHistoryModel;

0 comments on commit 2446ae6

Please sign in to comment.