|
|
@@ -4,6 +4,18 @@ import SessionManager from '../Authentication/SessionManager.js'
|
|
|
import GeoIpLookup from '../../infrastructure/GeoIpLookup.js'
|
|
|
import Features from '../../infrastructure/Features.js'
|
|
|
import { expressify } from '@overleaf/promise-utils'
|
|
|
+import { generateV1Mapping } from './AccountMappingHelper.mjs'
|
|
|
+
|
|
|
+async function registerSalesforceMapping(req, res, next) {
|
|
|
+ if (!Features.hasFeature('analytics')) {
|
|
|
+ return res.sendStatus(202)
|
|
|
+ }
|
|
|
+ const { createdAt, salesforceId, v1Id } = req.body
|
|
|
+ AnalyticsManager.registerAccountMapping(
|
|
|
+ generateV1Mapping(v1Id, salesforceId, createdAt)
|
|
|
+ )
|
|
|
+ res.sendStatus(202)
|
|
|
+}
|
|
|
|
|
|
async function updateEditingSession(req, res, next) {
|
|
|
if (!Features.hasFeature('analytics')) {
|
|
|
@@ -47,6 +59,7 @@ function recordEvent(req, res, next) {
|
|
|
}
|
|
|
|
|
|
export default {
|
|
|
+ registerSalesforceMapping: expressify(registerSalesforceMapping),
|
|
|
updateEditingSession: expressify(updateEditingSession),
|
|
|
recordEvent,
|
|
|
}
|