rewriting to oop and typescript

This commit is contained in:
2021-12-01 18:05:44 +01:00
parent 67d6029699
commit 1ebafbef49
123 changed files with 2129 additions and 5 deletions

View File

@@ -0,0 +1,39 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.app = void 0;
const express_1 = __importDefault(require("express"));
const morgan_1 = __importDefault(require("morgan"));
const path_1 = __importDefault(require("path"));
const cors_1 = __importDefault(require("cors"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
const routes_1 = require("@/routes");
const middlewares_1 = require("@/middlewares");
const corsWhitelist = ['http://localhost:8080', 'http://localhost:6060'];
const corsOptions = {
origin: function (origin, callback) {
if (!origin || corsWhitelist.indexOf(origin) !== -1) {
callback(null, true);
}
else {
callback(new Error('Not allowed by CORS'));
}
},
optionsSuccessStatus: 200,
credentials: true,
};
exports.app = (0, express_1.default)();
// Middlewares
exports.app.use(middlewares_1.router);
exports.app.set('view engine', 'ejs');
exports.app.set('views', path_1.default.join(__dirname, 'views'));
exports.app.use((0, cors_1.default)(corsOptions));
exports.app.use((0, morgan_1.default)('dev'));
exports.app.use(express_1.default.urlencoded({ extended: true }));
exports.app.use(express_1.default.json());
exports.app.use(express_1.default.static(path_1.default.join(__dirname, 'public')));
exports.app.use((0, cookie_parser_1.default)());
// Routes
exports.app.use(routes_1.router);

View File

@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.root_get = void 0;
const root_get = (req, res) => {
res.render('home');
return true;
};
exports.root_get = root_get;

View File

@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.router = void 0;
const express_1 = require("express");
const sayHiMiddleware_1 = require("@/middlewares/sayHiMiddleware");
exports.router = (0, express_1.Router)();
exports.router.use(sayHiMiddleware_1.router);

View File

@@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.router = void 0;
const express_1 = require("express");
exports.router = (0, express_1.Router)();
exports.router.use((req, res, next) => {
console.log('Hi :)');
next();
});

View File

@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.router = void 0;
const express_1 = require("express");
const rootRoutes_1 = require("./rootRoutes");
exports.router = (0, express_1.Router)();
exports.router.use(rootRoutes_1.router);
// 404
exports.router.use((req, res) => {
res.status(404).send('E404');
});

View File

@@ -0,0 +1,26 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.router = void 0;
const express_1 = require("express");
const rootController = __importStar(require("@/controllers/rootController"));
exports.router = (0, express_1.Router)();
exports.router.get('/', rootController.root_get);

View File

@@ -0,0 +1,27 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const mongoose_1 = __importDefault(require("mongoose"));
const app_1 = require("@/app");
const environment_1 = __importDefault(require("@/utils/environment"));
const globalService_1 = require("@/services/globalService");
const port = environment_1.default.APP_PORT || 8080;
// MongoDB
const dbURI = environment_1.default.DB_URI;
mongoose_1.default
.connect(dbURI, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
})
.then(() => {
new globalService_1.Succ(200, 'connected to db');
app_1.app.listen(port, () => {
new globalService_1.Succ(200, `Server is listening on http://localhost:${port}`);
});
})
.catch((err) => {
new globalService_1.Err(500, err);
});

View File

@@ -0,0 +1,37 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Succ = exports.Err = void 0;
const colors_1 = __importDefault(require("colors"));
class Err {
constructor(code, message) {
this.code = code;
this.message = message;
this.drop();
}
drop() {
console.log(colors_1.default.bgRed(`${this.code}`) + colors_1.default.bgBlack.red(` ${this.message}`));
return {
code: this.code,
message: this.message,
};
}
}
exports.Err = Err;
class Succ {
constructor(code, message) {
this.code = code;
this.message = message;
this.drop();
}
drop() {
console.log(colors_1.default.bgGreen.black(`${this.code}`) + colors_1.default.green.bgBlack(` ${this.message}`));
return {
code: this.code,
message: this.message,
};
}
}
exports.Succ = Succ;

View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.helloWorld = void 0;
const helloWorld = () => {
console.log('hello world');
};
exports.helloWorld = helloWorld;

View File

@@ -0,0 +1,27 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const shell = __importStar(require("shelljs"));
// Copy all the view templates
shell.cp('-R', 'src/views', 'dist/');
shell.cp('-R', 'src/public', 'dist/');
shell.cp('-R', 'src/models', 'dist/');
shell.cp('-u', 'src/.env', 'dist/');

View File

@@ -0,0 +1,11 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
require('dotenv').config({ path: path_1.default.join(__dirname, '../.env') });
exports.default = {
APP_PORT: Number(process.env.APP_PORT),
DB_URI: String(process.env.DB_URI),
};