Compare commits

...

6 Commits
0.2.0 ... 0.3.0

Author SHA1 Message Date
Nicolai Ort a62ee63c83 🚀RELEASE 0.3.0
continuous-integration/drone/push Build is passing Details
2021-08-18 15:22:49 +02:00
Nicolai Ort c89f2a2939
Added stats api route 2021-08-18 15:21:36 +02:00
Nicolai Ort d51c58867d
Added comments 2021-08-16 15:19:04 +02:00
Nicolai Ort 2fa520fdde
Added author info
continuous-integration/drone/push Build is passing Details
2021-08-14 16:02:40 +02:00
Nicolai Ort 5bb7212420
Added license 2021-08-14 16:00:45 +02:00
Nicolai Ort 2226705e3f
Updated readme 2021-08-14 15:52:56 +02:00
5 changed files with 69 additions and 3 deletions

View File

@ -2,8 +2,19 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [0.3.0](https://git.odit.services/kauft.es/linkylinky/compare/0.2.0...0.3.0)
- Added license [`5bb7212`](https://git.odit.services/kauft.es/linkylinky/commit/5bb7212420ba102e743d62a47074191cdb264d2a)
- Added stats api route [`c89f2a2`](https://git.odit.services/kauft.es/linkylinky/commit/c89f2a2939b658ffc688646ccce32fc0e1530583)
- Added author info [`2fa520f`](https://git.odit.services/kauft.es/linkylinky/commit/2fa520fdde1d55b2766b4b03e394e21a4f6cbae5)
- Updated readme [`2226705`](https://git.odit.services/kauft.es/linkylinky/commit/2226705e3f57d7d2f3ef5a79947c3ab44ec62c38)
- Added comments [`d51c588`](https://git.odit.services/kauft.es/linkylinky/commit/d51c58867d7508c84f26c236e38567bc6a4adbed)
#### [0.2.0](https://git.odit.services/kauft.es/linkylinky/compare/0.1.4...0.2.0)
> 14 August 2021
- 🚀RELEASE 0.2.0 [`7293295`](https://git.odit.services/kauft.es/linkylinky/commit/72932955d15976947dd553c5deba51cbf541b215)
- Added ebay provider recognition [`12c6d7e`](https://git.odit.services/kauft.es/linkylinky/commit/12c6d7e3da5cb4de6a597b4639f313b8e4319646)
- Ebay provider resolution [`339e2f3`](https://git.odit.services/kauft.es/linkylinky/commit/339e2f39d88d42a961e1e495f319dc0663cdc0a6)
- Now recognizing with and without protocol [`1624e66`](https://git.odit.services/kauft.es/linkylinky/commit/1624e666e83e0afe346bcacb105ea1a1535f0690)

24
LICENSE Normal file
View File

@ -0,0 +1,24 @@
MIT License
-----------
Copyright (c) 2021 ODIT.Services (https://odit.services)
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,5 +1,8 @@
# LinkyLinky 🔗
> A small url shortener, originaly developed for kauft.es
<p align="center">
<img height="150" src="https://git.odit.services/user/avatar/kauft.es/140">
<h1 align="center">LinkyLinky 🔗</h1>
<h3 align="center">A small url shortener, originaly developed for kauft.es</h3>
</p>
## Dev Setup 🛠
> Runs on port 3000

View File

@ -1,9 +1,21 @@
{
"name": "@odit/shortener-backend",
"version": "0.2.0",
"version": "0.3.0",
"main": "index.js",
"license": "MIT",
"private": false,
"author": {
"name": "ODIT.Services",
"email": "info@odit.services",
"url": "https://odit.services"
},
"contributors": [
{
"name": "Nicolai Ort",
"email": "info@nicolai-ort.com",
"url": "https://nicolai-ort.com"
}
],
"scripts": {
"dev": "nodemon src/server.js",
"start": "node src/server.js",

View File

@ -139,6 +139,20 @@ fastify.post('/api', { newUrlSchema }, async (req, res) => {
}
});
//Get stats api route
fastify.get('/api/stats', async (req, res) => {
const urls = await knex.select('shortcode')
.from('urls');
const visits = await knex.select('timestamp')
.from('visits');
return {
urls: urls.length,
visits: visits.length,
}
});
//Get url api route
fastify.get('/api/:shortcode', async (req, res) => {
const shortcode = req.params.shortcode;
@ -168,6 +182,7 @@ fastify.get('/api/:shortcode', async (req, res) => {
}
});
//User registration
fastify.post('/api/register', async (req, res) => {
if (!config.registrationEnabled) {
@ -201,6 +216,7 @@ fastify.post('/api/register', async (req, res) => {
return "Done!"
});
//Anything in here has some kind of auth
fastify.after(() => {
//Get url api route
fastify.get('/api/:shortcode/visits', { onRequest: fastify.basicAuth }, async (req, res) => {