From 9645ac55dc65aca5133188b3bb1de0f5bae45b0d Mon Sep 17 00:00:00 2001 From: Shivani Bansal Date: Tue, 28 Jan 2020 18:47:07 +0530 Subject: [PATCH 1/6] name changed --- Shivani_Bansal/profile/{Profile.html => index.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Shivani_Bansal/profile/{Profile.html => index.html} (100%) diff --git a/Shivani_Bansal/profile/Profile.html b/Shivani_Bansal/profile/index.html similarity index 100% rename from Shivani_Bansal/profile/Profile.html rename to Shivani_Bansal/profile/index.html From 81b681bef57684adf79306f8b709cbd078d2604f Mon Sep 17 00:00:00 2001 From: Shivani Bansal Date: Tue, 11 Feb 2020 12:50:43 +0530 Subject: [PATCH 2/6] Node Assignment --- .../NodeAssignment/.vs/NodePractice/v15/.suo | Bin 0 -> 13824 bytes .../NodeAssignment/.vs/VSWorkspaceState.json | 6 + Shivani_Bansal/NodeAssignment/.vs/slnx.sqlite | Bin 0 -> 77824 bytes .../NodeAssignment/controllers/employee.js | 61 ++ .../NodeAssignment/controllers/index.js | 4 + .../NodeAssignment/database/config.js | 13 + Shivani_Bansal/NodeAssignment/index.js | 50 ++ .../NodeAssignment/models/employee.js | 22 + Shivani_Bansal/NodeAssignment/models/index.js | 5 + .../NodeAssignment/package-lock.json | 620 ++++++++++++++++++ Shivani_Bansal/NodeAssignment/package.json | 20 + Shivani_Bansal/NodeAssignment/routes/route.js | 19 + .../NodeAssignment/schemas/employee.js | 26 + .../NodeAssignment/schemas/index.js | 4 + 14 files changed, 850 insertions(+) create mode 100644 Shivani_Bansal/NodeAssignment/.vs/NodePractice/v15/.suo create mode 100644 Shivani_Bansal/NodeAssignment/.vs/VSWorkspaceState.json create mode 100644 Shivani_Bansal/NodeAssignment/.vs/slnx.sqlite create mode 100644 Shivani_Bansal/NodeAssignment/controllers/employee.js create mode 100644 Shivani_Bansal/NodeAssignment/controllers/index.js create mode 100644 Shivani_Bansal/NodeAssignment/database/config.js create mode 100644 Shivani_Bansal/NodeAssignment/index.js create mode 100644 Shivani_Bansal/NodeAssignment/models/employee.js create mode 100644 Shivani_Bansal/NodeAssignment/models/index.js create mode 100644 Shivani_Bansal/NodeAssignment/package-lock.json create mode 100644 Shivani_Bansal/NodeAssignment/package.json create mode 100644 Shivani_Bansal/NodeAssignment/routes/route.js create mode 100644 Shivani_Bansal/NodeAssignment/schemas/employee.js create mode 100644 Shivani_Bansal/NodeAssignment/schemas/index.js diff --git a/Shivani_Bansal/NodeAssignment/.vs/NodePractice/v15/.suo b/Shivani_Bansal/NodeAssignment/.vs/NodePractice/v15/.suo new file mode 100644 index 0000000000000000000000000000000000000000..787d091354253e15edd510d48fc45e5d15b116cf GIT binary patch literal 13824 zcmeI3&v#Qr6vw9^D*i^aDxyS0M1|NEtcZfp76c){;YaZt>mnp+32jMFUZ}8h;m$w7 zl^b2VapTgB#|<2REj%8NuKX9=Nd0_g-n1`iUiy;sXcKdD?tAm*&6_)S?vI%}Gr4_h z)9;^sx#bU21Bc9db7x_rxjT~IM|z!qe#Dr&NGtEo!oq^G*MlT`&_O+L&Xo97Ov)TJ z*SMF>O^Grw^qUQfGT*SmS7*0<^ZE2|KlR;5xx{9Jmp}2j0imSJ4iQ(@k1Egio9{PE&^!?l)03QS&0v`s| zhnv7h!KXl#yO+DZf0Fy-;1l4MFi-D$u(o>O-?aaa{`{_I|JcG>vVX6Q@(1z*-uAs6 z%l_{Hli0uiR&~n$b>GN+bC}k157t%>NM;^2jwmf%kj$k6lAp%wmEBuQ1w2z`~M7jj67I1c)v>w&Bl;S41- z#t7a=0(r}$BCih^6FeP7r0$LK)JuxTTx;C7y6$fw{)_hiQcbO=Jny= z{#``gvWzj?^Vzx$Ot&EaX#dyhnX|J=087{?F3& zI#Bz*-gC77$Dnzco}S_-Sv&tDJ9jG~M_3h^qkrW6QL>&_PX zKSNcXelz~JL=WVxeq5(lDz-s~pf6wQg2H+$zO<6w>V3C@QNG~g- zH4c_2KZM^JB)0JsCapbajv)Kg7ZZFx%Jl*{8o>k78ESF4gTzQ_Y8d7^L_Gss_fkT3 zmZP*N6?iu0cGvKdGxPMJc>1wxc$!77l2^IQWEHUcAdT%N{i`rfc5>=m{~#YF8w$AR zI$S=ryxhPW?&~t16wA+Ao__9FpI0lVoE_tQt})+t4QEBhV9f~R_kQUbuH2sHG*X+x zcXYZ}_j>0&pduvAwz^4T^Z0gISsBiXM1|t+*RIh=aaU%BtH`NnBT4bsx&BcrBQx+Z zX-8zQm;Sl?ICK1VlgyS!T_|Le(AQ@4?$=?OB)eE#@w;T=;$FXEC~vRz;Q~6UxHOHP zDngy&o@I?|f;C00BQE)+hU|M-(1hW@&`=Zmk0PG0iM@~cav zSKFHHf!_XK+xvfQuD^Hu{$JDlNB93$!!Z2bM>FgHt3lV-(aH3e@Be6?<;L#nofgk+ z^*zLa)XwODaOJBRo1!e%#jISlTF0I%x9(FoLN8gtsQI6aW34&yh@3K{I^G~)+x$r(AkU4Hj8LT0a26i-YuOR zYaMoQ9;x~STVS+@sz_;&xKr0g&_a`|s?+|tJA1-8)HdR$R^zYPY)~nbTaVxV0oS7e ARsaA1 literal 0 HcmV?d00001 diff --git a/Shivani_Bansal/NodeAssignment/.vs/VSWorkspaceState.json b/Shivani_Bansal/NodeAssignment/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/.vs/slnx.sqlite b/Shivani_Bansal/NodeAssignment/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..a2e7f4595d3b8afbc229e6510a14e4124c117192 GIT binary patch literal 77824 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 + console.log("Connection established") + console.log(res) +}).catch(error =>{ + console.log(error.message) +}) + //removes unwanted parts , parallel connection +module.exports = mongoose; \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/index.js b/Shivani_Bansal/NodeAssignment/index.js new file mode 100644 index 0000000..4ce6ce3 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/index.js @@ -0,0 +1,50 @@ +const express = require('express'); +const jwt = require("jsonwebtoken"); +const bodyParser = require('body-parser'); +const app = express(); +const database = require('./database/config'); +app.use(bodyParser.json()); +var cors = require('cors') + +app.use(cors()) + +require('./routes/route.js')(app); +app.post('/login', (req,res) => { + + const user = { + id :1, + username:"shivani", + password:"123" + } + + jwt.sign({user}, "secretkey", (err, token) => { + res.json({ + token + }) +}) + + }) + +app.get("/api",(req,res)=>{ + console.log("Hello, This is node") + res.send({"text": "Welcome to api"}); +}); + +app.listen(5000, () =>{ + console.log("Listening port 5000"); +}) + +app.get("/",(req,res)=>{ + console.log("Hello, This is node") + res.send({"text": "Welcome to Node.js"}) +}) +app.post("/company",(req,res)=>{ + console.log(req.body) + res.send({session: `users info:${req.body.year}`}) +}) +app.post("/info",(req,res)=>{ + console.log(req.body) + res.send({name: `${req.body.name}`,age: `${req.body.age}`,address: `${req.body.address}`}) +}) + + diff --git a/Shivani_Bansal/NodeAssignment/models/employee.js b/Shivani_Bansal/NodeAssignment/models/employee.js new file mode 100644 index 0000000..4d5c1cf --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/models/employee.js @@ -0,0 +1,22 @@ +const mongoose = require('mongoose'); +const schema = require('../schemas') +const employeeSchema = mongoose.Schema(schema.employee); +class Employee{ + constructor(){ + this.model=mongoose.model('employee', employeeSchema) + } + async get(criteria ={}){ + return this.model.find(criteria) + } + async save(employeeObj){ + return this.model.create(employeeObj) + } + async update(criteria={},updateObj){ + return this.model.update(criteria,updateObj) + } + async delete(criteria={}) + { + return this.model.deleteOne(criteria) + } +} +module.exports =new Employee(); \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/models/index.js b/Shivani_Bansal/NodeAssignment/models/index.js new file mode 100644 index 0000000..54de70c --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/models/index.js @@ -0,0 +1,5 @@ +// import { model } from "mongoose"; +const employee= require('./employee'); +module.exports ={ + employee: employee +} \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/package-lock.json b/Shivani_Bansal/NodeAssignment/package-lock.json new file mode 100644 index 0000000..c5bfd49 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/package-lock.json @@ -0,0 +1,620 @@ +{ + "name": "nodepractice", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bson": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.3.tgz", + "integrity": "sha512-TdiJxMVnodVS7r0BdL42y/pqC9cL2iKynVwA0Ho3qbsQYr428veL3l7BQyuqiw+Q5SqqoT0m4srSY/BlZ9AxXg==" + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kareem": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz", + "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "mongodb": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.4.1.tgz", + "integrity": "sha512-juqt5/Z42J4DcE7tG7UdVaTKmUC6zinF4yioPfpeOSNBieWSK6qCY+0tfGQcHLKrauWPDdMZVROHJOa8q2pWsA==", + "requires": { + "bson": "^1.1.1", + "require_optional": "^1.0.1", + "safe-buffer": "^5.1.2", + "saslprep": "^1.0.0" + } + }, + "mongoose": { + "version": "5.8.11", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.11.tgz", + "integrity": "sha512-Yz0leNEJsAtNtMTxTDEadacLWt58gaVeBVL3c1Z3vaBoc159aJqlf+T8jaL9mAdBxKndF5YWhh6Q719xac7cjA==", + "requires": { + "bson": "~1.1.1", + "kareem": "2.3.1", + "mongodb": "3.4.1", + "mongoose-legacy-pluralize": "1.0.2", + "mpath": "0.6.0", + "mquery": "3.2.2", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "safe-buffer": "5.1.2", + "sift": "7.0.1", + "sliced": "1.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "mongoose-legacy-pluralize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", + "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==" + }, + "mpath": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.6.0.tgz", + "integrity": "sha512-i75qh79MJ5Xo/sbhxrDrPSEG0H/mr1kcZXJ8dH6URU5jD/knFxCVqVC/gVSW7GIXL/9hHWlT9haLbCXWOll3qw==" + }, + "mquery": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz", + "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==", + "requires": { + "bluebird": "3.5.1", + "debug": "3.1.0", + "regexp-clone": "^1.0.0", + "safe-buffer": "5.1.2", + "sliced": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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=" + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "requires": { + "resolve-from": "^2.0.0", + "semver": "^5.1.0" + } + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sift": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", + "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" + }, + "sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + } + } +} diff --git a/Shivani_Bansal/NodeAssignment/package.json b/Shivani_Bansal/NodeAssignment/package.json new file mode 100644 index 0000000..43e739f --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/package.json @@ -0,0 +1,20 @@ +{ + "name": "nodepractice", + "version": "1.0.0", + "description": "node practice directory", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "nodemon index.js" + }, + "author": "chetna", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "jsonwebtoken": "^8.5.1", + "mongoose": "^5.8.11" + }, + "devDependencies": {} +} diff --git a/Shivani_Bansal/NodeAssignment/routes/route.js b/Shivani_Bansal/NodeAssignment/routes/route.js new file mode 100644 index 0000000..0f195a6 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/routes/route.js @@ -0,0 +1,19 @@ +const controller = require('../controllers'); +module.exports=(app) => +{ + app.get("/employee", controller.employee.index) + app.delete("/employee/:parameter",controller.employee.delete) + app.get("/employee/:parameter",controller.employee.show) + app.put("/employee",controller.employee.update) + app.post("/employee",controller.employee.create) + //app.get("/employee",controller.employee.index) + // app.get("/",(req,res) => + // { + // res.send("welcome to bootcamp - NodeJS") + // }) + // app.post("/bootcamp",(req,res)=>{ + // console.log(req.body) + // res.send({session:`Bootcamp session:${req.body.year}`}) + // }) +} + diff --git a/Shivani_Bansal/NodeAssignment/schemas/employee.js b/Shivani_Bansal/NodeAssignment/schemas/employee.js new file mode 100644 index 0000000..7a5a838 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/schemas/employee.js @@ -0,0 +1,26 @@ +module.exports= { + + _id:{ + type:Number + }, + + name:{ + type:String + }, + email:{ + type: String, + required: true + }, + + designation:{ + type:String, + }, + + password:{ + type:String + }, + + projectId:{ + type:String + } +} \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/schemas/index.js b/Shivani_Bansal/NodeAssignment/schemas/index.js new file mode 100644 index 0000000..9affc96 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/schemas/index.js @@ -0,0 +1,4 @@ +const employee =require('./employee') +module.exports={ + employee: employee +} \ No newline at end of file From bcf982643304352c9f85b62d2b36becc4e8874cc Mon Sep 17 00:00:00 2001 From: Shivani Bansal Date: Wed, 12 Feb 2020 11:36:05 +0530 Subject: [PATCH 3/6] changed login functionality --- .../NodeAssignment/database/config.js | 4 +- Shivani_Bansal/NodeAssignment/index.js | 92 +++++++++++++------ .../NodeAssignment/models/employee.js | 4 + Shivani_Bansal/NodeAssignment/routes/route.js | 3 + .../NodeAssignment/schemas/employee.js | 3 +- 5 files changed, 73 insertions(+), 33 deletions(-) diff --git a/Shivani_Bansal/NodeAssignment/database/config.js b/Shivani_Bansal/NodeAssignment/database/config.js index 61ee006..50e8453 100644 --- a/Shivani_Bansal/NodeAssignment/database/config.js +++ b/Shivani_Bansal/NodeAssignment/database/config.js @@ -1,11 +1,11 @@ const mongoose = require('mongoose') -const url = "mongodb://localhost:27017/company" //default port 27017 for mongoose +const url = "mongodb://localhost/company" //default port 27017 for mongoose mongoose.Promise = global.Promise; //connecting to database mongoose.connect(url,{useNewUrlParser: true, keepAlive:1}).then((res)=>{ console.log("Connection established") - console.log(res) + // console.log(res) }).catch(error =>{ console.log(error.message) }) diff --git a/Shivani_Bansal/NodeAssignment/index.js b/Shivani_Bansal/NodeAssignment/index.js index 4ce6ce3..0a14a79 100644 --- a/Shivani_Bansal/NodeAssignment/index.js +++ b/Shivani_Bansal/NodeAssignment/index.js @@ -5,46 +5,78 @@ const app = express(); const database = require('./database/config'); app.use(bodyParser.json()); var cors = require('cors') +const model =require('./models'); +app.use(cors()); -app.use(cors()) +app.use(express.json()); //Read require('./routes/route.js')(app); + + app.post('/login', (req,res) => { - const user = { - id :1, - username:"shivani", - password:"123" - } - jwt.sign({user}, "secretkey", (err, token) => { - res.json({ - token - }) -}) + // id :req.body._id, + email = req.body.email; + password = req.body.password; + + user = model.employee.search({ email: "email", password:"password"}) + if (user != null){ + jwt.sign({user}, "secretkey", (err, token) => { + res.json({ + token + }) + }) + + } + + else{ + console.log("error"); + + } + + // async find(req,res){ + // const employee = await model.employee.get({_id: req.params.parameter}) + // res.send(employee) + // } + +// if (user.username=="shivani" && user.password=="123" ){ +// jwt.sign({user}, "secretkey", (err, token) => { +// res.json({ +// token +// }) + +// }) +// } +// else{ +// console.log("error") +// } + +// }) -app.get("/api",(req,res)=>{ - console.log("Hello, This is node") - res.send({"text": "Welcome to api"}); -}); +// app.get("/api",(req,res)=>{ +// console.log("Hello, This is node") +// res.send({"text": "Welcome to api"}); +// }); -app.listen(5000, () =>{ - console.log("Listening port 5000"); -}) +// app.get("/",(req,res)=>{ +// console.log("Hello, This is node") +// res.send({"text": "Welcome to Node.js"}) +// }) +// app.post("/company",(req,res)=>{ +// console.log(req.body) +// res.send({session: `users info:${req.body.year}`}) +// }) +// app.post("/info",(req,res)=>{ +// console.log(req.body) +// res.send({name: `${req.body.name}`,age: `${req.body.age}`,address: `${req.body.address}`}) +// }) -app.get("/",(req,res)=>{ - console.log("Hello, This is node") - res.send({"text": "Welcome to Node.js"}) -}) -app.post("/company",(req,res)=>{ - console.log(req.body) - res.send({session: `users info:${req.body.year}`}) -}) -app.post("/info",(req,res)=>{ - console.log(req.body) - res.send({name: `${req.body.name}`,age: `${req.body.age}`,address: `${req.body.address}`}) }) - +const port = process.env.PORT || 3000; +app.listen(port, () =>{ + console.log(`Listening port ${port}`); +}) diff --git a/Shivani_Bansal/NodeAssignment/models/employee.js b/Shivani_Bansal/NodeAssignment/models/employee.js index 4d5c1cf..a35a82a 100644 --- a/Shivani_Bansal/NodeAssignment/models/employee.js +++ b/Shivani_Bansal/NodeAssignment/models/employee.js @@ -18,5 +18,9 @@ class Employee{ { return this.model.deleteOne(criteria) } + + async search(employeeObj){ + return this.model.find(employeeObj) + } } module.exports =new Employee(); \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/routes/route.js b/Shivani_Bansal/NodeAssignment/routes/route.js index 0f195a6..5d08524 100644 --- a/Shivani_Bansal/NodeAssignment/routes/route.js +++ b/Shivani_Bansal/NodeAssignment/routes/route.js @@ -6,6 +6,9 @@ module.exports=(app) => app.get("/employee/:parameter",controller.employee.show) app.put("/employee",controller.employee.update) app.post("/employee",controller.employee.create) + + // app.find("/employee/:parameter",controller.employee.search) + //app.get("/employee",controller.employee.index) // app.get("/",(req,res) => // { diff --git a/Shivani_Bansal/NodeAssignment/schemas/employee.js b/Shivani_Bansal/NodeAssignment/schemas/employee.js index 7a5a838..9eb25ff 100644 --- a/Shivani_Bansal/NodeAssignment/schemas/employee.js +++ b/Shivani_Bansal/NodeAssignment/schemas/employee.js @@ -9,7 +9,8 @@ module.exports= { }, email:{ type: String, - required: true + required: true, + unique: true }, designation:{ From 679e55cbdac6fbedd5addff6ad456fe2e0451a1a Mon Sep 17 00:00:00 2001 From: Shivani Bansal Date: Wed, 12 Feb 2020 11:43:02 +0530 Subject: [PATCH 4/6] added view --- .../NodeAssignment/view/assets/css/login.css | 7 +++ .../view/assets/scripts/dashboard.js | 46 +++++++++++++++ .../view/assets/scripts/login.js | 43 ++++++++++++++ .../view/assets/scripts/signup.js | 37 ++++++++++++ .../NodeAssignment/view/dashboard.html | 43 ++++++++++++++ Shivani_Bansal/NodeAssignment/view/login.html | 33 +++++++++++ .../NodeAssignment/view/signup.html | 56 +++++++++++++++++++ 7 files changed, 265 insertions(+) create mode 100644 Shivani_Bansal/NodeAssignment/view/assets/css/login.css create mode 100644 Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js create mode 100644 Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js create mode 100644 Shivani_Bansal/NodeAssignment/view/assets/scripts/signup.js create mode 100644 Shivani_Bansal/NodeAssignment/view/dashboard.html create mode 100644 Shivani_Bansal/NodeAssignment/view/login.html create mode 100644 Shivani_Bansal/NodeAssignment/view/signup.html diff --git a/Shivani_Bansal/NodeAssignment/view/assets/css/login.css b/Shivani_Bansal/NodeAssignment/view/assets/css/login.css new file mode 100644 index 0000000..df58144 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/assets/css/login.css @@ -0,0 +1,7 @@ +.card{ + background-color: aliceblue; +} + +body{ + padding: 10% 30%; +} diff --git a/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js b/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js new file mode 100644 index 0000000..a506f3d --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js @@ -0,0 +1,46 @@ + +function sendJSON() +{ + fetch('https://localhost:44371/api/signup') + .then(function (response) { + return response.json(); + }) + .then(function (data) { + console.log(data); + return data; + appendData(data); + }) + .catch(function (err) { + console.log(err); + }); + +function appendData(data) +{ + var users = document.getElementById("users"); + console.log(users); + console.log(data.length); + + for (var i = 0; i < data.length; i++) { + var object = data[i]; + var arrayOfKeys = Object.keys(object) + console.log(arrayOfKeys) + + var tr = document.createElement("TR"); + tr.setAttribute("id", `tr${i}`); + var k = 0; + for (var j in data[i]){ + + var td = document.createElement("TD"); + td.innerHTML = data[i].arrayOfKeys[k]; + console.log(document.getElementById(`tr${i}`)); + + document.getElementById(`tr${i}`).appendChild(td); + k = k + 1; + } + document.getElementById("myTable").appendChild(tr); + + + } + } + +} \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js b/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js new file mode 100644 index 0000000..bd127ec --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js @@ -0,0 +1,43 @@ +function sendJSON(){ + + let email = document.getElementById("exampleInputEmail1").value; + let password = document.getElementById("exampleInputPassword1").value; + + //creating xhr request + var xhr = new XMLHttpRequest(); + + let url = "http://localhost:5000/login"; + + //open a connection + xhr.open("POST", url, true); + + //set the request header i.e which type of content is being sent + xhr.setRequestHeader("Content-Type", "application/json"); + + //create a state change callback + xhr.onreadystatechange = function () + { + mytoken = this.responseText; + + // console.log(mytoken); + + if (XMLHttpRequest.DONE && xhr.status ===200) + { + window.open("./dashboard.html"); + + } + else + { + alert("not registered user"); + } + + }; + + let obj = {"email": email, "password": password}; + + var data = JSON.stringify(obj) + + // console.log(data); + xhr.send(data); + event.preventDefault(); +} \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/view/assets/scripts/signup.js b/Shivani_Bansal/NodeAssignment/view/assets/scripts/signup.js new file mode 100644 index 0000000..c3ec87c --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/assets/scripts/signup.js @@ -0,0 +1,37 @@ +function sendJSON(){ + let name = document.getElementById("exampleInputName1").value; + console.log(name); + let username = document.getElementById("exampleInputUsername1").value; + + let role = document.getElementById("exampleInputRole1").value + let email = document.getElementById("exampleInputEmail1").value + let password = document.getElementById("exampleInputPassword1").value + let projectID = document.getElementById("exampleInputProjectID1").value + +//Creating a XHR request +var xhr=new XMLHttpRequest(); +let url = "https://localhost:44371/api/signup"; + +//open a connection +xhr.open("POST", url, true); + +//set the request header that which type is being send +xhr.setRequestHeader("Content-Type", "application/json"); + +//creating a state change callback +xhr.onreadystatechange = function() { + if (xhr.readyState==4 && xhr.readyState==200){ + alert("successfuly registered"); + + } +} + +//conerting JSON data to string +var data = JSON.stringify({"Name":name, "Username":username, "Role":role, "Email":email, "Password":password, "ProjectID":projectID}) + + +//sending data with request +xhr.send(data); + +event.preventDefault(); +} diff --git a/Shivani_Bansal/NodeAssignment/view/dashboard.html b/Shivani_Bansal/NodeAssignment/view/dashboard.html new file mode 100644 index 0000000..ac5859b --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/dashboard.html @@ -0,0 +1,43 @@ + + + + + + + + + Document + + + +
+
...
+
+ + + + + + + + + + +
EmpIdNameUsernameEmailPasswordRoleProjectId
+
+ +
...
+
+ + + \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/view/login.html b/Shivani_Bansal/NodeAssignment/view/login.html new file mode 100644 index 0000000..e7f29c6 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/login.html @@ -0,0 +1,33 @@ + + + + + + + Document + + + + + +
+
+
Login Page
+
+
+ + + We'll never share your email with anyone else. +
+
+ + +
+ + +
+
+
+ + + \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/view/signup.html b/Shivani_Bansal/NodeAssignment/view/signup.html new file mode 100644 index 0000000..78e2037 --- /dev/null +++ b/Shivani_Bansal/NodeAssignment/view/signup.html @@ -0,0 +1,56 @@ + + + + + + + Document + + + + + +
+
+
Sign up Page
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + +
+ +
+ + +
+ + + + +
+
+
+ + + + \ No newline at end of file From 3185bcc648b05265b3d5f9298e1fdd75121f56d2 Mon Sep 17 00:00:00 2001 From: Shivani Bansal Date: Thu, 13 Feb 2020 13:51:24 +0530 Subject: [PATCH 5/6] changed login functionality --- .gitignore | 4 ++ .../NodeAssignment/controllers/employee.js | 14 ---- .../NodeAssignment/database/config.js | 8 ++- Shivani_Bansal/NodeAssignment/index.js | 72 ++++--------------- .../NodeAssignment/models/employee.js | 5 +- Shivani_Bansal/NodeAssignment/routes/route.js | 11 --- .../view/assets/scripts/dashboard.js | 6 +- .../view/assets/scripts/login.js | 7 +- .../NodeAssignment/view/dashboard.html | 52 +++++++------- Shivani_Bansal/NodeAssignment/view/login.html | 4 +- .../NodeAssignment/view/signup.html | 8 --- 11 files changed, 59 insertions(+), 132 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..00d219e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +checkg/**.js +node_modules/ +package-lock.json +yarn.lock diff --git a/Shivani_Bansal/NodeAssignment/controllers/employee.js b/Shivani_Bansal/NodeAssignment/controllers/employee.js index 98bbeca..1da0c87 100644 --- a/Shivani_Bansal/NodeAssignment/controllers/employee.js +++ b/Shivani_Bansal/NodeAssignment/controllers/employee.js @@ -6,17 +6,7 @@ class Employee{ let employeeObj ={ name: req.body.name, email: req.body.email, - // age: req.body.age, designation: req.body.designation, - // technologies :req.body.technologies, - // phoneNo: req.body.phoneNo, - // address:{ - // city: req.body.address.city, - // state: req.body.address.state, - // country: req.body.address.country, - // pin: req.body.address.pin - // } - password:req.body.password, projectId:req.body.projectId, _id:req.body._id @@ -53,9 +43,5 @@ class Employee{ const employeeList = await model.employee.get(); res.send(employeeList) } - // async get(criteria ={}){ - // const employee = model.employee.find() - // res.send(employee) - // } } module.exports = new Employee(); diff --git a/Shivani_Bansal/NodeAssignment/database/config.js b/Shivani_Bansal/NodeAssignment/database/config.js index 50e8453..a7b82b0 100644 --- a/Shivani_Bansal/NodeAssignment/database/config.js +++ b/Shivani_Bansal/NodeAssignment/database/config.js @@ -3,11 +3,15 @@ const url = "mongodb://localhost/company" //default port 27017 for mongoose mongoose.Promise = global.Promise; //connecting to database -mongoose.connect(url,{useNewUrlParser: true, keepAlive:1}).then((res)=>{ +mongoose.connect(url,{useNewUrlParser: true, keepAlive:1}).then((res)=> +{ console.log("Connection established") // console.log(res) }).catch(error =>{ console.log(error.message) }) //removes unwanted parts , parallel connection -module.exports = mongoose; \ No newline at end of file +module.exports = mongoose; + + + diff --git a/Shivani_Bansal/NodeAssignment/index.js b/Shivani_Bansal/NodeAssignment/index.js index 0a14a79..07ac425 100644 --- a/Shivani_Bansal/NodeAssignment/index.js +++ b/Shivani_Bansal/NodeAssignment/index.js @@ -7,73 +7,25 @@ app.use(bodyParser.json()); var cors = require('cors') const model =require('./models'); app.use(cors()); - app.use(express.json()); //Read - require('./routes/route.js')(app); +app.post('/login', async(req,res) => +{ + // console.log(req.body.email) + email = req.body.email; + password = req.body.password; + console.log(email, password) + user = await model.employee.search({ email, password}) -app.post('/login', (req,res) => { - - - // id :req.body._id, - email = req.body.email; - password = req.body.password; - - user = model.employee.search({ email: "email", password:"password"}) - - if (user != null){ - jwt.sign({user}, "secretkey", (err, token) => { - res.json({ - token - }) - - }) - + if(!user){ + return res.status(400).send('Email or Password incorrect'); } - else{ - console.log("error"); - - } - - // async find(req,res){ - // const employee = await model.employee.get({_id: req.params.parameter}) - // res.send(employee) - // } - -// if (user.username=="shivani" && user.password=="123" ){ -// jwt.sign({user}, "secretkey", (err, token) => { -// res.json({ -// token -// }) - -// }) -// } -// else{ -// console.log("error") -// } - -// }) - -// app.get("/api",(req,res)=>{ -// console.log("Hello, This is node") -// res.send({"text": "Welcome to api"}); -// }); - -// app.get("/",(req,res)=>{ -// console.log("Hello, This is node") -// res.send({"text": "Welcome to Node.js"}) -// }) -// app.post("/company",(req,res)=>{ -// console.log(req.body) -// res.send({session: `users info:${req.body.year}`}) -// }) -// app.post("/info",(req,res)=>{ -// console.log(req.body) -// res.send({name: `${req.body.name}`,age: `${req.body.age}`,address: `${req.body.address}`}) -// }) + console.log(user, 'Yahan hoon'); + const token = jwt.sign({designation: user.designation, email: user.email}, 'cybergroup'); + res.header('x-auth-token', token).send('Login Successfully'); }) const port = process.env.PORT || 3000; diff --git a/Shivani_Bansal/NodeAssignment/models/employee.js b/Shivani_Bansal/NodeAssignment/models/employee.js index a35a82a..7935fc6 100644 --- a/Shivani_Bansal/NodeAssignment/models/employee.js +++ b/Shivani_Bansal/NodeAssignment/models/employee.js @@ -20,7 +20,10 @@ class Employee{ } async search(employeeObj){ - return this.model.find(employeeObj) + console.log(employeeObj); + const employee = await this.model.findOne(employeeObj) + console.log(employee); + return employee; } } module.exports =new Employee(); \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/routes/route.js b/Shivani_Bansal/NodeAssignment/routes/route.js index 5d08524..79709e7 100644 --- a/Shivani_Bansal/NodeAssignment/routes/route.js +++ b/Shivani_Bansal/NodeAssignment/routes/route.js @@ -7,16 +7,5 @@ module.exports=(app) => app.put("/employee",controller.employee.update) app.post("/employee",controller.employee.create) - // app.find("/employee/:parameter",controller.employee.search) - - //app.get("/employee",controller.employee.index) - // app.get("/",(req,res) => - // { - // res.send("welcome to bootcamp - NodeJS") - // }) - // app.post("/bootcamp",(req,res)=>{ - // console.log(req.body) - // res.send({session:`Bootcamp session:${req.body.year}`}) - // }) } diff --git a/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js b/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js index a506f3d..e431259 100644 --- a/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js +++ b/Shivani_Bansal/NodeAssignment/view/assets/scripts/dashboard.js @@ -1,7 +1,7 @@ function sendJSON() { - fetch('https://localhost:44371/api/signup') + fetch('https://localhost:44371/api/signup') .then(function (response) { return response.json(); }) @@ -37,9 +37,7 @@ function appendData(data) document.getElementById(`tr${i}`).appendChild(td); k = k + 1; } - document.getElementById("myTable").appendChild(tr); - - + document.getElementById("myTable").appendChild(tr); } } diff --git a/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js b/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js index bd127ec..f87edac 100644 --- a/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js +++ b/Shivani_Bansal/NodeAssignment/view/assets/scripts/login.js @@ -6,7 +6,7 @@ function sendJSON(){ //creating xhr request var xhr = new XMLHttpRequest(); - let url = "http://localhost:5000/login"; + let url = "http://localhost:3000/login"; //open a connection xhr.open("POST", url, true); @@ -19,12 +19,11 @@ function sendJSON(){ { mytoken = this.responseText; - // console.log(mytoken); + console.log(mytoken); if (XMLHttpRequest.DONE && xhr.status ===200) { window.open("./dashboard.html"); - } else { @@ -34,7 +33,7 @@ function sendJSON(){ }; let obj = {"email": email, "password": password}; - + // console.log(obj); var data = JSON.stringify(obj) // console.log(data); diff --git a/Shivani_Bansal/NodeAssignment/view/dashboard.html b/Shivani_Bansal/NodeAssignment/view/dashboard.html index ac5859b..a1ac6c6 100644 --- a/Shivani_Bansal/NodeAssignment/view/dashboard.html +++ b/Shivani_Bansal/NodeAssignment/view/dashboard.html @@ -10,34 +10,34 @@ -
-
...
-
- + + + + +
+
...
+
+
- - - - - - - - -
EmpIdNameUsernameEmailPasswordRoleProjectId
-
- -
...
+ EmpId + Name + Username + Email + Password + Role + ProjectId + +
+ +
...
+ \ No newline at end of file diff --git a/Shivani_Bansal/NodeAssignment/view/login.html b/Shivani_Bansal/NodeAssignment/view/login.html index e7f29c6..f270ebc 100644 --- a/Shivani_Bansal/NodeAssignment/view/login.html +++ b/Shivani_Bansal/NodeAssignment/view/login.html @@ -16,12 +16,12 @@
Login Page
- + We'll never share your email with anyone else.
- +
diff --git a/Shivani_Bansal/NodeAssignment/view/signup.html b/Shivani_Bansal/NodeAssignment/view/signup.html index 78e2037..9e7a9c3 100644 --- a/Shivani_Bansal/NodeAssignment/view/signup.html +++ b/Shivani_Bansal/NodeAssignment/view/signup.html @@ -22,35 +22,27 @@
Sign up Page
-
-
-
-
- - -
- \ No newline at end of file From 7c461e9de650682e8223eec84ca4cf1cddeb2e71 Mon Sep 17 00:00:00 2001 From: Shivani Bansal Date: Thu, 13 Feb 2020 16:56:35 +0530 Subject: [PATCH 6/6] removed console --- Shivani_Bansal/NodeAssignment/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Shivani_Bansal/NodeAssignment/index.js b/Shivani_Bansal/NodeAssignment/index.js index 07ac425..0a7205a 100644 --- a/Shivani_Bansal/NodeAssignment/index.js +++ b/Shivani_Bansal/NodeAssignment/index.js @@ -19,10 +19,10 @@ app.post('/login', async(req,res) => user = await model.employee.search({ email, password}) if(!user){ - return res.status(400).send('Email or Password incorrect'); + return res.send('Email or Password incorrect'); } - console.log(user, 'Yahan hoon'); + const token = jwt.sign({designation: user.designation, email: user.email}, 'cybergroup'); res.header('x-auth-token', token).send('Login Successfully');