Compare commits

...

9 Commits
0.7.2 ... 0.8.0

Author SHA1 Message Date
Nicolai Ort 0bb30ccc7b 🚀RELEASE 0.8.0
continuous-integration/drone/push Build is passing Details
2022-02-02 15:33:38 +01:00
Nicolai Ort fd5142020d
Added BADGE API endpoint (no auth needed)
continuous-integration/drone/push Build is passing Details
2022-02-02 15:25:55 +01:00
Nicolai Ort 40f1ea4757
Added badge-maker dependency 2022-02-02 15:24:59 +01:00
Nicolai Ort eb053df154 Merge pull request 'Update dependency dotenv to v15' (#19) from renovate/dotenv-15.x into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #19
2022-02-01 20:34:58 +00:00
ODIT Renovate Bot 5b518c5884 Update dependency dotenv to v15
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-31 05:17:19 +00:00
Nicolai Ort d320b20dfc Merge pull request 'Update dependency dotenv to v14' (#18) from renovate/dotenv-14.x into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #18
2022-01-17 16:39:02 +00:00
Nicolai Ort 6fd89b75ab Merge pull request 'Update dependency knex to v0.95.15' (#16) from renovate/knex-0.x into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #16
2022-01-17 16:38:40 +00:00
ODIT Renovate Bot ae4a930ddb Update dependency dotenv to v14
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-17 04:01:54 +00:00
ODIT Renovate Bot bc466e7fd9 Update dependency knex to v0.95.15
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-01-16 17:02:25 +00:00
4 changed files with 3515 additions and 3 deletions

View File

@ -2,8 +2,22 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC. All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [0.8.0](https://git.odit.services/kauft.es/linkylinky/compare/0.7.2...0.8.0)
- Added badge-maker dependency [`40f1ea4`](https://git.odit.services/kauft.es/linkylinky/commit/40f1ea47574cd0cf2ab7ea28d9cd70243da40f27)
- Added BADGE API endpoint (no auth needed) [`fd51420`](https://git.odit.services/kauft.es/linkylinky/commit/fd5142020d46a6117f0f00302690511e18d67d14)
- Merge pull request 'Update dependency dotenv to v15' (#19) from renovate/dotenv-15.x into main [`eb053df`](https://git.odit.services/kauft.es/linkylinky/commit/eb053df154e4598da46c275435a4b1bb9b133119)
- Update dependency dotenv to v15 [`5b518c5`](https://git.odit.services/kauft.es/linkylinky/commit/5b518c58848899da19f50d4d9517ef7749ec26a5)
- Merge pull request 'Update dependency dotenv to v14' (#18) from renovate/dotenv-14.x into main [`d320b20`](https://git.odit.services/kauft.es/linkylinky/commit/d320b20dfca67a79b83caf10735f367aafad7fbb)
- Merge pull request 'Update dependency knex to v0.95.15' (#16) from renovate/knex-0.x into main [`6fd89b7`](https://git.odit.services/kauft.es/linkylinky/commit/6fd89b75abbaac37435f8556da2db2d262d7ede4)
- Update dependency dotenv to v14 [`ae4a930`](https://git.odit.services/kauft.es/linkylinky/commit/ae4a930ddb9bafd89967235342a2ad3954e53e13)
- Update dependency knex to v0.95.15 [`bc466e7`](https://git.odit.services/kauft.es/linkylinky/commit/bc466e7fd97d5292c6a00a36b3abce147c862c6b)
#### [0.7.2](https://git.odit.services/kauft.es/linkylinky/compare/0.7.1...0.7.2) #### [0.7.2](https://git.odit.services/kauft.es/linkylinky/compare/0.7.1...0.7.2)
> 16 January 2022
- 🚀RELEASE 0.7.2 [`2808740`](https://git.odit.services/kauft.es/linkylinky/commit/28087400b79d6790939db34a814850df04364947)
- Pinned knex version (thx sqlite) [`9cf8248`](https://git.odit.services/kauft.es/linkylinky/commit/9cf8248522b31e14c4f6f304f620a3040cc2f496) - Pinned knex version (thx sqlite) [`9cf8248`](https://git.odit.services/kauft.es/linkylinky/commit/9cf8248522b31e14c4f6f304f620a3040cc2f496)
- Merge pull request 'Update dependency dotenv to v12' (#14) from renovate/dotenv-12.x into main [`35fafa3`](https://git.odit.services/kauft.es/linkylinky/commit/35fafa337b81ad79a9f0f3501624ece40bda7967) - Merge pull request 'Update dependency dotenv to v12' (#14) from renovate/dotenv-12.x into main [`35fafa3`](https://git.odit.services/kauft.es/linkylinky/commit/35fafa337b81ad79a9f0f3501624ece40bda7967)
- Docker speedbuild [`36ce64a`](https://git.odit.services/kauft.es/linkylinky/commit/36ce64a79dec5e98dbc90f5d9dbb366bbaaed049) - Docker speedbuild [`36ce64a`](https://git.odit.services/kauft.es/linkylinky/commit/36ce64a79dec5e98dbc90f5d9dbb366bbaaed049)

View File

@ -1,6 +1,6 @@
{ {
"name": "@odit/shortener-backend", "name": "@odit/shortener-backend",
"version": "0.7.2", "version": "0.8.0",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
"private": false, "private": false,
@ -25,14 +25,15 @@
}, },
"dependencies": { "dependencies": {
"argon2": "^0.28.2", "argon2": "^0.28.2",
"dotenv": "^12.0.0", "badge-maker": "^3.3.1",
"dotenv": "^15.0.0",
"fastify": "^3.20.1", "fastify": "^3.20.1",
"fastify-auth": "^1.1.0", "fastify-auth": "^1.1.0",
"fastify-basic-auth": "^2.1.0", "fastify-basic-auth": "^2.1.0",
"fastify-cors": "^6.0.2", "fastify-cors": "^6.0.2",
"fastify-jwt": "^4.0.0", "fastify-jwt": "^4.0.0",
"isbot": "^3.3.3", "isbot": "^3.3.3",
"knex": "0.95.0", "knex": "0.95.15",
"sqlite3": "^5.0.2", "sqlite3": "^5.0.2",
"uniqid": "^5.3.0" "uniqid": "^5.3.0"
}, },

View File

@ -3,6 +3,7 @@ var uniqid = require('uniqid');
require('dotenv').config(); require('dotenv').config();
const argon2 = require('argon2'); const argon2 = require('argon2');
const isBot = require('isbot') const isBot = require('isbot')
const { makeBadge, ValidationError } = require('badge-maker')
let config = { let config = {
domain: process.env.DOMAIN || "localhost:3000", domain: process.env.DOMAIN || "localhost:3000",
@ -259,6 +260,40 @@ fastify.get('/api/:shortcode', async (req, res) => {
} }
}); });
//Get url api route
fastify.get('/api/badge/:shortcode', async (req, res) => {
const shortcode = req.params.shortcode;
const label = req.query.label || 'vists';
const color = req.query.color || 'green';
const style = req.query.style || 'for-the-badge';
//This should never happen but better safe than 500
if (!shortcode) {
return 404;
}
const exists = await knex.select('shortcode', 'target', 'no_preview', 'clientside')
.from('urls')
.where('shortcode', '=', shortcode)
.limit(1);
if (exists.length == 0) {
return 404;
}
const visits = await knex.select('timestamp')
.from('visits')
.where('shortcode', '=', shortcode);
const format = {
label,
message: visits.length.toString(),
color,
style
}
res.type('image/svg+xml')
return makeBadge(format);
});
//User registration //User registration
fastify.post('/api/auth/register', async (req, res) => { fastify.post('/api/auth/register', async (req, res) => {

3462
yarn.lock Normal file

File diff suppressed because it is too large Load Diff