2016-07-01 12:35:32 +00:00
|
|
|
var express = require('express');
|
|
|
|
var router = express.Router();
|
2016-07-01 23:16:04 +00:00
|
|
|
var utils = require('./utils');
|
|
|
|
var db = require('./DBManager');
|
2016-07-01 12:35:32 +00:00
|
|
|
|
2016-07-01 23:16:04 +00:00
|
|
|
router.get('/status', (req, res) => {
|
2016-07-01 12:35:32 +00:00
|
|
|
var d = new Date();
|
|
|
|
res.send({
|
|
|
|
Status: "OK",
|
|
|
|
Mantra: "KISS - Yo!",
|
|
|
|
Time: d.toString()
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2016-07-01 23:16:04 +00:00
|
|
|
router.post('/login', (req, res) => {
|
|
|
|
if (!req.body.username || !req.body.password) {
|
|
|
|
utils.response_400(res, {
|
|
|
|
username: "JhonSnow",
|
|
|
|
password: "I-know_nothing"
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
var query = db.createQuery('User')
|
|
|
|
.filter('username', req.body.username)
|
|
|
|
.filter('password', req.body.password);
|
|
|
|
|
|
|
|
db.runQuery(query, (err, entities) => {
|
|
|
|
if (err || entities.length !== 1) {
|
|
|
|
res.send({
|
|
|
|
status: "OK",
|
|
|
|
user: null
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
entities = entities.map(utils.convertToUserObj);
|
|
|
|
res.send({
|
|
|
|
status: "OK",
|
|
|
|
user: entities[0]
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
router.post('/register', (req, res) => {
|
|
|
|
if (!req.body.username || !req.body.password || !req.body.email) {
|
|
|
|
utils.response_400(res, {
|
|
|
|
username: "JhonSnow",
|
|
|
|
password: "I-know_nothing",
|
|
|
|
email: "jhon@nights_watch.com"
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
var query = db.createQuery('User')
|
|
|
|
.filter('username', req.body.username);
|
|
|
|
|
|
|
|
db.runQuery(query, (err, entities) => {
|
|
|
|
if (err || entities.length === 1) {
|
|
|
|
res.send({
|
|
|
|
status: "Error",
|
|
|
|
message: "User name exists"
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
db.save({
|
|
|
|
key: db.key('User'),
|
|
|
|
data: {
|
|
|
|
username: req.body.username,
|
|
|
|
password: req.body.password,
|
|
|
|
email: req.body.email,
|
|
|
|
creation_time: new Date(),
|
|
|
|
avatar: null
|
|
|
|
}
|
|
|
|
}, function (err, user) {
|
|
|
|
if (err) {
|
|
|
|
utils.response_500(res, "DB Error");
|
|
|
|
} else {
|
|
|
|
res.statusCode = 201;
|
|
|
|
res.send({
|
|
|
|
status: "OK",
|
|
|
|
message: "created"
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
router.post('/user/upsert', (req, res) => {});
|
|
|
|
router.post('/note/upsert', (req, res) => {
|
|
|
|
if (!req.body || !req.body.title || !req.body.body || !req.body.tags || !req.body.owner_id || !req.body.address) {
|
|
|
|
utils.response_400(res, {
|
|
|
|
title: "Note To Self",
|
|
|
|
body: "I know nothing!!!",
|
|
|
|
lat: 35.01,
|
|
|
|
lng: 51.2,
|
|
|
|
address: "Some Where over the rainbow",
|
|
|
|
tags: ['nofilter', 'testing', 'education'],
|
|
|
|
owner_id: 123,
|
|
|
|
is_public: true
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
if (req.body.id) { //Update a Note
|
|
|
|
// var query = db.createQuery('Note').filter('owner_id', )
|
|
|
|
utils.response_500(res, "Not Yet Implemented - Imean updating the Note");
|
|
|
|
} else {
|
|
|
|
db.save({
|
|
|
|
key: db.key('Note'),
|
|
|
|
data: {
|
|
|
|
title: req.body.title,
|
|
|
|
lat: req.body.lat,
|
|
|
|
lng: req.body.lng,
|
|
|
|
body: req.body.body,
|
|
|
|
owner_id: req.body.owner_id,
|
|
|
|
is_public: req.body.is_public || false,
|
|
|
|
created_at: new Date(),
|
|
|
|
likes: 0,
|
|
|
|
tags: req.body.tags || []
|
|
|
|
}
|
|
|
|
},
|
|
|
|
(err, response) => {
|
|
|
|
if (err) {
|
|
|
|
utils.response_500(res, "DB Error");
|
|
|
|
} else {
|
|
|
|
res.statusCode = 201;
|
|
|
|
res.send({
|
|
|
|
status: "OK",
|
|
|
|
message: "Saved"
|
|
|
|
});
|
|
|
|
// var query = db.createQuery('Note')
|
|
|
|
// .filter('_id', response.mutationResults[0].key.path[0].id);
|
|
|
|
// db.get(db.key(['Note', response.mutationResults[0].key.path[0].id]), (err, entity) => {
|
|
|
|
// if (err) {
|
|
|
|
// utils.response_500(res, "DB Error" + err);
|
|
|
|
// } else {
|
|
|
|
// res.statusCode = 201;
|
|
|
|
// console.log(JSON.stringify(entity, null, 2));
|
|
|
|
// console.log('=====');
|
|
|
|
// res.send(utils.convertToNoteObj(entity));
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
router.get('/note/all', (req, res) => {
|
|
|
|
if (!req.query.uid) {
|
|
|
|
utils.response_400(res, "uid=123", "Missing uid in query string");
|
|
|
|
} else {
|
|
|
|
var query = db.createQuery('Note')
|
|
|
|
.filter('owner_id', req.query.uid);
|
|
|
|
// .order('creation_time', {
|
|
|
|
// descending: true
|
|
|
|
// });
|
|
|
|
db.runQuery(query, (err, entities) => {
|
|
|
|
if (err || entities.length < 1) {
|
|
|
|
res.send({
|
|
|
|
status: (err ? "Error" : "OK"),
|
|
|
|
message: err ? "DB error, " + err : "No Notes",
|
|
|
|
notes: (err ? null : [])
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
entities = entities.map(utils.convertToNoteObj);
|
|
|
|
res.send({
|
|
|
|
status: "OK",
|
|
|
|
notes: entities
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2016-07-01 12:35:32 +00:00
|
|
|
|
|
|
|
module.exports = router;
|
|
|
|
|
|
|
|
// // about page route (http://localhost:8080/about)
|
|
|
|
// router.get('/about', function(req, res) {
|
|
|
|
// res.send('im the about page!');
|
|
|
|
// });
|