Browse Source

GeoIP location coordinates fix

pull/1/head
Rob Colbert 3 years ago
parent
commit
5df63a5ead
  1. 10
      app/controllers/link.js
  2. 8
      app/services/link.js

10
app/controllers/link.js

@ -71,11 +71,11 @@ class LinkController extends SiteController {
/*
* Do these jobs in parallel so the total work gets done faster
*/
// const jobs = [
// linkService.recordVisit(res.locals.link, req),
// resourceService.recordView(req, 'Link', res.locals.link._id),
// ];
// await Promise.all(jobs); // we don't care about any specific results
const jobs = [
linkService.recordVisit(res.locals.link, req),
resourceService.recordView(req, 'Link', res.locals.link._id),
];
await Promise.all(jobs); // we don't care about any specific results
res.redirect(res.locals.link.href); // off you go!
} catch (error) {

8
app/services/link.js

@ -16,7 +16,6 @@ const geoip = require('geoip-lite');
const striptags = require('striptags');
const { SiteService } = require('../../lib/site-lib');
const link = require('../models/link');
class LinkService extends SiteService {
@ -117,8 +116,13 @@ class LinkService extends SiteService {
eu: geo.eu,
timezone: geo.timezone,
city: geo.city,
location: geo.ll,
};
if (Array.isArray(geo.ll) && (geo.ll.length === 2)) {
visit.geoip.location = {
type: 'Point',
coordinates: geo.ll,
};
}
}
await visit.save();

Loading…
Cancel
Save