assetflow/src/index.ts

63 lines
1.6 KiB
TypeScript
Raw Normal View History

import { Signale } from 'signale';
import ConfigHandler from './assets/configHandler';
import express, { Request, Response } from 'express';
import fileUpload from 'express-fileupload';
import { PrismaClient } from '@prisma/client';
import { Status, Category } from '@prisma/client';
import * as eta from 'eta';
2023-05-01 00:07:13 +02:00
import routes from './routes/index.js';
// Get app directory.
2023-05-01 00:14:16 +02:00
export const __path = process.argv[1];
const logger_settings = {
disabled: false,
logLevel: 'info',
scope: 'Core',
stream: process.stdout,
displayFilename: true
};
const coreLogger = new Signale(logger_settings);
2023-05-01 00:07:13 +02:00
export const log = {
core: coreLogger,
db: coreLogger.scope('DB'),
web: coreLogger.scope('WEB')
};
// Create a new config instance.
export const config = new ConfigHandler(__path + '/config.json', {
db_connection_string: 'mysql://USER:PASSWORD@HOST:3306/DATABASE',
http_listen_address: '127.0.0.1',
http_port: 3000,
debug: false
});
2023-05-01 00:07:13 +02:00
export const prisma = new PrismaClient({
datasources: {
db: {
url: config.global.db_connection_string
}
}
});
2023-05-01 00:07:13 +02:00
export const app = express();
2023-05-04 20:21:10 +02:00
app.set('x-powered-by', false);
app.set('strict routing', true);
app.engine('html', eta.renderFile);
app.use(fileUpload());
// Configure static https://expressjs.com/de/starter/static-files.html
// app.use('/static', express.static('public'));
2023-05-04 20:21:10 +02:00
app.use(express.static(__path + '/static'));
/* app.use((req, res, next) => {
res.status(404).send("Sorry can't find that!");
}); */
//routes(app);
app.use(routes);
app.listen(config.global.http_port, config.global.http_listen_address, () => {
log.web.info(`Listening at http://${config.global.http_listen_address}:${config.global.http_port}`);
});