AppReports/index.js
Timo Hocker 8d98cf8b66
Some checks failed
continuous-integration/drone/push Build is failing
ready for test deployment
2020-08-22 10:43:35 +02:00

63 lines
1.5 KiB
JavaScript

/*
* Copyright (C) Sapphirecode - All Rights Reserved
* This file is part of appreports which is released under GPL-3.0-or-later.
* See file 'LICENSE' for full license details.
* Created by Timo Hocker <timo@scode.ovh>, August 2020
*/
// @ts-nocheck
'use strict';
const express = require ('express');
const auth = require ('@sapphirecode/auth-server-helper');
const body_parser = require ('body-parser');
const cookie_parser = require ('cookie-parser');
const db = require ('./lib/db');
const crypto = require ('@sapphirecode/crypto-helper');
const password_helper = require ('@sapphirecode/password-helper');
const api = require ('./lib/api');
const http_proxy = require ('express-http-proxy');
const history_fallback = require ('connect-history-api-fallback');
const fs = require ('fs');
const { argv } = require ('yargs');
const salt = crypto.create_salt ();
const hash = crypto.hash_sha512 ('asd', salt);
const user = {
id: 0,
salt,
password: password_helper.hash (hash)
};
const is_dev = argv.dev;
(async () => {
if (fs.existsSync ('db.sqlite'))
fs.unlinkSync ('db.sqlite');
await db.init (is_dev);
const app = express ();
app.use (cookie_parser ());
app.use (body_parser.json ());
/*
* app.use (auth ((name) => {
*if (name === 'timo')
* return user;
*return null;
*}));
*/
app.use (api);
app.use (history_fallback ());
if (is_dev)
app.use (http_proxy ('localhost:8080'));
else
app.use (express.static ('dist'));
app.listen (3000, () => {
console.log ('listening on 3000');
});
}) ();