diff --git a/lib/router/readBlocklists.js b/lib/router/readBlocklists.js new file mode 100644 index 0000000..0e39dce --- /dev/null +++ b/lib/router/readBlocklists.js @@ -0,0 +1,18 @@ +'use strict' + +const { getRestrictedAddresses } = require('./../utils') + +module.exports = async function readBlocklists(req, res) { + const wallet = req.query.tz + const restrictedAddresses = await getRestrictedAddresses().catch(() => [] ) + + if (restrictedAddresses && !restrictedAddresses.includes(wallet)) { + return res + .status(200) + .json({blocked: false}) + } else { + res + .status(200) + .json({blocked: true}) + } +} \ No newline at end of file diff --git a/lib/router/router.js b/lib/router/router.js index 8281309..f1f352e 100644 --- a/lib/router/router.js +++ b/lib/router/router.js @@ -7,6 +7,7 @@ const readIssuer = require('./readIssuer') const readObjkt = require('./readObjkt') const readHdaoFeed = require('./readHdaoFeed') const readRecommendCurate = require('./readRecommendCurate') +const readBlocklists = require('./readBlocklists') const MILLISECOND_MODIFIER = 1000 const ONE_MINUTE_MILLIS = 60 * MILLISECOND_MODIFIER @@ -18,6 +19,7 @@ const CACHE_MAX_AGE_MAP = { objkt: 120, random: 300, recommendCurate: 300, + blocklists: 300, } router @@ -96,6 +98,16 @@ router.get( _asyncHandler(readRecommendCurate) ) +router.get( + '/blocklist', + (req, res, next) => { + _setCacheHeaderOnSuccess(res, CACHE_MAX_AGE_MAP.blocklists) + + return next() + }, + _asyncHandler(readBlocklists) +) + module.exports = router /**