Compare commits

...

7 Commits
0.4.3 ... 0.5.0

4 changed files with 31 additions and 12 deletions

View File

@ -2,9 +2,21 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [0.5.0](https://git.odit.services/kauft.es/linkylinky/compare/0.4.3...0.5.0)
- Removed visits 404 resolution [`59e1784`](https://git.odit.services/kauft.es/linkylinky/commit/59e178476e8f7e64de92ae23e859b87680e7af64)
- Added migration for visits provider [`f48159b`](https://git.odit.services/kauft.es/linkylinky/commit/f48159b31bcaf7c7449c89fb1e3851bcb04f5e3c)
- Reverted last change since we can defer it from the provider [`b532137`](https://git.odit.services/kauft.es/linkylinky/commit/b5321377bde9bd7de13e2eee4dd38a072cf0d4a3)
- Changed the way visits entrys get compiled to enable provider visits count searches over the default api [`6e26bbb`](https://git.odit.services/kauft.es/linkylinky/commit/6e26bbbf5f29e4c1eaa56c5dc41ab77c192d0cfb)
- Server now inserts provider on visit [`824c109`](https://git.odit.services/kauft.es/linkylinky/commit/824c109a420efd0e1e6de01d93827020f3fe5a5f)
- Added package script for migration creation [`6195001`](https://git.odit.services/kauft.es/linkylinky/commit/6195001d4b701d39470ff4be0e265f9afb288e78)
#### [0.4.3](https://git.odit.services/kauft.es/linkylinky/compare/0.4.2...0.4.3)
> 21 August 2021
- Fixed auth error crashing the entire server thanks to fastify handling stuff not the same way that they do in the docs..... [`#1`](https://git.odit.services/kauft.es/linkylinky/issues/1)
- 🚀RELEASE 0.4.3 [`0afa803`](https://git.odit.services/kauft.es/linkylinky/commit/0afa80345d47e09e20d4365634f8532248b2044c)
#### [0.4.2](https://git.odit.services/kauft.es/linkylinky/compare/0.4.1...0.4.2)

View File

@ -0,0 +1,10 @@
exports.up = function(knex) {
return knex.schema.table('visits', function (table) {
table.text('provider').defaultTo("N/A");
});
};
exports.down = function(knex) {
};

View File

@ -1,6 +1,6 @@
{
"name": "@odit/shortener-backend",
"version": "0.4.3",
"version": "0.5.0",
"main": "index.js",
"license": "MIT",
"private": false,
@ -20,7 +20,8 @@
"dev": "nodemon src/server.js",
"start": "node src/server.js",
"migrate": "knex migrate:latest",
"release": "release-it"
"release": "release-it",
"create:migration": "knex migrate:make"
},
"dependencies": {
"argon2": "^0.28.2",

View File

@ -75,20 +75,24 @@ fastify.decorate('verifyJWT', function async(request, reply, done) {
//Automagic Amazn redirects on /a/
fastify.get('/a/:id', async (req, res) => {
res.redirect(302, `https://amazon.de/dp/${req.params.id}`)
await knex('visits').insert({ shortcode: req.params.id, provider: 'a' });
})
//Automagic Youtube redirects on /yt/
fastify.get('/yt/:id', async (req, res) => {
res.redirect(302, `https://youtu.be/${req.params.id}`)
await knex('visits').insert({ shortcode: req.params.id, provider: 'yt' });
})
//Automagic Youtube Playlist redirects on /ytpl/
fastify.get('/ytpl/:id', async (req, res) => {
res.redirect(302, `https://youtube.com/playlist?list=${req.params.id}`)
await knex('visits').insert({ shortcode: req.params.id, provider: 'ytpl' });
})
//Automagic ebay item redirects on /e/
fastify.get('/e/:id', async (req, res) => {
res.redirect(302, `https://ebay.de/itm/${req.params.id}`)
await knex('visits').insert({ shortcode: req.params.id, provider: 'e' });
})
//Normal shorturls
@ -107,7 +111,7 @@ fastify.get('/:shortcode', async (req, res) => {
return 404
}
res.redirect(302, target[0].target);
await knex('visits').insert({ shortcode });
await knex('visits').insert({ shortcode, provider: 'native' });
})
//Create new url schema
@ -272,15 +276,7 @@ fastify.after(() => {
return 404;
}
const exists = await knex.select('shortcode', 'target')
.from('urls')
.where('shortcode', '=', shortcode)
.limit(1);
if (exists.length == 0) {
return 404;
}
const visits = await knex.select('timestamp')
const visits = await knex.select('timestamp', 'provider')
.from('visits')
.where('shortcode', '=', shortcode);