Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions assign6/front/data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[{
"ID":"1",
"First__Name": "Akanksha",
"Middle__Name": "",
"Last__Name": "Singh",
"Email": "singh@gmail.com",
"Phone_Number": "9987654321",
"Role": 1,
"Address": "Bhopal",
"DateTime":"2020-2-3"
},
{
"ID": "2",
"First__Name": "Jai",
"Middle__Name": "Narayan",
"Last__Name": "Singh",
"Email": "jns@gmail.com",
"Phone_Number": "9087654321",
"Role": 0,
"Address": "Pune",
"DateTime":"2020-2-3"
},
{
"ID": "3",
"First__Name": "Shurabhi",
"Middle__Name": "Singh",
"Last__Name": "Mittal",
"Email": "ssm@gmail.com",
"Phone_Number": "8907654321",
"Role": 0,
"Address": "Mohali",
"DateTime":"2020-2-3"
},
{
"ID": "4",
"First__Name": "Chavi",
"Middle__Name": "",
"Last__Name": "Sonali",
"Email": "ssp@gmail.com",
"Phone_Number": "8901234567",
"Role": 1,
"Address": "Mumbai",
"DateTime":"2020-2-3"
}

]
158 changes: 158 additions & 0 deletions assign6/front/module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@

enum Role{SuperAdmin,Admin,Subscriber};
class model1{
ID:number;
First__Name:string;
Middle__Name:string;
Last__Name:string;
Email:string;
Phone_Number:number;
Role:Role;
Address:string;
DateTime:string;
constructor(ID:number,First__Name:string,Middle__Name:string,Last__Name:string,Email:string,Phone_Number:number,Role:Role,Address:string,DateTime:string)
{
this.ID=ID;
this.First__Name=First__Name;
this.Middle__Name=Middle__Name;
this.Last__Name=Last__Name;
this.Email=Email;
this.Phone_Number=Phone_Number;
this.Role=Role;
this.Address=Address;
this.DateTime=DateTime;
}
}
let ListS=[];
const obj1=new model1(1,'Akansha','fg','singh','singh@gmail.com',9876542123,Role.Admin,'adfghkk','2018-12-10T13:49:51.141Z');
ListS.push(obj1);
const obj2=new model1(2,'Akriti','fg','singh','singh@gmail.com',7812345321,Role.Admin,'adfghkk','2018-12-10T13:49:51.141Z');
ListS.push(obj2);
//API CALLS ======================================================================================

async function getUsers() {

let response = await fetch('http://localhost:9000/exp22');
let users = await response.json() as model1[] ;

return users; // same as Promise.resolve(users)

}
async function deleteUser(id: string) {

let response = await fetch(`http://localhost:9000/exp11/${id}`, {
method: 'DELETE'
})
let data = await response.json()
return data;
}
async function editUser<model1>(id: string, object: model1) {

let response = await fetch(`http://localhost:9000/exp11/${id}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json'

},
body: JSON.stringify(object)
})
let data = await response.json()
return data;
}
async function addUser<model1>(id: string, object: model1) {

let response = await fetch(`http://localhost:9000/exp11/${id}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'

},
body: JSON.stringify(object)
})
let data = await response.json()
return data;
}
//===================================================================================================

interface list<T>{
create(data:T):void;
read(r:number):void;
update(r:number):void;
delete(r:number):void;
}
class changeL implements list<model1>{
create(data:model1):void{
const row=new model1(data.ID,data.First__Name,data.Middle__Name,data.Last__Name,data.Email,data.Phone_Number,data.Role,data.Address,data.DateTime);
ListS.push(row);
}
read(r:number):void{
var li=[];

for (var j = 0; j < col.length; j++) {
var s=document.getElementById(col[j]+(r)).innerHTML;
//document.getElementById(j).value="";
li.push(s);
}
let per={'ID':li[0],'First__Name':li[1],'Middle__Name':li[2],
'Last__Name':li[3],
'Email':li[4],
'Phone_Number':li[5],
'Role':li[6],
'Address':li[7],
'DateTime':li[8] }
document.getElementById('retriveValue').innerHTML=JSON.stringify(per);
document.getElementById("select"+r+"").style.visibility ="visible";
document.getElementById("retrive"+r+"").style.visibility ="hidden";
document.getElementById("update"+r+"").style.visibility ="hidden";
document.getElementById("delete"+r+"").style.visibility ="hidden";
document.getElementById("row"+r+"").style.backgroundColor = "white";

}

update(no:number){

document.getElementById("update"+no).style.visibility="hidden";
document.getElementById("saveUpdate"+no).style.visibility="visible";
document.getElementById("cancelUpdate"+no).style.visibility="visible";

var Id=document.getElementById("ID"+no);
var FirstName=document.getElementById("First__Name"+no);
var MiddleName=document.getElementById("Middle__Name"+no);
var LastName=document.getElementById("Last__Name"+no);
var email =document.getElementById("Email"+no) ;
var Phone_N =document.getElementById("Phone_Number"+no) ;
var role =document.getElementById("Role"+no) ;
var address =document.getElementById("Address"+no) ;
var date =document.getElementById("DateTime"+no) ;

var ID=Id.innerHTML;
var FName=FirstName.innerHTML;
var MName=MiddleName.innerHTML;
var LName=LastName.innerHTML;
var Email=email.innerHTML;
var Phone=Phone_N.innerHTML;
var Role=role.innerHTML;
var Address=address.innerHTML;
var Date=date.innerHTML;

helpCancel(ID,FName,MName,LName,Email,Phone,Role,Address,Date);
Id.innerHTML="<input type='text' id='ID_"+no+"' value='"+ID+"'/>";
FirstName.innerHTML="<input type='text' id='First_Name"+no+"' value='"+FName+"'/>";
MiddleName.innerHTML="<input type='text' id='Middle_Name"+no+"' value='"+MName+"'/>";
LastName.innerHTML="<input type='text' id='Last_Name"+no+"' value='"+LName+"'/>";
email.innerHTML="<input type='text' id='Email_"+no+"' value='"+Email+"'/>";
Phone_N.innerHTML="<input type='text' id='Phone_Number_"+no+"' value='"+Phone+"'/>";
role.innerHTML="<input type='text' id='Role_"+no+"' value='"+Role+"'/>";
address.innerHTML="<input type='text' id='Address_"+no+"' value='"+Address+"'/>";
date.innerHTML="<input type='datetime' id='Date_"+no+"' value='"+Date+"'/>";
}
delete(r:number):void{
let par=r-1
deleteUser(r-1).then(usersArray => {`deleted,${usersArray}`})
.catch(()=> {alert("Unexpected delete Error Occured !")}) ;
CreateTableFromJSON()
//ListS.splice(r-1,1);
}
}


12 changes: 12 additions & 0 deletions assign6/front/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "front",
"version": "1.0.0",
"description": "",
"main": "server-api/exp22.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
46 changes: 46 additions & 0 deletions assign6/front/server-api/api/data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[{
"ID":"1",
"First__Name": "Akanksha",
"Middle__Name": "",
"Last__Name": "Singh",
"Email": "singh@gmail.com",
"Phone_Number": "9987654321",
"Role": 1,
"Address": "Bhopal",
"DateTime":"2020-2-3"
},
{
"ID": "2",
"First__Name": "Jai",
"Middle__Name": "Narayan",
"Last__Name": "Singh",
"Email": "jns@gmail.com",
"Phone_Number": "9087654321",
"Role": 0,
"Address": "Pune",
"DateTime":"2020-2-3"
},
{
"ID": "3",
"First__Name": "Shurabhi",
"Middle__Name": "Singh",
"Last__Name": "Mittal",
"Email": "ssm@gmail.com",
"Phone_Number": "8907654321",
"Role": 0,
"Address": "Mohali",
"DateTime":"2020-2-3"
},
{
"ID": "4",
"First__Name": "Chavi",
"Middle__Name": "",
"Last__Name": "Sonali",
"Email": "ssp@gmail.com",
"Phone_Number": "8901234567",
"Role": 1,
"Address": "Mumbai",
"DateTime":"2020-2-3"
}

]
82 changes: 82 additions & 0 deletions assign6/front/server-api/api/exp11.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
var express = require("express");
var router = express();
//import { v4 as uuidv4 } from 'uuid';
var data = require('./data.json');
//SENDS ALL MEMBERS
router.get("/", function (req, res) {
res.json(data);
});
//SEND A SPECIFIC MEMEBER
router.get("/:id", function (req, res) {
var id = req.params.id;
if (data.some(function (data) { return data.ID === id; })) {
res.status(200).json(data.filter(function (data) { return data.ID === id; }));
}
else
res.status(400).json({ message: "No Member with Member ID " + id + " Found" });
});
//ADD MEMBER
router.post("/", function (req, res) {
var newValue = {
ID: req.body.ID,
First__Name: req.body.First__Name,
Middle__Name: req.body.Middle__Name,
Last__Name: req.body.Last__Name,
Email: req.body.Email,
Phone_Number: req.body.Phone_Number,
Role: req.body.Role,
Address: req.body.Address,
DateTime:req.body.DateTime
};
if (!newValue.ID ||!newValue.First__Name || !newValue.Last__Name || !newValue.Email || !newValue.Phone_Number || !newValue.Role || !newValue.Address) {
res.status(400).json({ message: "Give Correct Input" });
}
else if (data.some(function (data) { return newValue.Phone_Number === data.Phone_Number; })) {
res.status(400).json({ message: "User Already Exists" });
}
else {
data.push(newValue);
res.status(200).json({ message: "Member Successfully Added !", "New Member": newValue });
}
});
//EDIT MEMBER
router.put('/:id', function (req, res) {
var id = req.params.id;
if (data.some(function (data) { return data.ID === id; })) {
data.forEach(function (object) {
if (object.ID === id) {
object.First__Name = req.body.First__Name ? req.body.First__Name : object.First__Name;
object.Middle__Name = req.body.Middle__Name ? req.body.Middle__Name : object.Middle__Name;
object.Last__Name = req.body.Last__Name ? req.body.Last__Name : object.Last__Name;
object.Email = req.body.Email ? req.body.Email : object.Email;
object.Phone_Number = req.body.Phone_Number ? req.body.Phone_Number : object.Phone_Number;
object.Role = req.body.Role ? req.body.Role : object.Role;
object.Address = req.body.Address ? req.body.Address : object.Address;
object.DateTime= req.body.DateTime ? req.body.DateTime : object.DateTime;
res.status(200).json({ message: 'Updated Successfully', updatedMembers: data });
}
});
}
else {
res.status(400).json({ message: "No Member with Member ID " + id + " Found" });
}
});
//DELETE MEMBER
router["delete"]('/:id', function (req, res) {
var id = req.params.id;

if (data.some(function (data) { return data.ID=== id; })) {
var index = 0;
for (; index < data.length; index++) {
if (data[index].ID === id)
break;
}
data.splice(index, 1);
res.status(200).json({ message: "Deleted Member with ID: " + id, members: data });
console.log(id);
}
else {
res.status(400).json({ message: "No Member with Member ID " + id + " Found" });
}
});
module.exports = router;
Loading