diff --git a/index.js b/index.js index 79cb4459e8817930a530df0c7b70056cb0915544..487e42da4b0356dd7cb4e7812d11de554da20f0e 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,23 @@ var express = require('express'); var app = express(); -app.use(express.static('static')); + +app.set('view engine', 'ejs'); + + + +app.use(express.static('public')); + + + +require('./routes/common')(app); +require('./routes/bunker')(app); +require('./routes/storage')(app); +require('./routes/foods')(app); + + + + var server = app.listen(3000, function () { console.log("On: 3000"); diff --git a/middleware/bunker/deleteBunker.js b/middleware/bunker/deleteBunker.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/bunker/deleteBunker.js +++ b/middleware/bunker/deleteBunker.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/bunker/getBunker.js b/middleware/bunker/getBunker.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/bunker/getBunker.js +++ b/middleware/bunker/getBunker.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/bunker/getBunkerList.js b/middleware/bunker/getBunkerList.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/bunker/getBunkerList.js +++ b/middleware/bunker/getBunkerList.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/bunker/saveBunker.js b/middleware/bunker/saveBunker.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/bunker/saveBunker.js +++ b/middleware/bunker/saveBunker.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/common/auth.js b/middleware/common/auth.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/common/auth.js +++ b/middleware/common/auth.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/common/handleWrongPass.js b/middleware/common/handleWrongPass.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/common/handleWrongPass.js +++ b/middleware/common/handleWrongPass.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/common/inverseAuth.js b/middleware/common/inverseAuth.js new file mode 100644 index 0000000000000000000000000000000000000000..54fb042ed994850c8d172c0af71d63391a4a5c6a --- /dev/null +++ b/middleware/common/inverseAuth.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/common/login.js b/middleware/common/login.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/common/login.js +++ b/middleware/common/login.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/common/render.js b/middleware/common/render.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..24218aee2f5e7fd7c193a7fa0cf63bd881399a6e 100644 --- a/middleware/common/render.js +++ b/middleware/common/render.js @@ -0,0 +1,14 @@ + +function static(){ + return "static"; +} + + +module.exports = function (objectrepository, viewName) { + + return function (req, res) { + //res.end('Render: ' + viewName + static()); + res.render(viewName, res.local); + }; + + }; \ No newline at end of file diff --git a/middleware/food/deleteFood.js b/middleware/food/deleteFood.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/food/deleteFood.js +++ b/middleware/food/deleteFood.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/food/getFood.js b/middleware/food/getFood.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/food/getFood.js +++ b/middleware/food/getFood.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/food/getFoodList.js b/middleware/food/getFoodList.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/food/getFoodList.js +++ b/middleware/food/getFoodList.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/food/saveFood.js b/middleware/food/saveFood.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/food/saveFood.js +++ b/middleware/food/saveFood.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/storage/addStorageItem.js b/middleware/storage/addStorageItem.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/storage/addStorageItem.js +++ b/middleware/storage/addStorageItem.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/middleware/storage/deleteStorageItem.js b/middleware/storage/deleteStorageItem.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54fb042ed994850c8d172c0af71d63391a4a5c6a 100644 --- a/middleware/storage/deleteStorageItem.js +++ b/middleware/storage/deleteStorageItem.js @@ -0,0 +1,7 @@ +module.exports = function (objectrepository) { + + return function (req, res, next) { + next(); + }; + + }; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 89ca502b86b53820daf99fe9aa3429bcd2f0b72d..798ef1bc83cd7e3d4a6722415d51afc5a59a02e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -13,11 +19,57 @@ "negotiator": "0.6.2" } }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -35,11 +87,131 @@ "type-is": "~1.6.17" } }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -63,6 +235,32 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -71,6 +269,12 @@ "ms": "2.0.0" } }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -81,11 +285,31 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, + "ejs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.0.1.tgz", + "integrity": "sha512-cuIMtJwxvzumSAkqaaoGY/L6Fc/t6YvoP9/VIaK0V/CyqKLEQ8sqODmYfy/cjXEdZ9+OOL8TecbJu+1RsofGDw==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -96,11 +320,32 @@ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", @@ -138,6 +383,15 @@ "vary": "~1.1.2" } }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -162,6 +416,68 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -182,16 +498,174 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -225,6 +699,21 @@ "mime-db": "1.43.0" } }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -235,6 +724,65 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "nodemon": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.2.tgz", + "integrity": "sha512-GWhYPMfde2+M0FsHnggIHXTqPDHXia32HRhh6H0d75Mt9FKUoCBvumNHr7LdrpPBTKxsWmIEOjoN+P4IU6Hcaw==", + "dev": true, + "requires": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^2.5.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -243,16 +791,64 @@ "ee-first": "1.1.1" } }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -262,6 +858,18 @@ "ipaddr.js": "1.9.1" } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "pstree.remy": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", + "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==", + "dev": true + }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", @@ -283,6 +891,46 @@ "unpipe": "1.0.0" } }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readdirp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.7" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -293,6 +941,21 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -336,16 +999,110 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -355,11 +1112,62 @@ "mime-types": "~2.1.24" } }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -369,6 +1177,47 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } } diff --git a/package.json b/package.json index 529bd5ba938df1a9d0ba6051820029745b286be0..40629dcd6740f5f8bee731397aad7763ccb79851 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,16 @@ "description": "VITMAV42 homework", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "nodemon": "nodemon server.js" }, "author": "EQN34F", "license": "ISC", "dependencies": { + "ejs": "^3.0.1", "express": "^4.17.1" + }, + "devDependencies": { + "nodemon": "^2.0.2" } } diff --git a/routes/bunker.js b/routes/bunker.js new file mode 100644 index 0000000000000000000000000000000000000000..89572c7f2bd902131e8f365672ca0078f44a5455 --- /dev/null +++ b/routes/bunker.js @@ -0,0 +1,55 @@ + +var authMW = require('../middleware/common/auth'); +var renderMW = require('../middleware/common/render'); + +var getBunkerListMW = require('../middleware/bunker/getBunkerList'); +var saveBunkerMW = require('../middleware/bunker/saveBunker') +var getBunkerMW = require('../middleware/bunker/getBunker'); +var deleteBunkerMW = require('..//middleware/bunker/deleteBunker'); + + +module.exports = function (app) { + var objectRepository = { + + }; + + + app.get('/bunkers', + authMW(objectRepository), + getBunkerListMW(objectRepository), + renderMW(objectRepository,'bunkers') + ); + + app.use('/bunkers/new', + authMW(objectRepository), + saveBunkerMW(objectRepository), + renderMW(objectRepository,'bunkereditcreate') + ); + + app.use('/bunkers/edit/:bunkerid', + authMW(objectRepository), + getBunkerMW(objectRepository), + saveBunkerMW(objectRepository), + renderMW(objectRepository,'bunkereditcreate') + ); + + app.get('/bunkers/del/:bunkerid', + authMW(objectRepository), + getBunkerMW(objectRepository), + deleteBunkerMW(objectRepository), + function(req,res,next){ + return res.redirect('/bunkers'); + } + ); + + app.get('/bunkers/info/:bunkerid', + authMW(objectRepository), + getBunkerMW(objectRepository), + renderMW(objectRepository,'bunkerinfo') + ); + + + + }; + + diff --git a/routes/common.js b/routes/common.js new file mode 100644 index 0000000000000000000000000000000000000000..c70380e5c37e7670b88c8aae5e18275ceeeb1db1 --- /dev/null +++ b/routes/common.js @@ -0,0 +1,29 @@ + + +var renderMW = require('../middleware/common/render'); +var handleWrongPassMW = require('../middleware/common/handleWrongPass'); +var loginMW = require('../middleware/common/login'); +var inversAuthMW = require('../middleware/common/inverseAuth'); + +module.exports = function (app) { + var objectRepository = { + + }; + + + app.get('/', + inversAuthMW(objectRepository), + handleWrongPassMW(objectRepository), + renderMW(objectRepository,'index') + ); + + app.post('/login', + loginMW(objectRepository), + function(req,res,next){ + return res.redirect('/bunkers'); + } + ) + + }; + + diff --git a/routes/foods.js b/routes/foods.js new file mode 100644 index 0000000000000000000000000000000000000000..9d2098d57501f196b7e91dfdcf27896d29443d74 --- /dev/null +++ b/routes/foods.js @@ -0,0 +1,48 @@ + +var authMW = require('../middleware/common/auth'); +var renderMW = require('../middleware/common/render'); + + +var getFoodListMW = require('../middleware/food/getFoodList'); +var saveFoodMW = require('../middleware/food/saveFood'); +var getFoodMW = require('../middleware/food/getFood'); +var deleteFoodMW = require('../middleware/food/deleteFood'); + +module.exports = function (app) { + var objectRepository = { + + }; + + + app.get('/foods', + authMW(objectRepository), + getFoodListMW(objectRepository), + renderMW(objectRepository,'foodtable') + ); + + app.use('/foods/new', + authMW(objectRepository), + saveFoodMW(objectRepository), + renderMW(objectRepository,'foodeditcreate') + ); + + app.use('/foods/edit/:foodid', + authMW(objectRepository), + getFoodMW(objectRepository), + saveFoodMW(objectRepository), + renderMW(objectRepository,'foodeditcreate') + ); + + app.use('/foods/del/:foodid', + authMW(objectRepository), + getFoodMW(objectRepository), + deleteFoodMW(objectRepository), + function (req,res,next){ + return res.redirect('/foods'); + } + ); + + }; + + + diff --git a/routes/storage.js b/routes/storage.js new file mode 100644 index 0000000000000000000000000000000000000000..a7c1370086c5a59b04ec9a20eef5a9281d515446 --- /dev/null +++ b/routes/storage.js @@ -0,0 +1,34 @@ +var renderMW = require('../middleware/common/render'); +var authMW = require('../middleware/common/auth'); + +var getBunkerMW = require('../middleware/bunker/getBunker'); + +var getFoodListMW = require('../middleware/food/getFoodList'); + +var addStorageItemMW = require('../middleware/storage/addStorageItem'); +var deletStorageItemMW = require('../middleware/storage/deleteStorageItem'); + + +module.exports = function (app) { + var objectRepository = { + + }; + + app.use('/bunkers/storage/add/:bunkerid', + authMW(objectRepository), + getBunkerMW(objectRepository), + getFoodListMW(objectRepository), + addStorageItemMW(objectRepository), + renderMW(objectRepository, 'storageadd') + ); + + app.get('/bunkers/storage/del/:bunkerid/:itemid', + authMW(objectRepository), + getBunkerMW(objectRepository), + deletStorageItemMW(objectRepository), + function (req, res, next) { + return res.redirect('/bunkers/info/' + req.param('bunkerid')); + } + ); + +}; \ No newline at end of file diff --git a/static/bunkereditcreate.html b/static/bunkereditcreate.html deleted file mode 100644 index deae3bf7f7e3b423d7de32dde1807184d05e00c7..0000000000000000000000000000000000000000 --- a/static/bunkereditcreate.html +++ /dev/null @@ -1,64 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Bunkerek</title> -</head> -<body> -<!-- Navbar --> -<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> - <a class="navbar-brand" href="/">BunkerMGR</a> - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> - <span class="navbar-toggler-icon"></span> - </button> - - <div class="collapse navbar-collapse" id="navbarSupportedContent"> - <ul class="navbar-nav mr-auto"> - <li class="nav-item"> - <a class="nav-link" href="/bunkers.html">Bunkerek</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="/foodtable.html">Élelmiszerek</a> - </li> - </ul> - </div> -</nav> - -<!-- Content --> -<div class="container"> - <div class="row"> - <div class="col-12"> - <h2>Bunker létrehozása / szerkeztése</h2> - <form> - <div class="form-group"> - <label for="Name">Bunker név</label> - <input type="text" class="form-control" id="Name"> - </div> - <div class="form-group"> - <label for="Adress">Cím</label> - <input type="text" class="form-control" id="Adress"> - </div> - <div class="form-group"> - <label for="Size">Férőhely</label> - <input type="number" class="form-control" id="Size"> - </div> - <a href="/bunkers.html" type="submit" class="btn btn-primary">Mentés</a> - <a href="/bunkers.html" type="submit" class="btn btn-secondary">Mégsem</a> - </form> - </div> - </div> -</div> - - - - - -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file diff --git a/static/bunkers.html b/static/bunkers.html deleted file mode 100644 index 74f2feaf44dbf12dd8aca446bc78541f9dcf9945..0000000000000000000000000000000000000000 --- a/static/bunkers.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Bunkerek</title> -</head> -<body> -<!-- Navbar --> -<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> - <a class="navbar-brand" href="/">BunkerMGR</a> - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> - <span class="navbar-toggler-icon"></span> - </button> - - <div class="collapse navbar-collapse" id="navbarSupportedContent"> - <ul class="navbar-nav mr-auto"> - <li class="nav-item active"> - <a class="nav-link" href="/bunkers.html">Bunkerek</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="/foodtable.html">Élelmiszerek</a> - </li> - </ul> - </div> -</nav> - -<!-- Content --> -<div class="container"> - <div class="row"> - <div class="col-12"> - <h2>Bunkerek</h2> - <table class="table table-striped"> - <thead class="thead-dark"> - <tr> - <th scope="col">Név</th> - <th scope="col">Készlet</th> - <th scope="col">Figyelmeztetés</th> - <th scope="col">Műveletek</th> - </tr> - </thead> - <tbody> - <tr> - <td>Bunker0</td> - <td>365 nap</td> - <td>-</td> - <td> - <a href="/bunkerinfo.html" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> - <a href="/bunkereditcreate.html" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="#" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - <tr> - <td>Bunker1</td> - <td>256 nap</td> - <td class="text-warning">Fél éven belűl romlandó étel <i class="fas fa-exclamation-triangle"></i></td> - <td> - <a href="/bunkerinfo.html" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> - <a href="/bunkereditcreate.html" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="#" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - </tbody> - </table> - <a href="bunkereditcreate.html" type="button" class="btn btn-primary btn-lg btn-block">Új bunker</a> - </div> - </div> -</div> - - - - - -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file diff --git a/static/foodeditcreate.html b/static/foodeditcreate.html deleted file mode 100644 index 256d1dd23367fa87820aa5f4fe2d003e853c10b9..0000000000000000000000000000000000000000 --- a/static/foodeditcreate.html +++ /dev/null @@ -1,64 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Ételek</title> -</head> -<body> -<!-- Navbar --> -<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> - <a class="navbar-brand" href="/">BunkerMGR</a> - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> - <span class="navbar-toggler-icon"></span> - </button> - - <div class="collapse navbar-collapse" id="navbarSupportedContent"> - <ul class="navbar-nav mr-auto"> - <li class="nav-item"> - <a class="nav-link" href="/bunkers.html">Bunkerek</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="/foodtable.html">Élelmiszerek</a> - </li> - </ul> - </div> -</nav> - -<!-- Content --> -<div class="container"> - <div class="row"> - <div class="col-12"> - <h2>Étel létrehozása / szerkeztése</h2> - <form> - <div class="form-group"> - <label for="Name">Név</label> - <input type="text" class="form-control" id="Name"> - </div> - <div class="form-group"> - <label for="Nutrition">Tápérték (Kcal-ban)</label> - <input type="number" class="form-control" id="Nutrition"> - </div> - <div class="form-group"> - <label for="Longevity">Tartósság (napokban)</label> - <input type="number" class="form-control" id="Longevity"> - </div> - <a href="/foodtable.html" type="submit" class="btn btn-primary">Mentés</a> - <a href="/foodtable.html" type="submit" class="btn btn-secondary">Mégsem</a> - </form> - </div> - </div> -</div> - - - - - -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file diff --git a/static/foodtable.html b/static/foodtable.html deleted file mode 100644 index f66fa039c41395722389e6bc4046c86d2a22e15e..0000000000000000000000000000000000000000 --- a/static/foodtable.html +++ /dev/null @@ -1,79 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Ételek</title> -</head> -<body> -<!-- Navbar --> -<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> - <a class="navbar-brand" href="/">BunkerMGR</a> - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> - <span class="navbar-toggler-icon"></span> - </button> - - <div class="collapse navbar-collapse" id="navbarSupportedContent"> - <ul class="navbar-nav mr-auto"> - <li class="nav-item"> - <a class="nav-link" href="/bunkers.html">Bunkerek</a> - </li> - <li class="nav-item active" > - <a class="nav-link" href="/foodtable.html">Élelmiszerek</a> - </li> - </ul> - </div> -</nav> - -<!-- Content --> -<div class="container"> - <div class="row"> - <div class="col-12"> - <h2>Élelmiszerek</h2> - <table class="table table-striped"> - <thead class="thead-dark"> - <tr> - <th scope="col">Név</th> - <th scope="col">Tápérték</th> - <th scope="col">Tartósság</th> - <th scope="col">Műveletek</th> - </tr> - </thead> - <tbody> - <tr> - <td>Szárított marha</td> - <td>250 Kcal</td> - <td>200 nap</td> - <td> - <a href="/foodeditcreate.html" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="#" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - <tr> - <td>Konzerv bab</td> - <td>500 Kcal</td> - <td>720 nap</td> - <td> - <a href="/foodeditcreate.html" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> - <a href="#" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> - </td> - </tr> - </tbody> - </table> - <a href="foodeditcreate.html" type="button" class="btn btn-primary btn-lg btn-block">Új étel</a> - </div> - </div> -</div> - - - - - -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file diff --git a/static/index.html b/static/index.html deleted file mode 100644 index 108be7d38c1eb5a4a49f1b3962b0cf2a6ca6d826..0000000000000000000000000000000000000000 --- a/static/index.html +++ /dev/null @@ -1,40 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Login</title> -</head> -<body> -<!-- Content --> -<div class="container"> - <div class="row"> - <div class="col-12"> - <h2>Login</h2> - <form> - <div class="form-group"> - <label for="Username">Felhasználónév</label> - <input type="text" class="form-control" id="Username"> - </div> - <div class="form-group"> - <label for="Password">Jelszó</label> - <input type="password" class="form-control" id="Password"> - </div> - <a href="/bunkers.html" type="submit" class="btn btn-primary">Bejelentkezés</a> - </form> - </div> - </div> -</div> - - - - - -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file diff --git a/views/bunkereditcreate.ejs b/views/bunkereditcreate.ejs new file mode 100644 index 0000000000000000000000000000000000000000..39254a71a5f5c91db3a21ce210e918c6757de5f1 --- /dev/null +++ b/views/bunkereditcreate.ejs @@ -0,0 +1,51 @@ +<%- include('header') %> + +<!-- Navbar --> +<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> + <a class="navbar-brand" href="/">BunkerMGR</a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + <ul class="navbar-nav mr-auto"> + <li class="nav-item"> + <a class="nav-link" href="/bunkers">Bunkerek</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/foods">Élelmiszerek</a> + </li> + </ul> + </div> +</nav> + +<!-- Content --> +<div class="container"> + <div class="row"> + <div class="col-12"> + <h2>Bunker létrehozása / szerkeztése</h2> + <form> + <div class="form-group"> + <label for="Name">Bunker név</label> + <input type="text" class="form-control" id="Name"> + </div> + <div class="form-group"> + <label for="Adress">Cím</label> + <input type="text" class="form-control" id="Adress"> + </div> + <div class="form-group"> + <label for="Size">Férőhely</label> + <input type="number" class="form-control" id="Size"> + </div> + <a href="/bunkers" type="submit" class="btn btn-primary">Mentés</a> + <a href="/bunkers" type="submit" class="btn btn-secondary">Mégsem</a> + </form> + </div> + </div> +</div> + + + + + +<%- include('footer') %> \ No newline at end of file diff --git a/static/bunkerinfo.html b/views/bunkerinfo.ejs similarity index 55% rename from static/bunkerinfo.html rename to views/bunkerinfo.ejs index dd98a5a6a74d03b7bf5c1ea5db8d505b1f2370f5..6a04809810de8441f2c4b9c669338a27598284b0 100644 --- a/static/bunkerinfo.html +++ b/views/bunkerinfo.ejs @@ -1,13 +1,5 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Bunkerinfo</title> -</head> -<body> +<%- include('header') %> + <!-- Navbar --> <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <a class="navbar-brand" href="/">BunkerMGR</a> @@ -18,10 +10,10 @@ <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item"> - <a class="nav-link" href="/bunkers.html">Bunkerek</a> + <a class="nav-link" href="/bunkers">Bunkerek</a> </li> <li class="nav-item"> - <a class="nav-link" href="/foodtable.html">Élelmiszerek</a> + <a class="nav-link" href="/foods">Élelmiszerek</a> </li> </ul> </div> @@ -58,7 +50,7 @@ <td>100 adag</td> <td class="text-danger">2017.03.11</td> <td> - <a href="#" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + <a href="/bunkers/storage/del/bunkerid/itemid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> </td> </tr> <tr> @@ -66,12 +58,12 @@ <td>250 adag</td> <td class="text-success">2020.03.02</td> <td> - <a href="#" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + <a href="/bunkers/storage/del/bunkerid/itemid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> </td> </tr> </tbody> </table> - <a href="storageadd.html" type="button" class="btn btn-primary btn-lg btn-block">Raktárelem hozzáadása</a> + <a href="/bunkers/storage/add/bunkerid/" type="button" class="btn btn-primary btn-lg btn-block">Raktárelem hozzáadása</a> </div> </div> </div> @@ -80,9 +72,4 @@ -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file +<%- include('footer') %> \ No newline at end of file diff --git a/views/bunkers.ejs b/views/bunkers.ejs new file mode 100644 index 0000000000000000000000000000000000000000..2befbe369ec03f3524437f4a88fae5a0b23e18f4 --- /dev/null +++ b/views/bunkers.ejs @@ -0,0 +1,69 @@ +<%- include('header') %> + +<!-- Navbar --> +<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> + <a class="navbar-brand" href="/">BunkerMGR</a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + <ul class="navbar-nav mr-auto"> + <li class="nav-item active"> + <a class="nav-link" href="/bunkers">Bunkerek</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/foods">Élelmiszerek</a> + </li> + </ul> + </div> +</nav> + +<!-- Content --> +<div class="container"> + <div class="row"> + <div class="col-12"> + <h2>Bunkerek</h2> + <table class="table table-striped"> + <thead class="thead-dark"> + <tr> + <th scope="col">Név</th> + <th scope="col">Készlet</th> + <th scope="col">Figyelmeztetés</th> + <th scope="col">Műveletek</th> + </tr> + </thead> + <tbody> + <tr> + <td>Bunker0</td> + <td>365 nap</td> + <td>-</td> + <td> + <a href="/bunkers/info/bunkerid" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> + <a href="/bunkers/edit/bunkerid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> + <a href="/bunkers/del/bunkerid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + </td> + </tr> + <tr> + <td>Bunker1</td> + <td>256 nap</td> + <td class="text-warning">Fél éven belűl romlandó étel <i class="fas fa-exclamation-triangle"></i></td> + <td> + <a href="/bunkers/info/bunkerid" type="button" class="btn btn-secondary btn-sm"><i class="fas fa-info-circle"></i></a> + <a href="/bunkers/edit/bunkerid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> + <a href="/bunkers/del/bunkerid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + </td> + </tr> + </tbody> + </table> + <a href="/bunkers/new" type="button" class="btn btn-primary btn-lg btn-block">Új bunker</a> + </div> + </div> +</div> + + + + + + +<%- include('footer') %> \ No newline at end of file diff --git a/views/foodeditcreate.ejs b/views/foodeditcreate.ejs new file mode 100644 index 0000000000000000000000000000000000000000..fb51817e0f4260a467259a8af47396dee4da093d --- /dev/null +++ b/views/foodeditcreate.ejs @@ -0,0 +1,49 @@ +<%- include('header') %> + +<!-- Navbar --> +<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> + <a class="navbar-brand" href="/">BunkerMGR</a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + <ul class="navbar-nav mr-auto"> + <li class="nav-item"> + <a class="nav-link" href="/bunkers">Bunkerek</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/foods">Élelmiszerek</a> + </li> + </ul> + </div> +</nav> + +<!-- Content --> +<div class="container"> + <div class="row"> + <div class="col-12"> + <h2>Étel létrehozása / szerkeztése</h2> + <form> + <div class="form-group"> + <label for="Name">Név</label> + <input type="text" class="form-control" id="Name"> + </div> + <div class="form-group"> + <label for="Nutrition">Tápérték (Kcal-ban)</label> + <input type="number" class="form-control" id="Nutrition"> + </div> + <div class="form-group"> + <label for="Longevity">Tartósság (napokban)</label> + <input type="number" class="form-control" id="Longevity"> + </div> + <a href="/foods" type="submit" class="btn btn-primary">Mentés</a> + <a href="/foods" type="submit" class="btn btn-secondary">Mégsem</a> + </form> + </div> + </div> +</div> + + + +<%- include('footer') %> \ No newline at end of file diff --git a/views/foodtable.ejs b/views/foodtable.ejs new file mode 100644 index 0000000000000000000000000000000000000000..d6dc13d28357aa9cb96c9ed88a3ad8c6abbf5ad0 --- /dev/null +++ b/views/foodtable.ejs @@ -0,0 +1,64 @@ +<%- include('header') %> + +<!-- Navbar --> +<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> + <a class="navbar-brand" href="/">BunkerMGR</a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + + <div class="collapse navbar-collapse" id="navbarSupportedContent"> + <ul class="navbar-nav mr-auto"> + <li class="nav-item"> + <a class="nav-link" href="/bunkers">Bunkerek</a> + </li> + <li class="nav-item active" > + <a class="nav-link" href="/foods">Élelmiszerek</a> + </li> + </ul> + </div> +</nav> + +<!-- Content --> +<div class="container"> + <div class="row"> + <div class="col-12"> + <h2>Élelmiszerek</h2> + <table class="table table-striped"> + <thead class="thead-dark"> + <tr> + <th scope="col">Név</th> + <th scope="col">Tápérték</th> + <th scope="col">Tartósság</th> + <th scope="col">Műveletek</th> + </tr> + </thead> + <tbody> + <tr> + <td>Szárított marha</td> + <td>250 Kcal</td> + <td>200 nap</td> + <td> + <a href="/foods/edit/foodid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> + <a href="/foods/del/foodid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + </td> + </tr> + <tr> + <td>Konzerv bab</td> + <td>500 Kcal</td> + <td>720 nap</td> + <td> + <a href="/foods/edit/foodid" type="button" class="btn btn-primary btn-sm"><i class="fas fa-edit"></i></a> + <a href="/foods/del/foodid" type="button" class="btn btn-danger btn-sm"><i class="fas fa-trash"></i></a> + </td> + </tr> + </tbody> + </table> + <a href="/foods/new" type="button" class="btn btn-primary btn-lg btn-block">Új étel</a> + </div> + </div> +</div> + + + +<%- include('footer') %> \ No newline at end of file diff --git a/views/footer.ejs b/views/footer.ejs new file mode 100644 index 0000000000000000000000000000000000000000..66a34f713875773b5db8989b407444e489ee7d0a --- /dev/null +++ b/views/footer.ejs @@ -0,0 +1,8 @@ + + +<!-- Bootstrap scripts --> +<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> +<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> +<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> +</body> +</html> \ No newline at end of file diff --git a/views/header.ejs b/views/header.ejs new file mode 100644 index 0000000000000000000000000000000000000000..ed9a769159448591d88e46625189c14539fa5bbf --- /dev/null +++ b/views/header.ejs @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> + <title>BunkerMGR</title> +</head> +<body> \ No newline at end of file diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000000000000000000000000000000000000..1089d1495740daffb9faae38ce1f8c97383763b3 --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,24 @@ +<%- include('header') %> + +<!-- Content --> +<div class="container"> + <div class="row"> + <div class="col-12"> + <h2>Login</h2> + <form method="POST" action="/login"> + <div class="form-group"> + <label for="Username">Felhasználónév</label> + <input type="text" class="form-control" id="Username"> + </div> + <div class="form-group"> + <label for="Password">Jelszó</label> + <input type="password" class="form-control" id="Password"> + </div> + <input type="submit" class="btn btn-primary" value="Login"/> + </form> + </div> + </div> +</div> + + +<%- include('footer') %> \ No newline at end of file diff --git a/static/storageadd.html b/views/storageadd.ejs similarity index 50% rename from static/storageadd.html rename to views/storageadd.ejs index 686c3190e2e2879a41dbb2778c787047f7b695c3..ffcbfa183216258a54b57405fdb2aa006fabe586 100644 --- a/static/storageadd.html +++ b/views/storageadd.ejs @@ -1,13 +1,5 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> - <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> - <title>Raktár</title> -</head> -<body> +<%- include('header') %> + <!-- Navbar --> <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <a class="navbar-brand" href="/">BunkerMGR</a> @@ -18,10 +10,10 @@ <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item"> - <a class="nav-link" href="/bunkers.html">Bunkerek</a> + <a class="nav-link" href="/bunkers">Bunkerek</a> </li> <li class="nav-item"> - <a class="nav-link" href="/foodtable.html">Élelmiszerek</a> + <a class="nav-link" href="/foods">Élelmiszerek</a> </li> </ul> </div> @@ -48,8 +40,8 @@ <label for="Count">Darabszám</label> <input type="number" class="form-control" id="Count"> </div> - <a href="/bunkerinfo.html" type="submit" class="btn btn-primary">Mentés</a> - <a href="/bunkerinfo.html" type="submit" class="btn btn-secondary">Mégsem</a> + <a href="/bunkers/info/bunkerid" type="submit" class="btn btn-primary">Mentés</a> + <a href="/bunkers/info/bunkerid" type="submit" class="btn btn-secondary">Mégsem</a> </form> </div> </div> @@ -58,10 +50,4 @@ - -<!-- Bootstrap scripts --> -<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> -<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> -</body> -</html> \ No newline at end of file +<%- include('footer') %> \ No newline at end of file