mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-14 14:13:28 +00:00
Merge pull request #5466 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:
parent
560e07fa8e
commit
164ea5735f
2 changed files with 13 additions and 1 deletions
services/web/app/src/Features/Project
|
@ -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(
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue