|
1 | | -use crate::application::dtos::folder_dto::CreateFolderDto; |
2 | 1 | use crate::application::dtos::user_dto::{ |
3 | 2 | AuthResponseDto, ChangePasswordDto, LoginDto, RefreshTokenDto, RegisterDto, UserDto, |
4 | 3 | }; |
@@ -318,43 +317,7 @@ impl AuthApplicationService { |
318 | 317 | let created_user = self.user_storage.create_user(user).await?; |
319 | 318 |
|
320 | 319 | // Create personal folder for the user |
321 | | - if let Some(folder_service) = &self.folder_service { |
322 | | - let folder_name = format!("My Folder - {}", dto.username); |
323 | | - |
324 | | - match folder_service |
325 | | - .create_folder(CreateFolderDto { |
326 | | - name: folder_name, |
327 | | - parent_id: None, |
328 | | - }) |
329 | | - .await |
330 | | - { |
331 | | - Ok(folder) => { |
332 | | - tracing::info!( |
333 | | - "Personal folder created for user {}: {} (ID: {})", |
334 | | - created_user.id(), |
335 | | - folder.name, |
336 | | - folder.id |
337 | | - ); |
338 | | - |
339 | | - // Here we could save the folder-to-user association, |
340 | | - // for example, in a folder-user relationship table |
341 | | - } |
342 | | - Err(e) => { |
343 | | - // We don't fail registration due to a folder creation error, |
344 | | - // but we log it for investigation |
345 | | - tracing::error!( |
346 | | - "Could not create personal folder for user {}: {}", |
347 | | - created_user.id(), |
348 | | - e |
349 | | - ); |
350 | | - } |
351 | | - } |
352 | | - } else { |
353 | | - tracing::warn!( |
354 | | - "Folder service not configured, cannot create personal folder for user: {}", |
355 | | - created_user.id() |
356 | | - ); |
357 | | - } |
| 320 | + self.create_personal_folder(&dto.username, created_user.id()).await; |
358 | 321 |
|
359 | 322 | tracing::info!("User registered: {}", created_user.id()); |
360 | 323 | Ok(UserDto::from(created_user)) |
@@ -695,34 +658,8 @@ impl AuthApplicationService { |
695 | 658 | // 4. Save the new admin user |
696 | 659 | let created_user = self.user_storage.create_user(user).await?; |
697 | 660 |
|
698 | | - // 5. Create personal folder for the new admin if folder service is available |
699 | | - if let Some(folder_service) = &self.folder_service { |
700 | | - let folder_name = format!("My Folder - {}", dto.username); |
701 | | - |
702 | | - match folder_service |
703 | | - .create_folder(CreateFolderDto { |
704 | | - name: folder_name, |
705 | | - parent_id: None, |
706 | | - }) |
707 | | - .await |
708 | | - { |
709 | | - Ok(folder) => { |
710 | | - tracing::info!( |
711 | | - "Personal folder created for admin {}: {} (ID: {})", |
712 | | - created_user.id(), |
713 | | - folder.name, |
714 | | - folder.id |
715 | | - ); |
716 | | - } |
717 | | - Err(e) => { |
718 | | - tracing::error!( |
719 | | - "Could not create personal folder for admin {}: {}", |
720 | | - created_user.id(), |
721 | | - e |
722 | | - ); |
723 | | - } |
724 | | - } |
725 | | - } |
| 661 | + // 5. Create personal folder for the new admin |
| 662 | + self.create_personal_folder(&dto.username, created_user.id()).await; |
726 | 663 |
|
727 | 664 | tracing::info!("Custom admin created: {}", created_user.id()); |
728 | 665 | Ok(UserDto::from(created_user)) |
@@ -828,32 +765,7 @@ impl AuthApplicationService { |
828 | 765 | } |
829 | 766 |
|
830 | 767 | // Create personal folder |
831 | | - if let Some(folder_service) = &self.folder_service { |
832 | | - let folder_name = format!("My Folder - {}", dto.username); |
833 | | - match folder_service |
834 | | - .create_folder(CreateFolderDto { |
835 | | - name: folder_name, |
836 | | - parent_id: None, |
837 | | - }) |
838 | | - .await |
839 | | - { |
840 | | - Ok(folder) => { |
841 | | - tracing::info!( |
842 | | - "Personal folder created for admin-created user {}: {} (ID: {})", |
843 | | - created.id(), |
844 | | - folder.name, |
845 | | - folder.id |
846 | | - ); |
847 | | - } |
848 | | - Err(e) => { |
849 | | - tracing::error!( |
850 | | - "Could not create personal folder for user {}: {}", |
851 | | - created.id(), |
852 | | - e |
853 | | - ); |
854 | | - } |
855 | | - } |
856 | | - } |
| 768 | + self.create_personal_folder(&dto.username, created.id()).await; |
857 | 769 |
|
858 | 770 | tracing::info!("Admin created user: {} ({})", dto.username, created.id()); |
859 | 771 | Ok(UserDto::from(created)) |
@@ -1290,10 +1202,7 @@ impl AuthApplicationService { |
1290 | 1202 | if let Some(folder_service) = &self.folder_service { |
1291 | 1203 | let folder_name = format!("My Folder - {}", username); |
1292 | 1204 | match folder_service |
1293 | | - .create_folder(CreateFolderDto { |
1294 | | - name: folder_name.clone(), |
1295 | | - parent_id: None, |
1296 | | - }) |
| 1205 | + .create_home_folder(user_id, folder_name.clone()) |
1297 | 1206 | .await |
1298 | 1207 | { |
1299 | 1208 | Ok(folder) => { |
|
0 commit comments