1
0
Fork 0
mirror of https://github.com/overleaf/overleaf.git synced 2025-04-14 14:13:28 +00:00

Merge pull request from overleaf/tm-gallery-analytics-duplicated-template

Add analytics data for duplicated projects (include from template data)

GitOrigin-RevId: 8072b4e3ccca634557a67d9f2cca4d87f63f786b
This commit is contained in:
Thomas 2021-10-28 15:01:00 +02:00 committed by Copybot
parent 560e07fa8e
commit 164ea5735f
2 changed files with 13 additions and 1 deletions
services/web/app/src/Features/Project

View file

@ -38,6 +38,7 @@ async function createBlankProject(ownerId, projectName, attributes = {}) {
'fromV1TemplateId',
'fromV1TemplateVersionId',
])
Object.assign(segmentation, attributes.segmentation)
segmentation.projectId = project._id
if (isImport) {
AnalyticsManager.recordEventForUser(

View file

@ -16,6 +16,7 @@ const ProjectLocator = require('./ProjectLocator')
const ProjectOptionsHandler = require('./ProjectOptionsHandler')
const SafePath = require('./SafePath')
const TpdsProjectFlusher = require('../ThirdPartyDataStore/TpdsProjectFlusher')
const _ = require('lodash')
module.exports = {
duplicate: callbackify(duplicate),
@ -32,6 +33,8 @@ async function duplicate(owner, originalProjectId, newProjectName) {
compiler: true,
rootFolder: true,
rootDoc_id: true,
fromV1TemplateId: true,
fromV1TemplateVersionId: true,
}
)
const { path: rootDocPath } = await ProjectLocator.promises.findRootDoc({
@ -40,10 +43,18 @@ async function duplicate(owner, originalProjectId, newProjectName) {
const originalEntries = _getFolderEntries(originalProject.rootFolder[0])
// Pass template ID as analytics segmentation if duplicating project from a template
const segmentation = _.pick(originalProject, [
'fromV1TemplateId',
'fromV1TemplateVersionId',
])
segmentation.duplicatedFromProject = originalProjectId
// Now create the new project, cleaning it up on failure if necessary
const newProject = await ProjectCreationHandler.promises.createBlankProject(
owner._id,
newProjectName
newProjectName,
{ segmentation }
)
try {