Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
const http = require('http');
const url = require('url');
let assigned = require('./queries/assigned');
let get_hash = require('./queries/compare_hash');
let due_dates = require('./queries/due_dates');
let get_grps = require('./queries/get_grps');
let get_salt = require('./queries/get_salt');
const get_progress = require('./queries/get_progress');
let get_test = require('./queries/get_test');
let create_test = require('./queries/create_test');
let create_user = require('./queries/create_user');
let send_progress = require('./queries/send_progress');
let create_progress = require('./queries/create_progress');
let username_check = require('./queries/username_check');
let add_to_grp = require('./queries/add_to_grp');
let user_owns_grp = require('./queries/user_owns_grp');
let user_owns_test = require('./queries/user_owns_test');
let get_usr_in_grp = require('./queries/get_usr_in_grp');
let grp_assigned = require('./queries/grp_assigned');
let assign_to_group = require('./queries/assign_to_group');
const create_group = require('./queries/create_group');
let remove_grp = require('./queries/remove_grp');
let remove_usr_grp = require('./queries/remove_usr_grp');
let remove_test_grp = require('./queries/remove_test_grp');
let make_user_admin = require('./queries/make_user_admin');
let remove_user = require('./queries/remove_user');
const remove_test = require('./queries/remove_test');
const user_pending = require('./queries/user_pending');
const accept_pending = require('./queries/accept_pending');
const group_progress = require('./queries/group_progress');
const member_progress = require('./queries/member_progress');
const server = http.createServer();
server.on('request', async (request, response) => {
try {
console.log(request.method, request.url)
const parsedUrl = url.parse(request.url, true)
console.log(parsedUrl)
//TESTING ROUTE
if (request.method === 'GET' && parsedUrl.pathname === '/') {
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(JSON.stringify({ "HELLO": "WORLD" }))
response.end();
// run curl "http://localhost:8000/assigned\?id=sunnytest3" in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/assigned/') {
const { id } = parsedUrl.query;
let result = await assigned(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
// run curl "http://localhost:8000/check/?id=sunnytest3" in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/check/') {
const { id } = parsedUrl.query;
let result = await username_check(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(String(result))
response.end();
// run curl "http://localhost:8000/hash\?user=sunnytest3" in terminal
}
else if (request.method === 'GET' && parsedUrl.pathname === '/hash/') {
const { user } = parsedUrl.query;
// console.log(user)
// console.log(hash)
let result = await get_hash(user);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
// run curl "http://localhost:8000/due\?id=1 in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/due/') {
const { id } = parsedUrl.query;
let result = await due_dates(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
// run curl "http://localhost:8000/grps\?id=1 in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/grps/') {
const { id } = parsedUrl.query;
let result = await get_grps(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
//run curl "http://localhost:8000/salt\?user=sunnysar322 in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/salt/') {
const { user } = parsedUrl.query;
let result = await get_salt(user);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
//run curl "http://localhost:8000/own_grp\?id=user1 in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/own_grp/') {
const { id } = parsedUrl.query;
let result = await user_owns_grp(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
//run curl "http://localhost:8000/own_test\?id=user1 in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/own_test/') {
const { id } = parsedUrl.query;
let result = await user_owns_test(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'GET' && parsedUrl.pathname === '/testing/') {
const { id } = parsedUrl.query;
let result = await get_test(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
//run curl in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/get_usr_in_grp/') {
const { id } = parsedUrl.query;
let result = await get_usr_in_grp(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
//run curl in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/grp_assigned/') {
const { id } = parsedUrl.query;
let result = await grp_assigned(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
//run curl "http://localhost:8000/progress\?id=1&test_id=1 in terminal
} else if (request.method === 'GET' && parsedUrl.pathname === '/progress/') {
const { id, test_id } = parsedUrl.query;
let result = await get_progress(id, test_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'POST' && parsedUrl.pathname === '/make_admin/') {
var body = "";
await request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
await request.on('end', async function () {
let result = JSON.parse(body)
await make_user_admin(result.id, result.grp_id);
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Admin Request Success!")
})
} else if (request.method === 'GET' && parsedUrl.pathname === '/group_progress/') {
const { test_id, grp_id } = parsedUrl.query;
let result = await group_progress(test_id, grp_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'GET' && parsedUrl.pathname === '/member_progress/') {
const { id, grp_id } = parsedUrl.query;
let result = await member_progress(id, grp_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'GET' && parsedUrl.pathname === '/user_pending/') {
const { id } = parsedUrl.query;
let result = await user_pending(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'GET' && parsedUrl.pathname === '/accept_pending/') {
const { id, grp_id } = parsedUrl.query;
let result = await accept_pending(id, grp_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'POST' && parsedUrl.pathname === '/create_test/') {
var body = "";
await request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
await request.on('end', async function () {
let result = JSON.parse(body)
await create_test(result.creator_id, JSON.stringify(result.training_data), JSON.stringify(result.flashcards), JSON.stringify(result.questions), result.test_name);
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Test Success!")
})
// {"f_name":"sunny", "l_name":"sarker", "user_id":"sunnysar46","email":".sarler@uconn.edu", "hash":"ihfheifho", "salt":"weu93ur"}
} else if (request.method === 'POST' && parsedUrl.pathname === '/create_user/') {
var body = "";
request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
request.on('end', async function () {
let result = JSON.parse(body)
result = await create_user(result.f_name, result.l_name, result.user_id, result.email, result.hash, result.salt);
if (result === "User already exists"){
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted User FAILED")
} else {
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Success")
}
})
} else if (request.method === 'POST' && parsedUrl.pathname === '/send_progress/') {
var body = "";
request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
request.on('end', async function () {
let result = JSON.parse(body)
await send_progress(result.user_id, result.test_id, JSON.stringify(result.progress_info));
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Progress Success")
})
// {"user_id":"sunny", "test_id":"3", "progress_info":"{}"}
} else if (request.method === 'POST' && parsedUrl.pathname === '/create_progress/') {
var body = "";
request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
request.on('end', async function () {
let result = JSON.parse(body)
await create_progress(result.user_id, result.test_id, JSON.stringify(result.progress_info));
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Success")
})
} else if (request.method === 'POST' && parsedUrl.pathname === '/assign_to_grps/') {
var body = "";
request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
request.on('end', async function () {
let result = JSON.parse(body)
await assign_to_group(result.grp_id, result.test_id, result.due_date);
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Success")
})
}
else if (request.method === 'POST' && parsedUrl.pathname === '/create_group/') {
var body = "";
request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
request.on('end', async function () {
let result = JSON.parse(body)
await create_group(result.grp_name, result.grp_owner);
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Success")
})
}
else if (request.method === 'POST' && parsedUrl.pathname === '/add_to_grps/') {
var body = "";
request.on("data", function (chunk) { // data is activated anytime there is an input chunk of data
body += chunk;
})
request.on('end', async function () {
let result = JSON.parse(body)
await add_to_grp(result.user_id, result.grp_id);
response.setHeader("Content-Type", "application/json");
response.statusCode = 200;
response.end("Inserted Success")
})
} else if (request.method === 'DELETE' && parsedUrl.pathname === '/remove_grp/') {
const { grp_id } = parsedUrl.query;
let result = await remove_grp(grp_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'DELETE' && parsedUrl.pathname === '/remove_test_grp/') {
const { grp_id, test_id } = parsedUrl.query;
let result = await remove_test_grp(grp_id, test_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'DELETE' && parsedUrl.pathname === '/remove_usr_grp/') {
const { grp_id, id } = parsedUrl.query;
let result = await remove_usr_grp(grp_id, id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'DELETE' && parsedUrl.pathname === '/remove_user/') {
const { id } = parsedUrl.query;
let result = await remove_user(id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
} else if (request.method === 'DELETE' && parsedUrl.pathname === '/remove_test/') {
const { test_id } = parsedUrl.query;
let result = await remove_test(test_id);
response.setHeader('content-type', 'application/json');
response.statusCode = 200;
response.write(result)
response.end();
}
}
catch (e) {
console.log(e);
}
});
server.on('error', async () => {
process.exit(1)
})
server.listen(8000);