Skip to content
Snippets Groups Projects
Commit 7ea5ec21 authored by Guillaume WANG's avatar Guillaume WANG
Browse files

Restructured JS source files

parent aba62ce8
No related branches found
No related tags found
No related merge requests found
/**
* @file admin_view
* @summary Interface "administrateur" de l'acces aux BDD
*
*/
import express from 'express';
import knex from '../../db/knex_router';
const router = express.Router();
let port = 3000;
router.get('/', function (req, res) {
console.log('Connecting to ' + req.url);
res.render('home', { title: 'Home', port: port });
});
router.get('/db?', function (req, res) {
let table_name = req.query.table;
let columns = req.query.columns;
res.redirect(`db/${table_name}?columns=${columns}`);
});
/**
* @function Knex API: Get table
* @summary Effectue une requête pour une table dans la BDD
* @argument {string} table_name - La table voulue par l'utilisateur.
*/
router.get('/db/:table_name?', function (req, res) {
// get columns from query
let columns;
if (req.query.columns) {
columns = req.query.columns.split(',');
} else {
columns = null;
}
console.log(columns);
knex.select(columns).from(req.params.table_name).then(function (table) {
res.setHeader("Content-Type", "application/json");
res.write(JSON.stringify(table, null, 2));
res.end();
}, function () {
res.status(400);
res.render('error', {
status: res.statusCode,
error_message: "Bad request: can't find table " + req.params.table_name
});
res.end();
}
);
});
/**
* @function Error 404 catcher
* @summary Catche les requêtes en dehors des URL acceptées
*/
router.use((req, res, next) => {
let err = new Error('Not found');
err.status = 404;
next(err);
});
/**
* @function Error 404 handler
* @summary Gère les erreurs 404
*/
router.use((err, req, res, next) => {
res.locals.message = err.message;
res.status(err.status || 500);
let error_message = res.statusCode == 404 ? 'Not found.' : 'Internal server error.';
res.render('error', {
status: res.statusCode,
error_message: error_message
});
});
export default router;
\ No newline at end of file
import server from './server';
import router from './admin_view/admin_view';
import colors from 'colors';
import { graphqlExpress, graphiqlExpress } from 'graphql-server-express';
import makeExecutableSchema from 'graphql-tools';
......@@ -6,79 +7,14 @@ import knex from '../db/knex_router';
import path from 'path';
/**
* @function Home
* @summary Renvoie l'accueil du backend
* @file index
* @summary Entry point de webpack
*
*/
server.get('/', function(req, res) {
console.log('Connecting to '+req.url);
res.render('home', {title: 'Home', port: port});
});
server.use(router);
server.get('/db?', function(req, res) {
let table_name = req.query.table;
let columns = req.query.columns;
let port = process.env.PORT || 3000;
res.redirect(`db/${table_name}?columns=${columns}`);
});
/**
* @function Knex API: Get table
* @summary Effectue une requête pour une table dans la BDD
* @argument {string} table_name - La table voulue par l'utilisateur.
*/
server.get('/db/:table_name?', function(req, res) {
// get columns from query
let columns;
if (req.query.columns) {
columns = req.query.columns.split(',');
} else {
columns = null;
}
console.log(columns);
knex.select(columns).from(req.params.table_name).then(function(table) {
res.setHeader("Content-Type", "application/json");
res.write(JSON.stringify(table,null,2));
res.end();
},function() {
res.status(400);
res.render('error', {
status: res.statusCode,
error_message: "Bad request: can't find table " + req.params.table_name
});
res.end();
}
);
});
/**
* @function Error 404 catcher
* @summary Catche les requêtes en dehors des URL acceptées
*/
server.use((req, res, next) => {
let err = new Error('Not found');
err.status = 404;
next(err);
});
/**
* @function Error 404 handler
* @summary Gère les erreurs 404
*/
server.use((err, req, res, next) => {
res.locals.message = err.message;
res.status(err.status || 500);
let error_message = res.statusCode == 404 ? 'Not found.' : 'Internal server error.';
res.render('error', {
status: res.statusCode,
error_message: error_message
});
});
// define port server is to listen on
const port = process.env.PORT || 3000;
server.listen(port, () => console.log(colors.blue('Express server running on port', port)));
\ No newline at end of file
server.listen(port, () => {
console.log(colors.blue(`Express server listening on port ${port}`));
});
\ No newline at end of file
File moved
File moved
......@@ -3,28 +3,35 @@ import bodyParser from 'body-parser';
import favicon from 'serve-favicon';
import morgan from 'morgan';
import path from 'path';
import ldap_auth from './ldap_auth';
import ldap_auth from './ldap_auth/ldap_auth';
/**
* @file server.js
* @summary Cree le serveur express avec tous les middleware qui vont bien
*
*/
const server = express();
// on sait pas a quoi ca sert mais il parait que c'est utile
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({
extended: false
}));
// setting up view engine
// setting up view engine for pug
let viewpath = path.resolve('./','src','views');
console.log(viewpath);
server.set('views', viewpath);
server.set('view engine', 'pug');
// setting up ldap authentication
ldap_auth(server);
// a capital sigma symbol
// favicon: capital sigma symbol
server.use(favicon(path.resolve('./','assets','favicon.ico')));
// Morgan is middleware for logging requests
server.use(morgan('dev'));
// setting up ldap authentication
ldap_auth(server);
export default server;
......@@ -10,3 +10,4 @@ html(lang="en")
title API server - #{title}
body
block content
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment