diff --git a/Anchal_Hora/nodejs/Login.js b/Anchal_Hora/nodejs/Login.js new file mode 100644 index 0000000..e2c7f13 --- /dev/null +++ b/Anchal_Hora/nodejs/Login.js @@ -0,0 +1,56 @@ +function login(){ + window.location.href = "./admin/index.html"; + } +document.getElementById("button").addEventListener("click",getToken) +function getToken(){ + + var Sno=parseInt(document.getElementById("inputid").value); + var Username=document.getElementById("inputName").value; + var Email=document.getElementById("inputEmail").value; + var Password=document.getElementById("inputPassword").value; + + + var json= { + "Sno":Sno, + "Name":Username, + "Email":Email, + "Password":Password + }; + console.log(json); + //sendHTTPReq('POST', "http://localhost:3000/employees/login", json).then(x => func() ); + var xhr= new XMLHttpRequest(); + var url="http://localhost:3000/employees/login"; + xhr.open('POST', url,true); + xhr.responseType='json'; + xhr.setRequestHeader('Content-type','application/json'); + console.log(JSON.stringify(json)); + xhr.onload = () => { + console.log(xhr.status); + //var jwtToken = xhr.response.token; + + }; + xhr.send(JSON.stringify(json)); +} +//saving token in local storage +function saveToken(token){ + if(typeof Storage !=="undefined"){ + localStorage.setItem("JWTtoken",token); + } + else{ + console.log("Browser doesn't support"); + } + decodeToken(token); +} + +//for decoding the token + +function decodeToken (token) { + var base64Url = token.split('.')[1]; + var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); + var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }).join('')); + console.log(jsonPayload); + return JSON.parse(jsonPayload); +} + diff --git a/Anchal_Hora/nodejs/UI/admin/create.html b/Anchal_Hora/nodejs/UI/admin/create.html new file mode 100644 index 0000000..6e7d75a --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/create.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + Manage admin + + +
+ + + +
+ +
+ +
+ +
+

Add users

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+ +
+
+
+ + + + + + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/delete.html b/Anchal_Hora/nodejs/UI/admin/delete.html new file mode 100644 index 0000000..d2b2cc3 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/delete.html @@ -0,0 +1,79 @@ + + + + + + + + + + Manage user + + +
+ + + +
+ +
+ +
+
+ + Manage user +
+ +
+

User Information

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +
+ +
+
+
+ + + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/index.html b/Anchal_Hora/nodejs/UI/admin/index.html new file mode 100644 index 0000000..16032b8 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/index.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + Manage admin + + +
+ + + +
+ +
+ +
+ + +
+

Manage users

+ + + + + + + + + + + + + + + + +
SNo.User nameAction
1Anchalupdatedelete
+
+
+ + + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/js/delete.js b/Anchal_Hora/nodejs/UI/admin/js/delete.js new file mode 100644 index 0000000..0abfc6b --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/js/delete.js @@ -0,0 +1,34 @@ +document.getElementById("buttondelete").addEventListener("click",adminDeletedata) +function adminDeletedata(){ + + let id = document.getElementById("id").value; + console.log(id.value); + + // Creating a XHR object + var xhr = new XMLHttpRequest(); + let url = "https://localhost:3000/employees/"+id; + + + // open a connection + xhr.open("DELETE", url, true); + + // Set the request header i.e. which type of content you are sending + xhr.setRequestHeader("Content-Type", "application/json"); + + // Create a state change callback + xhr.onreadystatechange = function () { + if (xhr.readyState === 4 && xhr.status === 200) { + alert("deleted user") + console.log(url); + } + else{ + alert("no user with such ID"); + } + }; + + // Converting JSON data to string + var data = JSON.stringify({ "id": id.value}); + + // Sending data with the request + xhr.send(data); +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/js/get.js b/Anchal_Hora/nodejs/UI/admin/js/get.js new file mode 100644 index 0000000..671d9a7 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/js/get.js @@ -0,0 +1,27 @@ +function adminGet(){} + + fetch('https://localhost:3000/employees') + .then(function (response) { + return response.json(); + }) + .then(function (data) { + appendData(data); + }) + .catch(function (err) { + console.log(err); + }); + +function appendData(data) +{ + var users = document.getElementById("users"); + console.log(users); + + for (var i = 0; i < data.length; i++) { + var div = document.createElement("div"); + div.innerHTML = 'Name: ' + data[i].name + "Email :" + data[i].email + "Password :" + data[i].password + "ContactNo :" + data[i].contactno; + users.appendChild(div); + } +} + + + diff --git a/Anchal_Hora/nodejs/UI/admin/js/post.js b/Anchal_Hora/nodejs/UI/admin/js/post.js new file mode 100644 index 0000000..62d27c7 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/js/post.js @@ -0,0 +1,28 @@ +document.getElementById("buttonsignup").addEventListener("click",adminPostdata); +function adminPostdata(){ + var Sno=document.getElementById("inputSno").value; + var Username=document.getElementById("inputName").value; + var Email=document.getElementById("inputEmail").value; + var Password=document.getElementById("inputPassword").value; + + var format={ + "Sno":Sno, + "Name":Username, + "Email":Email, + "Password":Password + }; + console.log(format); + //sendHTTPReq('POST', "http://localhost:3000/employees", json).then(x => func() ); + var xhr= new XMLHttpRequest(); + var url="http://localhost:3000/employees"; + xhr.open('POST', url,true); + xhr.responseType='json'; + xhr.setRequestHeader('Content-type','application/json'); + console.log(JSON.stringify(format)); + xhr.onload = () => { + console.log(xhr.status); + //var jwtToken = xhr.response.token; + + }; + xhr.send(JSON.stringify(format)); +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/js/update.js b/Anchal_Hora/nodejs/UI/admin/js/update.js new file mode 100644 index 0000000..daac966 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/js/update.js @@ -0,0 +1,43 @@ +document.getElementById("buttonupdate").addEventListener("click",adminUpdatedata); +function adminUpdatedata(){ + var Sno=document.getElementById("inputSno").value; + var Username=document.getElementById("inputName").value; + var Email=document.getElementById("inputEmail").value; + var Password=document.getElementById("inputPassword").value; + + + // Creating a XHR object + var xhr = new XMLHttpRequest(); + let url = "https://localhost:3000/employees/"+id; + console.log(url); + + // open a connection + xhr.open("PUT", url, true); + + // Set the request header i.e. which type of content you are sending + xhr.setRequestHeader("Content-Type", "application/json"); + + // Create a state change callback + xhr.onreadystatechange = function () { + if (xhr.readyState===4){ + if (xhr.status === 200) { + console.log("updated"); + alert("successfully updated"); + } + else { + alert("unsuccessful"); + } + } + }; + + // Converting JSON data to string + var data = JSON.stringify({ + "Sno":Sno, + "Name":Username, + "Email":Email, + "Password":Password }); + console.log(data); + + // Sending data with the request + xhr.send(data); +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/styles/admin.css b/Anchal_Hora/nodejs/UI/admin/styles/admin.css new file mode 100644 index 0000000..a1790ef --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/styles/admin.css @@ -0,0 +1,82 @@ +header{ + background: #01474a; +} +.nav{ + display: flex; +} +.admin-wrapper{ + display: flex; + height:calc(100%-66px); +} +.admin-wrapper .left-sidebar{ + flex:3; + height:100vh; + background: #FF7F50 ; + border-top: 1px solid black; +} +.admin-wrapper .left-sidebar ul{ + list-style:none; + margin-top:4rem; + text-align: center; + padding: 4rem; + border:5rem; + color:white; + +} +.admin-wrapper .left-sidebar ul li a { + padding:18px; + display: block; + border-bottom:1px solid black; +} +.admin-wrapper .left-sidebar ul li a:hover { + background:rgb(121, 145, 165); +} + +.admin-wrapper .admin-content{ + flex:7; + height:100%; + padding:40px 100px 100px; + +} +.admin-content .page-title{ + text-align:center; + margin-bottom:1.5rem; +} +table{ + width:100%; + border-collapse:collapse; + font-size:1.1rem; + +} + +th, +td{ + padding:15px; + text-align:left; + border-bottom:1px solid darkkhaki; +} + +.edit{ + color:firebrick; +} +.update{ + color:forestgreen; +} +.delete{ + color:darkslategray; +} + +.edit:hover, +.delete:hover, +.publish:hover{ + text-decoration:underline; +} + +form div{ + margin-bottom: 15px; +} + + + + + diff --git a/Anchal_Hora/nodejs/UI/admin/styles/style.css b/Anchal_Hora/nodejs/UI/admin/styles/style.css new file mode 100644 index 0000000..c1b7ff2 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/styles/style.css @@ -0,0 +1,95 @@ +*{ + box-sizing:border-box; +} + +body{ + padding:0px; + margin:0px; + background: #f6f6f6; + font-family: 'Lora', serif; +} + +header{ + background: #008489; + height:66px; +} + +header * { + color: white; +} + +header .logo{ + float:left; + height:inherit; + margin-left:2em; + +} + +header .logo-text{ +margin:10px; +font-family: 'Condal', serif; +} + +header .logo-text span { + color:#FF4500; + +} + +header ul{ + float:right; + margin:0px; + padding:0px; + list-style: none; +} + +header ul li{ + float:left; + position:relative; +} + +header ul li ul{ + position:absolute; + top:66px; + right:0px; + width:180px; + display:none; +} + +header ul li:hover ul{ + display:block; +} + +header ul li ul li{ + width:100%; +} + +header ul li ul li a{ + padding:10px; + background:white; + color:#444; +} + +header ul li ul li a{ + color:red; +} + +header ul li ul li a:hover{ + background: #d5d5d6; +} + + +header ul li a{ + display:block; + padding:21px; + font-size:1.1em; + text-decoration:none; +} + +header ul li a:hover{ + background: #008489; + transition:0.5s; +} + +header.menu-toggle{ + display:none; +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/update.html b/Anchal_Hora/nodejs/UI/admin/update.html new file mode 100644 index 0000000..086ce6f --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/update.html @@ -0,0 +1,78 @@ + + + + + + + + + + Manage user + + +
+ + + +
+ +
+ +
+
+ + Manage user +
+ +
+

User Information

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/admin/view.html b/Anchal_Hora/nodejs/UI/admin/view.html new file mode 100644 index 0000000..471cd29 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/admin/view.html @@ -0,0 +1,55 @@ + + + + + + + + + + + + Manage admin + + +
+ + + +
+ +
+ +
+
+ + + + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/manager/create.html b/Anchal_Hora/nodejs/UI/manager/create.html new file mode 100644 index 0000000..4561f31 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/manager/create.html @@ -0,0 +1,79 @@ + + + + + + + + + + + + Manage manager + + +
+ + + +
+ +
+ +
+ +
+

Add users

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/manager/index.html b/Anchal_Hora/nodejs/UI/manager/index.html new file mode 100644 index 0000000..2786c77 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/manager/index.html @@ -0,0 +1,71 @@ + + + + + + + + + + + + Manage manager + + +
+ + + +
+ +
+ +
+ + +
+

Manage users

+ + + + + + + + + + + + + + + +
SNo.User nameAction
1Anchalupdate
+
+
+ + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/manager/styles/admin.css b/Anchal_Hora/nodejs/UI/manager/styles/admin.css new file mode 100644 index 0000000..8b3987a --- /dev/null +++ b/Anchal_Hora/nodejs/UI/manager/styles/admin.css @@ -0,0 +1,86 @@ +header{ + background: #01474a; +} +.nav{ + display: flex; +} +.admin-wrapper{ + display: flex; + height:calc(100%-66px); +} + +.admin-wrapper .left-sidebar{ + flex:3; + height:100vh; + background: #FF7F50; + border-top: 1px solid black; + +} +.admin-wrapper .left-sidebar ul{ + list-style:none; + margin-top:4rem; + text-align: center; + padding: 4rem; + border:5rem; + color:white; + +} + +.admin-wrapper .left-sidebar ul li a { + padding:18px; + display: block; + border-bottom:1px solid black; +} + +.admin-wrapper .left-sidebar ul li a:hover { + background:rgb(121, 145, 165); +} + +.admin-wrapper .admin-content{ + flex:7; + height:100%; + padding:40px 100px 100px; + +} + +.admin-content .page-title{ + text-align:center; + margin-bottom:1.5rem; +} +table{ + width:100%; + border-collapse:collapse; + font-size:1.1rem; +} + +th, +td{ + padding:15px; + text-align:left; + border-bottom:1px solid darkkhaki; +} + +.edit{ + color:firebrick; +} +.update{ + color:forestgreen; +} +.delete{ + color:darkslategray; +} + +.edit:hover, +.delete:hover, +.publish:hover{ + text-decoration:underline; +} + +form div{ + margin-bottom: 15px; +} + + + + + diff --git a/Anchal_Hora/nodejs/UI/manager/styles/style.css b/Anchal_Hora/nodejs/UI/manager/styles/style.css new file mode 100644 index 0000000..c1b7ff2 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/manager/styles/style.css @@ -0,0 +1,95 @@ +*{ + box-sizing:border-box; +} + +body{ + padding:0px; + margin:0px; + background: #f6f6f6; + font-family: 'Lora', serif; +} + +header{ + background: #008489; + height:66px; +} + +header * { + color: white; +} + +header .logo{ + float:left; + height:inherit; + margin-left:2em; + +} + +header .logo-text{ +margin:10px; +font-family: 'Condal', serif; +} + +header .logo-text span { + color:#FF4500; + +} + +header ul{ + float:right; + margin:0px; + padding:0px; + list-style: none; +} + +header ul li{ + float:left; + position:relative; +} + +header ul li ul{ + position:absolute; + top:66px; + right:0px; + width:180px; + display:none; +} + +header ul li:hover ul{ + display:block; +} + +header ul li ul li{ + width:100%; +} + +header ul li ul li a{ + padding:10px; + background:white; + color:#444; +} + +header ul li ul li a{ + color:red; +} + +header ul li ul li a:hover{ + background: #d5d5d6; +} + + +header ul li a{ + display:block; + padding:21px; + font-size:1.1em; + text-decoration:none; +} + +header ul li a:hover{ + background: #008489; + transition:0.5s; +} + +header.menu-toggle{ + display:none; +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/manager/update.html b/Anchal_Hora/nodejs/UI/manager/update.html new file mode 100644 index 0000000..1527648 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/manager/update.html @@ -0,0 +1,76 @@ + + + + + + + + + + Manage user + + +
+ + + +
+ +
+ +
+
+ + Manage user +
+ +
+

User Information

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+
+
+
+ + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/user/index.html b/Anchal_Hora/nodejs/UI/user/index.html new file mode 100644 index 0000000..a9b6d57 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/user/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + Manage user + + +
+ + + +
+ +
+ +
+
+ + Manage user +
+ +
+

User Information

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+
+
+
+
+ + + \ No newline at end of file diff --git a/Anchal_Hora/nodejs/UI/user/styles/admin.css b/Anchal_Hora/nodejs/UI/user/styles/admin.css new file mode 100644 index 0000000..2171d15 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/user/styles/admin.css @@ -0,0 +1,87 @@ +header{ + background: #01474a; +} +.nav{ + display: flex; +} + +.admin-wrapper{ + display: flex; + height:calc(100%-66px); + +} + +.admin-wrapper .left-sidebar{ + flex:3; + height:100vh; + background: #FF7F50; + border-top: 1px solid black; + +} +.admin-wrapper .left-sidebar ul{ + list-style:none; + margin-top:4rem; + text-align: center; + padding: 4rem; + border:5rem; + color:white; +} + +.admin-wrapper .left-sidebar ul li a { + padding:18px; + display: block; + border-bottom:1px solid black; +} + +.admin-wrapper .left-sidebar ul li a:hover { + background:rgb(121, 145, 165); +} + +.admin-wrapper .admin-content{ + flex:7; + height:100%; + padding:40px 100px 100px; + +} + +.admin-content .page-title{ + text-align:center; + margin-bottom:1.5rem; +} +table{ + width:100%; + border-collapse:collapse; + font-size:1.1rem; +} + +th, +td{ + padding:15px; + text-align:left; + border-bottom:1px solid darkkhaki; +} + +.edit{ + color:firebrick; +} +.update{ + color:forestgreen; +} +.delete{ + color:darkslategray; +} + +.edit:hover, +.delete:hover, +.publish:hover{ + text-decoration:underline; +} + +form div{ + margin-bottom: 15px; +} + + + + + diff --git a/Anchal_Hora/nodejs/UI/user/styles/style.css b/Anchal_Hora/nodejs/UI/user/styles/style.css new file mode 100644 index 0000000..c1b7ff2 --- /dev/null +++ b/Anchal_Hora/nodejs/UI/user/styles/style.css @@ -0,0 +1,95 @@ +*{ + box-sizing:border-box; +} + +body{ + padding:0px; + margin:0px; + background: #f6f6f6; + font-family: 'Lora', serif; +} + +header{ + background: #008489; + height:66px; +} + +header * { + color: white; +} + +header .logo{ + float:left; + height:inherit; + margin-left:2em; + +} + +header .logo-text{ +margin:10px; +font-family: 'Condal', serif; +} + +header .logo-text span { + color:#FF4500; + +} + +header ul{ + float:right; + margin:0px; + padding:0px; + list-style: none; +} + +header ul li{ + float:left; + position:relative; +} + +header ul li ul{ + position:absolute; + top:66px; + right:0px; + width:180px; + display:none; +} + +header ul li:hover ul{ + display:block; +} + +header ul li ul li{ + width:100%; +} + +header ul li ul li a{ + padding:10px; + background:white; + color:#444; +} + +header ul li ul li a{ + color:red; +} + +header ul li ul li a:hover{ + background: #d5d5d6; +} + + +header ul li a{ + display:block; + padding:21px; + font-size:1.1em; + text-decoration:none; +} + +header ul li a:hover{ + background: #008489; + transition:0.5s; +} + +header.menu-toggle{ + display:none; +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/controllers/.gitignore b/Anchal_Hora/nodejs/controllers/.gitignore new file mode 100644 index 0000000..db54059 --- /dev/null +++ b/Anchal_Hora/nodejs/controllers/.gitignore @@ -0,0 +1 @@ +./../node_modules/** \ No newline at end of file diff --git a/Anchal_Hora/nodejs/controllers/employee.js b/Anchal_Hora/nodejs/controllers/employee.js new file mode 100644 index 0000000..6d23b93 --- /dev/null +++ b/Anchal_Hora/nodejs/controllers/employee.js @@ -0,0 +1,94 @@ +const model = require('../models'); +const jwt = require('jsonwebtoken') +const bcrypt= require('bcrypt') + +class Employee { + constructor() {} + async create(req, res) { + let employeeObj = { + name: req.body.name, + phoneNo: req.body.phoneNo, + address: { + city: req.body.city, + state: req.body.state + }, + designation: req.body.designation, + emailid: req.body.emailid, + age: req.body.age, + technologies: req.body.technologies + }; + const employee = await model.employee.save(employeeObj); + res.send(employee); + } + + async add(req, res) { + let employeeObj = { + name: req.body.name, + phoneNo: req.body.phoneNo, + address: { + city: req.body.city, + state: req.body.state + }, + designation: req.body.designation, + emailid: req.body.emailid, + age: req.body.age, + technologies: req.body.technologies + }; + const employee = await model.employee.save(employeeObj); + res.send(employee); + } + + async update(req, res) { + const employeeObj = { + name: req.body.name, + phoneNo: req.body.phoneNo, + address: { + city: req.body.city, + state: req.body.state + }, + designation: req.body.designation, + emailid: req.body.emailid, + age: req.body.age, + technologies: req.body.technologies + }; + const employeeList=await model.employee.update({"id":req.params.id}); + res.send(employee); + + } + + async delete(req, res) { + const employeeList=await model.employee.delete({"id":req.params.id}); + res.send(employee) +} + + +async show(req, res) { + const employeeList=await model.employee.get({"id":req.params.id}); + res.send(employee); + +} + async index(req, res) { + const employeeList=await model.employee.get(); + res.send(employee); + + } + async login(req,res){ + let loginObject={ + Name: "req.body.Name", + password: "req.body.password", + Email: "req.body.Email" + } + + if(loginObject.Name==="Anchal"&& loginObject.password==="hora" && loginObject.Email==="horaanchal@gmail.com"){ + jwt.sign({user: {Name: loginObj.username, Email: loginObj.Email}},'secretkey',{ expiresIn: '1h' },(err,token)=>{ + res.json({ + token:token + }); + }); + } + else{ + console.log("error") + } + } +} +module.exports =new Employee(); \ No newline at end of file diff --git a/Anchal_Hora/nodejs/controllers/index.js b/Anchal_Hora/nodejs/controllers/index.js new file mode 100644 index 0000000..80292df --- /dev/null +++ b/Anchal_Hora/nodejs/controllers/index.js @@ -0,0 +1,4 @@ +const employees= require('./employee') +module.exports={ + employees:employees, +} \ No newline at end of file diff --git a/Anchal_Hora/nodejs/database/config.js b/Anchal_Hora/nodejs/database/config.js new file mode 100644 index 0000000..e6bd87c --- /dev/null +++ b/Anchal_Hora/nodejs/database/config.js @@ -0,0 +1,15 @@ +const mongoose = require("mongoose"); +const url = "mongodb://localhost:27017/EmployeeDB"; + +mongoose.Promise = global.Promise; +mongoose + .connect(url, { useNewUrlParser: true, keepAlive: 1 }) + .then(res => { + console.log("Connection Established"); + console.log(res); + }) + .catch(error => { + console.log(error.message); + }); + +module.exports = mongoose; diff --git a/Anchal_Hora/nodejs/index.html b/Anchal_Hora/nodejs/index.html new file mode 100644 index 0000000..e3ec9d7 --- /dev/null +++ b/Anchal_Hora/nodejs/index.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + Document + + + +
+

login Form

+
+ + + + + + + + + diff --git a/Anchal_Hora/nodejs/index.js b/Anchal_Hora/nodejs/index.js new file mode 100644 index 0000000..847fa87 --- /dev/null +++ b/Anchal_Hora/nodejs/index.js @@ -0,0 +1,25 @@ +const express = require("express"); +const bodyParser = require("body-parser"); +const app = express(); +const database = require("./database/config"); +app.use(bodyParser.json()); + +require('./routes/route.js')(app); + +// app.get("/", (req, res) => { +// console.log("Hello, This is node"); +// res.send({ text: "Welcome to node.js" }); +// }); +// app.post("/bootcamp", (req, res) => { +// console.log(req.body); +// res.send({ session: `Bootcamp session:${req.body.year}` }); +// }); + +// app.post("/resume", (req, res) => { +// console.log(req.body); +// res.send({ name: `${req.body.name}`, course: `${req.body.course}` }); +// }); + +app.listen(3000, () => { + console.log("Listening port 3000"); +}); diff --git a/Anchal_Hora/nodejs/models/employee.js b/Anchal_Hora/nodejs/models/employee.js new file mode 100644 index 0000000..17539d0 --- /dev/null +++ b/Anchal_Hora/nodejs/models/employee.js @@ -0,0 +1,29 @@ +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(empObj={}){ + return this.model.add(empObj) + } + async save(employeeObj = {}) { + return this.model.create(employeeObj); + } + async update(criteria={}){ + return this.model.update(criteria) + } + async delete(criteria={}){ + return this.model.delete(criteria) + } + async find(criteria={}){ + return this.model.find(criteria) + } + + + } + module.exports = new Employee(); diff --git a/Anchal_Hora/nodejs/models/index.js b/Anchal_Hora/nodejs/models/index.js new file mode 100644 index 0000000..bc1b92a --- /dev/null +++ b/Anchal_Hora/nodejs/models/index.js @@ -0,0 +1,5 @@ +const employee = require("./employee"); + +module.exports = { + employee: employee +}; diff --git a/Anchal_Hora/nodejs/package-lock.json b/Anchal_Hora/nodejs/package-lock.json new file mode 100644 index 0000000..3fede9b --- /dev/null +++ b/Anchal_Hora/nodejs/package-lock.json @@ -0,0 +1,1256 @@ +{ + "name": "nodejs", + "version": "1.0.0", + "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==" + }, + "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" + } + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "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=" + }, + "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==", + "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==", + "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=" + }, + "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==" + }, + "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" + } + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "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==", + "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==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "bson": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.3.tgz", + "integrity": "sha512-TdiJxMVnodVS7r0BdL42y/pqC9cL2iKynVwA0Ho3qbsQYr428veL3l7BQyuqiw+Q5SqqoT0m4srSY/BlZ9AxXg==" + }, + "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=" + }, + "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==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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==", + "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==" + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + }, + "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==", + "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=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "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", + "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=" + }, + "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=", + "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=", + "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=" + }, + "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" + } + }, + "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==" + }, + "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=" + }, + "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==", + "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=" + }, + "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=" + }, + "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=" + }, + "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=", + "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", + "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" + } + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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=" + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "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=" + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "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=", + "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=", + "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==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "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" + } + }, + "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=" + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "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==" + }, + "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==" + }, + "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==", + "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==", + "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=" + }, + "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=" + }, + "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==", + "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=", + "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=" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "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=", + "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=" + }, + "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==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "kareem": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz", + "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==" + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "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==" + }, + "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==", + "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==", + "requires": { + "pify": "^3.0.0" + } + }, + "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" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "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==" + }, + "mongose": { + "version": "0.0.2-security", + "resolved": "https://registry.npmjs.org/mongose/-/mongose-0.0.2-security.tgz", + "integrity": "sha512-XJUBQHhC/12+hWtrcB1Ww+gkxSzbxg4VdjpNlBQGvFoyPm1bErhA+3n/IkWbGCkavFB1OSycpvpCRphPsZXgLw==" + }, + "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==" + }, + "nodemon": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.2.tgz", + "integrity": "sha512-GWhYPMfde2+M0FsHnggIHXTqPDHXia32HRhh6H0d75Mt9FKUoCBvumNHr7LdrpPBTKxsWmIEOjoN+P4IU6Hcaw==", + "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==", + "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==" + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "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==" + }, + "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=", + "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", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "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=" + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "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=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "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.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "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" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "pstree.remy": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", + "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==" + }, + "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" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "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==", + "requires": { + "picomatch": "^2.0.7" + } + }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, + "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==", + "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=", + "requires": { + "rc": "^1.0.1" + } + }, + "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==" + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "requires": { + "semver": "^5.0.3" + } + }, + "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==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "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=" + }, + "sift": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", + "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "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=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "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=", + "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=" + }, + "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=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "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=", + "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=" + }, + "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==", + "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==", + "requires": { + "nopt": "~1.0.10" + } + }, + "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" + } + }, + "undefsafe": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", + "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", + "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=", + "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=" + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "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=", + "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", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "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==", + "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==", + "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==", + "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=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } +} diff --git a/Anchal_Hora/nodejs/package.json b/Anchal_Hora/nodejs/package.json new file mode 100644 index 0000000..9b89ea9 --- /dev/null +++ b/Anchal_Hora/nodejs/package.json @@ -0,0 +1,19 @@ +{ + "name": "nodejs", + "version": "1.0.0", + "description": "Anchal", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "nodemon index.js" + }, + "author": "Anchal", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "express": "^4.17.1", + "mongoose": "^5.8.11", + "mongose": "0.0.2-security", + "nodemon": "^2.0.2" + } +} diff --git a/Anchal_Hora/nodejs/routes/route.js b/Anchal_Hora/nodejs/routes/route.js new file mode 100644 index 0000000..8a99319 --- /dev/null +++ b/Anchal_Hora/nodejs/routes/route.js @@ -0,0 +1,14 @@ +const controller = require("../controllers"); +module.exports = app => { + app.post("/employees/register", controller.employees.create); + app.post("/employees/login", controller.employees.login); + app.post("/employees", controller.employees.add); + app.get("/employees", controller.employees.index);//get without id + app.get("/employees/:id", controller.employees.show);//get with id + app.delete("/employees/:id", controller.employees.delete); + app.put("/employees/:id", controller.employees.update); + + // app.get("/", (req, res) => { + // console.log("Hello, This is node"); + // res.send({ text: "Welcome to node.js" }); +}; diff --git a/Anchal_Hora/nodejs/schemas/employee.js b/Anchal_Hora/nodejs/schemas/employee.js new file mode 100644 index 0000000..9ea8eb7 --- /dev/null +++ b/Anchal_Hora/nodejs/schemas/employee.js @@ -0,0 +1,33 @@ +module.exports = { + Name: { + type: String, + default: null + }, + password: { + type:String, + default: null + }, + phoneNo: { + type: String, + default: null + }, + address: { + city:{ type: String, + default: null}, + state: + { type: String, + default: null} + }, + Designation: { + type: String, + default: null + }, + Emailid: { + type: String, + required: true + }, + age: { + type: Number + }, + technologies: [{ type: String }] +}; diff --git a/Anchal_Hora/nodejs/schemas/index.js b/Anchal_Hora/nodejs/schemas/index.js new file mode 100644 index 0000000..3ef5cbe --- /dev/null +++ b/Anchal_Hora/nodejs/schemas/index.js @@ -0,0 +1,4 @@ +const employee = require("./employee"); +module.exports = { + employee: employee +}; diff --git a/Anchal_Hora/nodejs/signup.js b/Anchal_Hora/nodejs/signup.js new file mode 100644 index 0000000..83feff1 --- /dev/null +++ b/Anchal_Hora/nodejs/signup.js @@ -0,0 +1,31 @@ +document.getElementById("btn").addEventListener("click",postData) +function postData(){ + var Sno=parseInt(document.getElementById("inputid").value); + var Username=document.getElementById("inputName").value; + var Email=document.getElementById("inputEmail").value; + var Password=document.getElementById("inputPassword").value; + + + var json={ + "Sno":Sno, + "Name":Username, + "Email":Email, + "Password":Password + }; + console.log(json); + //sendHTTPReq('POST', "http://localhost:3000/employees/register", json).then(x => func() ); + var xhr= new XMLHttpRequest(); + var url="http://localhost:3000/employees/register"; + xhr.open('POST', url,true); + xhr.responseType='json'; + xhr.setRequestHeader('Content-type','application/json'); + console.log(JSON.stringify(json)); + xhr.onload = () => { + console.log(xhr.status); + //var jwtToken = xhr.response.token; + + }; + xhr.send(JSON.stringify(json)); +} + + diff --git a/Anchal_Hora/nodejs/style.css b/Anchal_Hora/nodejs/style.css new file mode 100644 index 0000000..970f806 --- /dev/null +++ b/Anchal_Hora/nodejs/style.css @@ -0,0 +1,54 @@ +body#LoginForm{ background-image:url("https://hdwallsource.com/img/2014/9/blur-26347-27038-hd-wallpapers.jpg"); background-repeat:no-repeat; background-position:center; background-size:cover; padding:10px;} + +.form-heading { color:#fff; font-size:23px;} + +.panel h2{ color:#444444; font-size:18px; margin:0 0 8px 0;} +.panel p { color:#777777; font-size:14px; margin-bottom:30px; line-height:24px;} +.login-form .form-control { + background: #f7f7f7 none repeat scroll 0 0; + border: 1px solid #d4d4d4; + border-radius: 1rem; + font-size: 14px; + height: 50px; + line-height: 50px; +} +.main-div { + background: #ffffff none repeat scroll 0 0; + border-radius: 1rem; + margin: 1px auto 10px; + max-width: 38%; + padding: 1px 10px 10px 20px; +} + +.login-form .form-group { + margin-bottom:5px; +} +.login-form{ text-align:center;} +.forgot a { + color: #777777; + font-size: 14px; + text-decoration: underline; +} +.login-form .btn.btn-primary { + background: #f0ad4e none repeat scroll 0 0; + border-color: #f0ad4e; + color: #ffffff; + font-size: 14px; + width: 100%; + height: 50px; + line-height: 50px; + padding: 0; +} +.forgot { + text-align: left; margin-bottom:5px; +} +.botto-text { + color: #ffffff; + font-size: 14px; + margin: auto; +} +.login-form .btn.btn-primary.reset { + background: #ff9900 none repeat scroll 0 0; +} +.back { text-align: left; margin-top:10px;} +.back a {color: #444444; font-size: 13px;text-decoration: none;}