26 Commits
0.7.1 ... 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
28087400b7 🚀RELEASE 0.7.2
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-16 17:57:33 +01:00
9cf8248522 Pinned knex version (thx sqlite) 2022-01-16 17:57:07 +01:00
35fafa337b Merge pull request 'Update dependency dotenv to v12' (#14) from renovate/dotenv-12.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #14
2022-01-15 11:56:58 +00:00
d0eed67697 Update dependency dotenv to v12
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-01-15 00:01:56 +00:00
36ce64a79d Docker speedbuild
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-12 18:26:49 +01:00
7 changed files with 4307 additions and 69 deletions

View File

@@ -1,59 +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: 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
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
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,9 +2,33 @@
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)
> 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)
- Update dependency dotenv to v12 [`d0eed67`](https://git.odit.services/kauft.es/linkylinky/commit/d0eed676971488b2207a05b2200283033d132cba)
#### [0.7.1](https://git.odit.services/kauft.es/linkylinky/compare/0.7.0...0.7.1) #### [0.7.1](https://git.odit.services/kauft.es/linkylinky/compare/0.7.0...0.7.1)
> 12 January 2022
- Added examples to readme [`93a9318`](https://git.odit.services/kauft.es/linkylinky/commit/93a931830f853cea4502b9c74e0d74202efb23ce) - Added examples to readme [`93a9318`](https://git.odit.services/kauft.es/linkylinky/commit/93a931830f853cea4502b9c74e0d74202efb23ce)
- 🚀RELEASE 0.7.1 [`4da3cea`](https://git.odit.services/kauft.es/linkylinky/commit/4da3cea59f69fe7714323935d2f2e14ba3210f13)
- Updated readme w/ native provider [`85249e8`](https://git.odit.services/kauft.es/linkylinky/commit/85249e83b1ec349d740d72394dfbda4ab4d5984e) - Updated readme w/ native provider [`85249e8`](https://git.odit.services/kauft.es/linkylinky/commit/85249e83b1ec349d740d72394dfbda4ab4d5984e)
- Smol bugfix [`e06f925`](https://git.odit.services/kauft.es/linkylinky/commit/e06f9253cf39cd76205da448e6758ca3b51130d6) - Smol bugfix [`e06f925`](https://git.odit.services/kauft.es/linkylinky/commit/e06f9253cf39cd76205da448e6758ca3b51130d6)

View File

@@ -1,15 +1,16 @@
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 WORKDIR /app
COPY package.json . COPY package.json .
# COPY yarn.lock . RUN npm config set registry https://$NPM_REGISTRY_DOMAIN && npm config set //$NPM_REGISTRY_DOMAIN/:_authToken $NPM_REGISTRY_TOKEN
RUN yarn --production --frozen-lockfile RUN npm i -g pnpm && pnpm i
COPY migrations ./migrations COPY migrations ./migrations
COPY src ./src COPY src ./src
COPY knexfile.js ./ COPY knexfile.js ./
RUN mkdir db RUN mkdir db
#
# FROM astefanutti/scratch-node:16.0.0 FROM registry.odit.services/hub/library/node:18.0.0-alpine3.14
FROM registry.odit.services/hub/library/node:17.0.1-alpine3.14
WORKDIR /app WORKDIR /app
COPY --from=0 /app /app COPY --from=0 /app /app
ENV NODE_ENV production ENV NODE_ENV production

View File

@@ -1,6 +1,6 @@
{ {
"name": "@odit/shortener-backend", "name": "@odit/shortener-backend",
"version": "0.7.1", "version": "0.8.0",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
"private": false, "private": false,
@@ -25,20 +25,21 @@
}, },
"dependencies": { "dependencies": {
"argon2": "^0.28.2", "argon2": "^0.28.2",
"dotenv": "^11.0.0", "badge-maker": "^3.3.1",
"dotenv": "^16.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"
}, },
"devDependencies": { "devDependencies": {
"nodemon": "^2.0.12", "nodemon": "^2.0.12",
"release-it": "^14.11.3" "release-it": "^15.0.0"
}, },
"release-it": { "release-it": {
"git": { "git": {

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) => {

4198
yarn.lock Normal file

File diff suppressed because it is too large Load Diff