*/
router.get('/', function(req, res){
Models.Notule.fetchAll(/*{withRelated: ['collectivityNotule.collectivity']}*/)
- .then(function (users){
- res.json(users.toJSON());
+ .then(function (notules){
+ res.json({success : true, message: notules.toJSON()});
})
.catch(function(err){
- res.json(err);
+ res.json({success : false, message: err});
});
});
+
+
+
+
router.post('/', function(req, res){
console.log(req.body);
+ var b64Logo = req.body.collectivityLogo;
+
var newNodule = {
name : req.body.name,
data :req.body.data
}
var notule = model.toJSON();
//if not logged don't link to collectivity
+
+ if(b64Logo) {
+
+ require("fs").writeFile("public/" + notule.id + ".png", b64Logo, 'base64', function (err) {
+ if (err) {
+ console.log(err);
+ } else {
+ console.log("saved");
+ }
+ });
+ }
+
if(!req.token){
return res.json({success: true, message: "notule.created"})
}
router.get('/client/:lat/:lon', function(req, res){
- lat = req.params.lat;
- lon = req.params.lon;
+ lat = req.params.lat;
+ lon = req.params.lon;
- client.get("http://nominatim.openstreetmap.org/reverse?format=json&lat=" + lat +"&lon=" + lon +"&email=theo.guillon@adullact-projet.coop", function (data, response) {
+ // client.get("http://nominatim.openstreetmap.org/reverse?format=json&lat=" + lat +"&lon=" + lon +"&email=theo.guillon@adullact-projet.coop", function (data, response) {
// parsed response body as js object
//console.log(data);
//console.log(decoder.write(data));
- // res.json({city : data.address.city})
+ // res.json({city : data.address.city})
//get all corresponding collecitvities
//res.json({content : data});
- if(!data.address.city){
+ /* if(!data.address.city){
res.send({success: false, message:"no city"});
- }
+ }*/
Models.Collectivity.where('name', /*data.address.city*/"ville")
.fetch({
notulesList(res, collIds)
})
- });
+ //});
});
var notulesList = function(res,collIds){
- Models.Collectivity.where('id', 'in', collIds )
- .fetchAll({
- withRelated: ['collectivityNotule.notule'],
- })
- .then(function(collectivity){
- if(collectivity){
- var coll = collectivity.toJSON();
- res.json({info : collIds, success: true, message:coll});
- }else{
- res.json({success: true, message:"no.nodules"});
+
+ Models.Collectivity_Notule.where('collectivity_id', 'in', collIds).fetchAll({columns: ['notule_id']})
+ .then(function(model) {
+ if (model) {
+ var notules = model.toJSON();
+ console.log(notules);
+ //res.json({info: collIds, success: true, message: coll});
+ notulesWithCollectivityList(res, notules);
+ } else {
+ res.json({success: true, message: "no.nodules"});
}
+ })
+ .catch(function (err) {
+ console.error(err);
+ res.json({success: false, message: "database.error : " + err})
});
+
};
-/*
-Models.Collectivity.where('name', /*data.address.city*/ //"ville")
- /* .fetch({
- withRelated: [{
- 'collectivityMother.collectivityMother' : function(qb){
- qb.columns('id');
+var notulesWithCollectivityList = function(res,notulesIds){
+
+ var notuleIdsArray = []
+ for(var i = 0; i < notulesIds.length; i++){
+ notuleIdsArray.push(notulesIds[i].notule_id);
+ }
+
+ Models.Notule.where('id', 'in', notuleIdsArray).fetchAll({ withRelated: ['collectivityNotule.collectivity'],})
+ .then(function(model) {
+ if (model) {
+ var coll = model.toJSON();
+ console.log(coll);
+ res.json({info: "ok", success: true, message: coll});
+ } else {
+ res.json({success: true, message: "no.nodules"});
}
- }],
- columns: ['id']
- })
- .then(function(collectivity){
- var tosend = [/*data.address.city*//* "ville"]
- if(collectivity){
-
- res.json({success: true, message:collectivity.toJSON()})
- }
-
- })
-*/
+ })
+ .catch(function (err) {
+ console.error(err);
+ res.json({success: false, message: "database.error : " + err})
+ });
+}
+
+
+/*
+ Models.Collectivity.where('name', /*data.address.city*/ //"ville")
+/* .fetch({
+ withRelated: [{
+ 'collectivityMother.collectivityMother' : function(qb){
+ qb.columns('id');
+ }
+ }],
+ columns: ['id']
+ })
+ .then(function(collectivity){
+ var tosend = [/*data.address.city*//* "ville"]
+ if(collectivity){
+
+ res.json({success: true, message:collectivity.toJSON()})
+ }
+
+ })
+ */
var motherCollectivities = function(collectivityName, previousArray){
Models.Collectivity.where(name)
}