21 Commits
0.7.2 ... main

Author SHA1 Message Date
2bd82ceb01 Merge branch 'main' of git.odit.services:kauft.es/linkylinky
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2023-11-04 16:43:38 +01:00
641cd0dcdc feat(ci)!: Switch to woodpecker 2023-11-04 16:43:24 +01:00
98b8e9578f Merge pull request 'Update registry.odit.services/hub/library/node Docker tag to v18' (#24) from renovate/registry.odit.services-hub-library-node-18.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #24
2022-04-30 14:12:57 +00:00
c3cc58f4c9 Merge pull request 'Update dependency release-it to v15' (#25) from renovate/release-it-15.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #25
2022-04-30 14:10:18 +00:00
c7c32fa386 Update dependency release-it to v15
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-04-30 12:47:14 +00:00
cca7eb0ec3 Update registry.odit.services/hub/library/node Docker tag to v18
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-04-22 14:46:43 +00:00
2afceb8436 Merge pull request 'Update registry.odit.services/hub/library/node Docker tag to v17.9.0' (#22) from renovate/registry.odit.services-hub-library-node-17.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #22
2022-04-20 18:04:26 +00:00
fa15fc36ca Update registry.odit.services/hub/library/node Docker tag to v17.9.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-04-19 20:46:31 +00:00
8b6db25695 Merge pull request 'Update registry.odit.services/hub/library/node Docker tag to v17.7.2' (#21) from renovate/registry.odit.services-hub-library-node-17.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #21
2022-03-26 17:46:11 +00:00
5042166604 Update registry.odit.services/hub/library/node Docker tag to v17.7.2
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-03-22 20:01:13 +00:00
72164ee20e Merge pull request 'Update dependency dotenv to v16' (#20) from renovate/dotenv-16.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #20
2022-02-04 08:16:24 +00:00
cb951b4b12 Update dependency dotenv to v16
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-02-02 21:32:33 +00:00
0bb30ccc7b 🚀RELEASE 0.8.0
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-02 15:33:38 +01:00
fd5142020d Added BADGE API endpoint (no auth needed)
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-02 15:25:55 +01:00
40f1ea4757 Added badge-maker dependency 2022-02-02 15:24:59 +01:00
eb053df154 Merge pull request 'Update dependency dotenv to v15' (#19) from renovate/dotenv-15.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #19
2022-02-01 20:34:58 +00:00
5b518c5884 Update dependency dotenv to v15
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-31 05:17:19 +00:00
d320b20dfc Merge pull request 'Update dependency dotenv to v14' (#18) from renovate/dotenv-14.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #18
2022-01-17 16:39:02 +00:00
6fd89b75ab Merge pull request 'Update dependency knex to v0.95.15' (#16) from renovate/knex-0.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #16
2022-01-17 16:38:40 +00:00
ae4a930ddb Update dependency dotenv to v14
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-17 04:01:54 +00:00
bc466e7fd9 Update dependency knex to v0.95.15
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-16 17:02:25 +00:00
7 changed files with 4292 additions and 89 deletions

View File

@@ -1,83 +0,0 @@
---
kind: secret
name: docker_username
get:
path: odit-registry-builder
name: username
---
kind: secret
name: docker_password
get:
path: odit-registry-builder
name: password
---
kind: secret
name: npmjs_domain
get:
path: odit-npm-bot
name: domain
---
kind: secret
name: npmjs_token
get:
path: odit-npm-bot
name: token
---
kind: pipeline
type: kubernetes
name: build:latest
steps:
- name: docker release
image: plugins/docker
depends_on: [clone]
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: registry.odit.services/kauft.es/linkylinky
tags:
- latest
registry: registry.odit.services
build_args:
- NPM_REGISTRY_DOMAIN:
from_secret: npmjs_domain
- NPM_REGISTRY_TOKEN:
from_secret: npmjs_token
mtu: 1000
when:
branch:
- main
---
kind: pipeline
type: kubernetes
name: build:tags
steps:
- name: build $DRONE_TAG
image: plugins/docker
depends_on: [clone]
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: registry.odit.services/kauft.es/linkylinky
tags:
- '${DRONE_TAG}'
registry: registry.odit.services
build_args:
- NPM_REGISTRY_DOMAIN:
from_secret: npmjs_domain
- NPM_REGISTRY_TOKEN:
from_secret: npmjs_token
mtu: 1000
trigger:
event:
- tag

38
.woodpecker/build.yml Normal file
View File

@@ -0,0 +1,38 @@
steps:
- name: build latest
image: woodpeckerci/plugin-docker-buildx
settings:
repo: registry.odit.services/kauft.es/linkylinky
tags:
- latest
registry: registry.odit.services
platforms: linux/amd64,linux/arm64
cache_from: registry.odit.services/kauft.es/linkylinky:latest
username:
from_secret: odit-registry-builder-username
password:
from_secret: odit-registry-builder-password
secrets:
- source: odit-npm-cache-url
target: NPM_REGISTRY_URL
when:
branch: main
event: push
- name: build tag
image: woodpeckerci/plugin-docker-buildx
settings:
repo: registry.odit.services/kauft.es/linkylinky
tags:
- "${CI_COMMIT_TAG}"
registry: registry.odit.services
platforms: linux/amd64,linux/arm64
cache_from: registry.odit.services/kauft.es/linkylinky:latest
username:
from_secret: odit-registry-builder-username
password:
from_secret: odit-registry-builder-password
secrets:
- source: odit-npm-cache-url
target: NPM_REGISTRY_URL
when:
event: tag

View File

@@ -2,8 +2,22 @@
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)
> 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)
- 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)

View File

@@ -1,4 +1,4 @@
FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14
FROM registry.odit.services/hub/library/node:18.0.0-alpine3.14
ARG NPM_REGISTRY_DOMAIN=registry.npmjs.org
ARG NPM_REGISTRY_TOKEN=null
WORKDIR /app
@@ -10,7 +10,7 @@ COPY src ./src
COPY knexfile.js ./
RUN mkdir db
FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14
FROM registry.odit.services/hub/library/node:18.0.0-alpine3.14
WORKDIR /app
COPY --from=0 /app /app
ENV NODE_ENV production

View File

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

View File

@@ -3,6 +3,7 @@ var uniqid = require('uniqid');
require('dotenv').config();
const argon2 = require('argon2');
const isBot = require('isbot')
const { makeBadge, ValidationError } = require('badge-maker')
let config = {
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
fastify.post('/api/auth/register', async (req, res) => {

4198
yarn.lock Normal file

File diff suppressed because it is too large Load Diff