From fa01864d0de7921e741d63c3f5795161279ea478 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 14 Aug 2021 11:50:29 +0200 Subject: [PATCH] API Endpoint to get all short urls --- src/server.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/server.js b/src/server.js index 3252ba3..0d62b94 100644 --- a/src/server.js +++ b/src/server.js @@ -221,7 +221,7 @@ fastify.after(() => { }); //Get url api route - fastify.delete('/api/:shortcode', async (req, res) => { + fastify.delete('/api/:shortcode', { onRequest: fastify.basicAuth }, async (req, res) => { const shortcode = req.params.shortcode; //This should never happen but better safe than 500 @@ -237,6 +237,23 @@ fastify.after(() => { return true; }); + //Get all urls api route + fastify.get('/api', { onRequest: fastify.basicAuth }, async (req, res) => { + urls = await knex.select('target', 'shortcode') + .from('urls'); + + for (let url of urls) { + url.url = `${config.getBaseUrl()}/${url.shortcode}` + if(req.query.showVisits){ + url.visits = (await knex.select('timestamp') + .from('visits') + .where('shortcode', '=', url.shortcode)).length; + } + } + + return urls; + }); + });