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
106 changes: 106 additions & 0 deletions ObiFenix/mean_stack/Angular/ResFullTask/back-end/app_1955API.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
// =======================
// Load the express module
// =======================
const express = require("express"),
app = express(),
path = require('path'),
bodyParser = require('body-parser'),
I955_API = require('./models/1955_api');


// ============================
// Application-Level Middleware
// ============================
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(path.join(__dirname, './static')));
app.use(express.static(__dirname + '/hello-angular/dist'));


// ========================
// Endpoint Routes Handlers
// ========================

app.get('/i955_api', (req, res) => {
I955_API.find({}, (err, i955_api) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log("All the i955_api data has successfully been retrieved from the db to the Front-End", err);
res.json({ message: "Success", data: i955_api })
}
});
});

app.get('/i955_api/:id', (req, res) => {
console.log(req.params.id);
let id = req.params.id;
I955_API.find({ _id: id }, (err, i955_api) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('Single data successfully retrieved for the Front-End!', i955_api);
res.json({ message: "Success", data: i955_api })
}
});
});

app.post('/i955_api/', (req, res) => {
console.log("REQUEST", req.body.title)
var i955_api = new Task({
title: req.body.title,
description: req.body.description,
completed: req.body.completed
});
I955_API.save((err) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('Data successfully retrieved from the Front-End and added to the db!');
res.json({ message: "Success", data: i955_api })
}
})
})

app.put('/i955_api/:id', (req, res) => {
let id = req.params.id;
I955_API.findById(id, (err, i955_api) => {
if (err) { console.log('\n==> ERROR Report: Something went wrong\n==> ERROR Info: ' + task.error); }
else {
if (req.body.title) { i955_api.title = req.body.title; }
if (req.body.description) { i955_api.description = req.body.description; }
if (req.params.completed) { i955_api.completed = req.body.completed; }
task.save((err) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('The requested i955_api data has successfully been edited!');
res.json(i955_api)
}
})
}
})
})

app.delete('/i955_api/:id', (req, res) => {
console.log("trying to delete");
let id = req.params.id;
I955_API.remove({ _id: id }, (err) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('The requested i955_api data has successfully been deleted!');
res.json({ message: "Success" })
}
})
})


// Set our Server to Listen on Port: 8000
app.set('port', 8000);
app.listen(app.get('port'), () => console.log(`The App i955_api started on port ${app.get('port')}`));
119 changes: 119 additions & 0 deletions ObiFenix/mean_stack/Angular/ResFullTask/back-end/app_Task.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@


// =======================
// Load the express module
// =======================

const express = require("express"),
app = express(),
path = require('path'),
bodyParser = require('body-parser'),
session = require('express-session'),
Task = require('./models/task_api');



// =============================
// Application-Level Middlewares
// =============================

// app.set('views', __dirname + '/views');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({ extended: true })); //To help work with HTTP POST Requests.
app.use(express.static(__dirname + "/static"));
app.use(flash());
app.use(session({
secret: 'thelows$of%Phy|cs?',
resave: false,
saveUninitialized: true,
cookie: { maxAge: 60000 }
})); //This is to set up sessions


// ========================
// Endpoint Routes Handlers
// ========================

app.get('/tasks', (req, res) => {
Task.find({}, (err, tasks) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log("All tasks have successfully been retrieved for the Front-End", err);
res.json({ message: "Success", tasks: tasks });
}
}); //res.render('index', {errors: req.session.errors});
});

app.get('/tasks/:id', (req, res) => {
console.log(req.params.id);
let id = req.params.id;
Task.find({ _id: id }, (err, data) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('The requested task has successfully been retrieved for the Front-End!', data);
res.json({ message: "Success", task: data });
}
});
});

app.post('/tasks/', (req, res) => {
console.log("REQUEST", req.body.title)
var task = new Task({
title: req.body.title,
description: req.body.description,
completed: req.body.completed
});
task.save((err) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('A task has successfully added to the database from the Front-End!');
res.json({ message: "Success", task: task });
}
});
});

app.put('/tasks/:id', (req, res) => {
let id = req.params.id;
Task.findById(id, (err, task) => {
if (err) { console.log('\n==> ERROR Report: Something went wrong\n==> ERROR Info: ' + task.error); }
else {
if (req.body.title) { task.title = req.body.title; }
if (req.body.description) { task.description = req.body.description; }
if (req.params.completed) { task.completed = req.body.completed; }
task.save((err) => {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('The requested task has successfully been edited!');
res.json(task);
}
})
}
});
});

app.delete('/tasks/:id', (req, res) => {
console.log("trying to delete");
let id = req.params.id;
Task.remove({ _id: id }, function (err) {
if (err) {
console.log("Returned error", err);
res.json({ message: "Error", error: err });
} else {
console.log('The requested task has successfully deleted!');
res.json({ message: "Success" });
}
});;
});

// Set our Server to Listen on Port: 8000
app.set('port', 8000);
app.listen(app.get('port'), () => console.log(`The Task App started on port ${app.get('port')}`));
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
let mongoose = require('mongoose');

let I955_API_Schema = new mongoose.Schema({
title: String,
description: { type: String, default: '' },
completed: { type: Boolean, default: true }
}, { timestamps: { createdAt: 'created_at', updatedAt: 'updated_at' }});

// Connecting to mongo db
mongoose.connect('mongodb://localhost/i955_api_db');
mongoose.model('I955_API', I955_API_Schema);

// export 1955_API model for use in other files.
mongoose.Promise = global.Promise;
let I955_API = mongoose.model('I955_API');
module.exports = I955_API;
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
let mongoose = require('mongoose');

let TasksSchema = new mongoose.Schema({
title: {type: String, required: true, minlength: 3, maxlength: 30},
description: {type: String, required: true, maxlength: 100, default: ""},
completed: {type: Boolean, required: false, default: false}
}, {timestamps: true});

// Connecting to mongo db
mongoose.connect('mongodb://localhost/tasks_db');
mongoose.model('Tasks', TasksSchema);

// export User model for use in other files.
mongoose.Promise = global.Promise;
let Task = mongoose.model('Tasks');
module.export = Task;
Loading