From 5df63a5eadd286c13d3e18e5cf26bec36a815b7d Mon Sep 17 00:00:00 2001 From: rob Date: Fri, 17 Dec 2021 16:00:02 -0500 Subject: [PATCH] GeoIP location coordinates fix --- app/controllers/link.js | 10 +++++----- app/services/link.js | 8 ++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/controllers/link.js b/app/controllers/link.js index c363e6b..aead20d 100644 --- a/app/controllers/link.js +++ b/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) { diff --git a/app/services/link.js b/app/services/link.js index c6ce18a..8b39c33 100644 --- a/app/services/link.js +++ b/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();