|
20 | 20 | from renku_data_services.base_api.misc import validate_body_root_model, validate_query |
21 | 21 | from renku_data_services.base_api.pagination import PaginationRequest, paginate |
22 | 22 | from renku_data_services.base_models.core import Slug |
23 | | -from renku_data_services.base_models.metrics import MetricsService |
| 23 | +from renku_data_services.base_models.metrics import MetricsService, ProjectCreationType |
24 | 24 | from renku_data_services.base_models.validation import validate_and_dump, validated_json |
25 | 25 | from renku_data_services.data_connectors.db import DataConnectorRepository |
26 | 26 | from renku_data_services.errors import errors |
@@ -82,7 +82,7 @@ def post(self) -> BlueprintFactoryResponse: |
82 | 82 | async def _post(_: Request, user: base_models.APIUser, body: apispec.ProjectPost) -> JSONResponse: |
83 | 83 | new_project = validate_unsaved_project(body, created_by=user.id or "") |
84 | 84 | result = await self.project_repo.insert_project(user, new_project) |
85 | | - await self.metrics.project_created(user) |
| 85 | + await self.metrics.project_created(user, metadata={"project_creation_kind": ProjectCreationType.new.value}) |
86 | 86 | if len(result.repositories) > 0: |
87 | 87 | await self.metrics.code_repo_linked_to_project(user) |
88 | 88 | return validated_json(apispec.Project, self._dump_project(result), status=201) |
@@ -131,6 +131,9 @@ async def _post_migration( |
131 | 131 | result = await self.project_migration_repo.migrate_v1_project( |
132 | 132 | user, project=new_project, project_v1_id=v1_id, session_launcher=body.session_launcher |
133 | 133 | ) |
| 134 | + await self.metrics.project_created( |
| 135 | + user, metadata={"project_creation_kind": ProjectCreationType.migrated.value} |
| 136 | + ) |
134 | 137 | return validated_json(apispec.Project, self._dump_project(result), status=201) |
135 | 138 |
|
136 | 139 | return "/renku_v1_projects/<v1_id:int>/migrations", ["POST"], _post_migration |
@@ -181,6 +184,9 @@ async def _copy( |
181 | 184 | session_repo=self.session_repo, |
182 | 185 | data_connector_repo=self.data_connector_repo, |
183 | 186 | ) |
| 187 | + await self.metrics.project_created( |
| 188 | + user, metadata={"project_creation_kind": ProjectCreationType.copied.value} |
| 189 | + ) |
184 | 190 | return validated_json(apispec.Project, self._dump_project(project), status=201) |
185 | 191 |
|
186 | 192 | return "/projects/<project_id:ulid>/copies", ["POST"], _copy |
|
0 commit comments