Improvements in fireMaps. User subs area
This commit is contained in:
parent
f9d60a1685
commit
aced217a7d
4 changed files with 128 additions and 0 deletions
51
imports/api/FireAlerts/FireAlerts.js
Normal file
51
imports/api/FireAlerts/FireAlerts.js
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* eslint-disable consistent-return */
|
||||
|
||||
import { Mongo } from 'meteor/mongo';
|
||||
import SimpleSchema from 'simpl-schema';
|
||||
|
||||
const FireAlerts = new Mongo.Collection('avisosfuego');
|
||||
|
||||
FireAlerts.allow({
|
||||
insert: () => false,
|
||||
update: () => false,
|
||||
remove: () => false,
|
||||
});
|
||||
|
||||
FireAlerts.deny({
|
||||
insert: () => true,
|
||||
update: () => true,
|
||||
remove: () => true,
|
||||
});
|
||||
|
||||
/* Sample:
|
||||
* "_id" : ObjectId("5a059c4879095a1adba47507"),
|
||||
* "chatId" : null,
|
||||
* "location" : {
|
||||
* "lat" : 40.2324096,
|
||||
* "lon" : -3.3514863,
|
||||
* "text" : null
|
||||
* },
|
||||
* "aviso" : ISODate("2017-11-10T12:32:08.973Z"),
|
||||
* "dateformat" : "20171110",
|
||||
* "geo" : {
|
||||
* "type" : "Point",
|
||||
* "coordinates" : [
|
||||
* -3.3514863,
|
||||
* 40.2324096
|
||||
* ]
|
||||
* }
|
||||
* }
|
||||
* */
|
||||
|
||||
|
||||
FireAlerts.schema = new SimpleSchema({
|
||||
location: Object,
|
||||
'location.lat': SimpleSchema.Integer,
|
||||
'location.lon': SimpleSchema.Integer,
|
||||
aviso: Date,
|
||||
}
|
||||
);
|
||||
|
||||
FireAlerts.attachSchema(FireAlerts.schema);
|
||||
|
||||
export default FireAlerts;
|
||||
6
imports/api/FireAlerts/server/publications.js
Normal file
6
imports/api/FireAlerts/server/publications.js
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import { Meteor } from 'meteor/meteor';
|
||||
import FireAlerts from '../FireAlerts';
|
||||
|
||||
Meteor.publish('fireAlerts', function fireAlerts() {
|
||||
return FireAlerts.find();
|
||||
});
|
||||
50
imports/api/Subscriptions/Subscriptions.js
Normal file
50
imports/api/Subscriptions/Subscriptions.js
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
/* eslint-disable consistent-return */
|
||||
|
||||
import { Mongo } from 'meteor/mongo';
|
||||
import SimpleSchema from 'simpl-schema';
|
||||
|
||||
const Subscriptions = new Mongo.Collection('subscriptions');
|
||||
|
||||
Subscriptions.allow({
|
||||
insert: () => false,
|
||||
update: () => false,
|
||||
remove: () => false,
|
||||
});
|
||||
|
||||
Subscriptions.deny({
|
||||
insert: () => true,
|
||||
update: () => true,
|
||||
remove: () => true,
|
||||
});
|
||||
|
||||
|
||||
/* Sample:
|
||||
* {
|
||||
* "_id" : ObjectId("5a0bfb5a79095a1adba47513"),
|
||||
* "chatId" : -253600015,
|
||||
* "location" : {
|
||||
* "lat" : 40.234503,
|
||||
* "lon" : -3.350386
|
||||
* },
|
||||
* "geo" : {
|
||||
* "type" : "Point",
|
||||
* "coordinates" : [
|
||||
* -3.350386,
|
||||
* 40.234503
|
||||
* ]
|
||||
* },
|
||||
* "distance" : 40
|
||||
* }
|
||||
* */
|
||||
|
||||
Subscriptions.schema = new SimpleSchema({
|
||||
location: Object,
|
||||
'location.lat': SimpleSchema.Integer,
|
||||
'location.lon': SimpleSchema.Integer,
|
||||
distance: Number,
|
||||
}
|
||||
);
|
||||
|
||||
Subscriptions.attachSchema(Subscriptions.schema);
|
||||
|
||||
export default Subscriptions;
|
||||
21
imports/api/Subscriptions/server/publications.js
Normal file
21
imports/api/Subscriptions/server/publications.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { Meteor } from 'meteor/meteor';
|
||||
import Subscriptions from '../Subscriptions';
|
||||
|
||||
Meteor.publishTransformed('userSubsToFires', function() {
|
||||
|
||||
// https://en.wikipedia.org/wiki/Location_obfuscation
|
||||
// https://en.wikipedia.org/wiki/Decimal_degrees#Precision
|
||||
return Subscriptions.find().serverTransform(function(doc) {
|
||||
var location = doc.location;
|
||||
/* doc.lat = location.lat;
|
||||
* doc.lon = location.lon;*/
|
||||
if (location) {
|
||||
doc.lat = Math.round(location.lat * 10) / 10;
|
||||
doc.lon = Math.round(location.lon * 10) / 10;
|
||||
}
|
||||
delete doc.chatId;
|
||||
delete doc.geo;
|
||||
delete doc.location;
|
||||
return doc;
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue