diff --git a/Config/upload.js b/Config/upload.js new file mode 100644 index 0000000..3cbd3a2 --- /dev/null +++ b/Config/upload.js @@ -0,0 +1,12 @@ +const multer = require("multer"); +var storage = multer.diskStorage({ + destination: function (req, file, cb) { + cb(null, "uploads"); + }, + filename: function (req, file, cb) { + cb(null, Date.now() + "-" + file.originalname); + } +}); +var upload = multer({ storage: storage }); + +module.exports = upload; diff --git a/Controller/Authentication.js b/Controller/Authentication.js index 84ea379..0db1c98 100644 --- a/Controller/Authentication.js +++ b/Controller/Authentication.js @@ -5,7 +5,13 @@ const AppModel = require("../Model/AppModel"); const ErrorResponse = require("../utils/errorResponse"); const dbInfo = require("../Model/Database") const StoreInfo = require("../Model/StoreModel") -const DataModel = require("../Model/BC_Data") +const DataModel = require("../Model/BC_Data"); +const multer = require("multer"); +var storage = multer.diskStorage({ + destination: function (req, file, cb) { + if (file.fieldname == "photo") cb(null, "upload/user/tmp_post") + } +}) // Login User exports.login = asyncHandler(async (req, res, next) => { @@ -137,6 +143,23 @@ exports.login = asyncHandler(async (req, res, next) => { } }) +exports.register = asyncHandler(async (req, res, next) => { + try { + + var data = JSON.parse(req.body.data) + const photo = req.files.photo + // const { username, password, email, phone, userType, appCode, dbCode, custCode } = req.body + res.status(200).send({ + success: true, + data: data, + }) + } + catch (e) { + return new ErrorResponse(e, 400) + } + +}) + exports.checkUsername = asyncHandler(async (req, res, next) => { const { username, APP_CODE } = req.query; console.log("USERNAME ", username) @@ -151,9 +174,7 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { USER_NAME: username } }); - console.log("USER ", user) if (user) { - console.log("USER IS APPROVE ", user.APPROVED) if (user.APPROVED == 0) { return next(new ErrorResponse("Username is not yet approved", 403)) } @@ -161,7 +182,6 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { if (user.USER_STATUS == "0") { return next(new ErrorResponse("Username is disabled", 403)) } - console.log("FINSIH CHECKING USER STATUS") user = JSON.parse(JSON.stringify(user)) delete user.USER_PASS //remove password from user object when return to client @@ -178,6 +198,10 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { console.log("IS ALLOWED ", isAllowed) + + // updated : 2021-09-15 + // for POS the table TDMSAPP DB_CODE = ST_CODE + if (isAllowed.length == 0) { return next(new ErrorResponse("User is not allowed to use this app", 403)) } else { @@ -186,26 +210,26 @@ exports.checkUsername = asyncHandler(async (req, res, next) => { user.PRESETS = {} - // GET Database Name from DB_INFO by using DB_CODE from APP_MODEL + // GET Store Name from SDSTINFO by using ST_CODE from APP_MODEL + await Promise.all(isAllowed.map(async (app) => { + console.log((">>>>>>> APP DB CODE", app)) - const { ST_NAME } = await dbInfo.findOne({ + const { ST_NAME } = await StoreInfo.findOne({ where: { - DB_CODE: app.DB_CODE + ST_CODE: app.DB_CODE }, raw: true }) - console.log("DB NAME ", DB_NAME) - const DBName = app.DB_CODE + ' - ' + DB_NAME + const DBName = app.DB_CODE + ' - ' + ST_NAME if (!user.PRESETS[DBName]) { user.PRESETS[DBName] = [] } - console.log("APP PRESET ", app.PRESET) - console.log("USER TYPE ", user.USER_TYPE) - // check user type + // // check user type + log("USER TYPE ", user.USER_TYPE) if (user.USER_TYPE == "S" || user.USER_TYPE == "C") { var userPresets = await DataModel.findAll({ where: { diff --git a/app.js b/app.js index 168fd71..9fd9a2a 100644 --- a/app.js +++ b/app.js @@ -39,6 +39,7 @@ app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); +app.use("/upload", express.static("uploads")); app.use('/', indexRouter); app.use('/users', usersRouter); diff --git a/package-lock.json b/package-lock.json index 38c40e3..66762cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,9 @@ "http-errors": "~1.6.3", "jade": "~1.11.0", "jsonwebtoken": "^9.0.2", + "moment": "^2.30.1", "morgan": "~1.9.1", + "multer": "^1.4.5-lts.1", "nodemon": "^3.1.4", "sequelize": "^6.37.3", "tedious": "^18.2.1", @@ -488,6 +490,11 @@ "node": ">= 8" } }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -638,6 +645,22 @@ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -783,6 +806,42 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/constantinople": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", @@ -833,6 +892,11 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -1344,6 +1408,11 @@ "node": ">=8" } }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "node_modules/jade": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", @@ -1634,6 +1703,23 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/native-duplexpair": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz", @@ -1799,6 +1885,11 @@ "node": ">= 0.6.0" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "node_modules/promise": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", @@ -2125,6 +2216,14 @@ "npm": ">=6" } }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -2297,6 +2396,11 @@ "node": ">= 0.6" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "node_modules/uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -2496,6 +2600,14 @@ "node": ">=0.4.0" } }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", @@ -2890,6 +3002,11 @@ "picomatch": "^2.0.4" } }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -2999,6 +3116,19 @@ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -3117,6 +3247,41 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "constantinople": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz", @@ -3154,6 +3319,11 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, "cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -3529,6 +3699,11 @@ "is-docker": "^2.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, "jade": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz", @@ -3770,6 +3945,20 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "requires": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, "native-duplexpair": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz", @@ -3886,6 +4075,11 @@ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, "promise": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz", @@ -4110,6 +4304,11 @@ "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==" }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -4243,6 +4442,11 @@ "mime-types": "~2.1.24" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -4397,6 +4601,11 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==" }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", diff --git a/package.json b/package.json index 91e6a68..eab2219 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,12 @@ "http-errors": "~1.6.3", "jade": "~1.11.0", "jsonwebtoken": "^9.0.2", + "moment": "^2.30.1", "morgan": "~1.9.1", + "multer": "^1.4.5-lts.1", "nodemon": "^3.1.4", "sequelize": "^6.37.3", "tedious": "^18.2.1", "winston": "^3.13.0" } -} \ No newline at end of file +} diff --git a/routes/authentication.js b/routes/authentication.js index adcfb3d..48ecb1c 100644 --- a/routes/authentication.js +++ b/routes/authentication.js @@ -3,6 +3,23 @@ const route = express.Router(); const { protect, protectAtlogin } = require("../Middleware/auth"); const controller = require("../Controller/Authentication"); const appVersion = require("../Controller/App_Versions") +const multer = require('multer') +const moment = require('moment') + +var storage = multer.diskStorage({ + destination: function (req, file, cb) { + if (file.fieldname == "photo") cb(null, "upload/user/tmp_post"); + }, + filename: function (req, file, cb) { + cb( + null, + moment(Date.now()).format("YYYY-MM-DD_HH-mm-ss_") + file.originalname + ); + }, +}); + +var upload = multer({ storage: storage }); + route.route("/login").post(protectAtlogin, controller.login); @@ -10,4 +27,10 @@ route.route("/appversion").get(appVersion.getAppVersion); route.route("/checkusername").get(protectAtlogin, controller.checkUsername); +route.route("/register").post(upload.fields([ + { + name: 'photo' + } +]), controller.register,); + module.exports = route; \ No newline at end of file diff --git a/upload/user/tmp_post/2024-07-12_15-58-19_MB-POS.png b/upload/user/tmp_post/2024-07-12_15-58-19_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_15-58-19_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_15-59-39_MB-POS.png b/upload/user/tmp_post/2024-07-12_15-59-39_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_15-59-39_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-00-54_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-00-54_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-00-54_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-01-04_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-01-04_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-01-04_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-01-19_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-01-19_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-01-19_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-02-50_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-02-50_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-02-50_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-03-11_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-03-11_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-03-11_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-03-39_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-03-39_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-03-39_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-03-48_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-03-48_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-03-48_MB-POS.png differ diff --git a/upload/user/tmp_post/2024-07-12_16-04-01_MB-POS.png b/upload/user/tmp_post/2024-07-12_16-04-01_MB-POS.png new file mode 100644 index 0000000..489a196 Binary files /dev/null and b/upload/user/tmp_post/2024-07-12_16-04-01_MB-POS.png differ