Compare commits

...

7 Commits
0.1.1 ... 0.1.2

Author SHA1 Message Date
Nicolai Ort b14fa05adc 🚀RELEASE 0.1.2
continuous-integration/drone/push Build is passing Details
2021-08-14 13:10:00 +02:00
Nicolai Ort 7c71e94304
Added optional db volume to docker-compose 2021-08-14 13:09:40 +02:00
Nicolai Ort 8fa489f2bc
Changed the way that the migration get's triggered 2021-08-14 13:09:25 +02:00
Nicolai Ort 512acc0b8c
Prod db now resides in db folder
continuous-integration/drone/push Build is passing Details
2021-08-14 12:56:02 +02:00
Nicolai Ort 567ac07612 Merge branch 'main' of git.odit.services:kauft.es/linkylinky into main
continuous-integration/drone/push Build is passing Details
2021-08-14 11:50:35 +02:00
Nicolai Ort fa01864d0d
API Endpoint to get all short urls 2021-08-14 11:50:29 +02:00
Nicolai Ort 91b25c22ca
Get all api endpoints 2021-08-14 11:50:03 +02:00
7 changed files with 37 additions and 12 deletions

3
.env
View File

@ -1,3 +1,4 @@
SSL=false SSL=true
DOMAIN=kauft.es
DISABLE_PROVIDERS=false DISABLE_PROVIDERS=false
ENABLE_REGISTER=true ENABLE_REGISTER=true

View File

@ -2,8 +2,19 @@
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.1.2](https://git.odit.services/kauft.es/linkylinky/compare/0.1.1...0.1.2)
- API Endpoint to get all short urls [`fa01864`](https://git.odit.services/kauft.es/linkylinky/commit/fa01864d0de7921e741d63c3f5795161279ea478)
- Changed the way that the migration get's triggered [`8fa489f`](https://git.odit.services/kauft.es/linkylinky/commit/8fa489f2bcd9d1ad63ab4581b7f3b27eee3d9038)
- Get all api endpoints [`91b25c2`](https://git.odit.services/kauft.es/linkylinky/commit/91b25c22ca035aec5cc2fdc80ca4fbb56a2f8b65)
- Added optional db volume to docker-compose [`7c71e94`](https://git.odit.services/kauft.es/linkylinky/commit/7c71e943041d8e3ac9dcf95cad27f2f0bc0b024c)
- Prod db now resides in db folder [`512acc0`](https://git.odit.services/kauft.es/linkylinky/commit/512acc0b8c15d4cfbafef21ec20707bac4629ea4)
#### [0.1.1](https://git.odit.services/kauft.es/linkylinky/compare/0.1.0...0.1.1) #### [0.1.1](https://git.odit.services/kauft.es/linkylinky/compare/0.1.0...0.1.1)
> 14 August 2021
- 🚀RELEASE 0.1.1 [`55d6b91`](https://git.odit.services/kauft.es/linkylinky/commit/55d6b91cc252ee6676d13df9abd8b61283a07f0f)
- fix: Dockerfile [`807eb9c`](https://git.odit.services/kauft.es/linkylinky/commit/807eb9c267377df0b5f30f81eb380ef8a1c2add2) - fix: Dockerfile [`807eb9c`](https://git.odit.services/kauft.es/linkylinky/commit/807eb9c267377df0b5f30f81eb380ef8a1c2add2)
#### [0.1.0](https://git.odit.services/kauft.es/linkylinky/compare/0.0.2...0.1.0) #### [0.1.0](https://git.odit.services/kauft.es/linkylinky/compare/0.0.2...0.1.0)

View File

@ -6,6 +6,7 @@ RUN yarn --production --frozen-lockfile
COPY migrations ./migrations COPY migrations ./migrations
COPY src/server.js ./ COPY src/server.js ./
COPY knexfile.js ./ COPY knexfile.js ./
RUN mkdir db
# #
# FROM astefanutti/scratch-node:16.0.0 # FROM astefanutti/scratch-node:16.0.0
FROM node:16.6.2-alpine3.14 FROM node:16.6.2-alpine3.14
@ -13,4 +14,4 @@ WORKDIR /app
COPY --from=0 /app /app COPY --from=0 /app /app
ENV NODE_ENV production ENV NODE_ENV production
EXPOSE 3000 EXPOSE 3000
ENTRYPOINT ["node", "./server.js"] ENTRYPOINT ["/bin/sh", "-c", "yarn migrate && node ./server.js"]

View File

@ -5,3 +5,5 @@ services:
#image: registry.odit.services/kauft.es/linkylinky:latest #image: registry.odit.services/kauft.es/linkylinky:latest
ports: ports:
- 3000:3000 - 3000:3000
#volumes:
# - ./db:/app/db

View File

@ -12,7 +12,7 @@ module.exports = {
production: { production: {
client: 'sqlite3', client: 'sqlite3',
connection: { connection: {
filename: './db.sqlite3' filename: './db/db.sqlite3'
}, },
migrations: { migrations: {
tableName: 'knex_migrations' tableName: 'knex_migrations'

View File

@ -1,6 +1,6 @@
{ {
"name": "@odit/shortener-backend", "name": "@odit/shortener-backend",
"version": "0.1.1", "version": "0.1.2",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
"private": false, "private": false,

View File

@ -221,7 +221,7 @@ fastify.after(() => {
}); });
//Get url api route //Get url api route
fastify.delete('/api/:shortcode', async (req, res) => { fastify.delete('/api/:shortcode', { onRequest: fastify.basicAuth }, async (req, res) => {
const shortcode = req.params.shortcode; const shortcode = req.params.shortcode;
//This should never happen but better safe than 500 //This should never happen but better safe than 500
@ -237,6 +237,23 @@ fastify.after(() => {
return true; return true;
}); });
//Get all urls api route
fastify.get('/api', { onRequest: fastify.basicAuth }, async (req, res) => {
urls = await knex.select('target', 'shortcode')
.from('urls');
for (let url of urls) {
url.url = `${config.getBaseUrl()}/${url.shortcode}`
if(req.query.showVisits){
url.visits = (await knex.select('timestamp')
.from('visits')
.where('shortcode', '=', url.shortcode)).length;
}
}
return urls;
});
}); });
@ -298,13 +315,6 @@ async function validate(username, password, req, reply) {
// Run the server! // Run the server!
const start = async () => { const start = async () => {
try {
await knex.migrate.latest()
} catch (err) {
fastify.log.error(err)
process.exit(1)
}
try { try {
await fastify.listen(3000, '0.0.0.0') await fastify.listen(3000, '0.0.0.0')
} catch (err) { } catch (err) {