You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2023/05/24 07:18:49 UTC

[james-project] 05/06: JAMES-3909 Guice bindings for delete user data routes

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit eafbb9d00890dbe67ba77b1d89d75b1404223a7b
Author: Quan Tran <hq...@linagora.com>
AuthorDate: Fri May 19 16:31:33 2023 +0700

    JAMES-3909 Guice bindings for delete user data routes
---
 .../main/java/org/apache/james/CoreDataModule.java  |  2 ++
 .../james/modules/server/DataRoutesModules.java     | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/server/container/guice/common/src/main/java/org/apache/james/CoreDataModule.java b/server/container/guice/common/src/main/java/org/apache/james/CoreDataModule.java
index 7ee574f0b6..ae54975465 100644
--- a/server/container/guice/common/src/main/java/org/apache/james/CoreDataModule.java
+++ b/server/container/guice/common/src/main/java/org/apache/james/CoreDataModule.java
@@ -25,6 +25,7 @@ import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
 import org.apache.james.rrt.ForwardUsernameChangeTaskStep;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
+import org.apache.james.user.api.DeleteUserDataTaskStep;
 import org.apache.james.user.api.UsernameChangeTaskStep;
 
 import com.google.inject.AbstractModule;
@@ -39,6 +40,7 @@ public class CoreDataModule extends AbstractModule {
         Multibinder.newSetBinder(binder(), UserEntityValidator.class).addBinding().to(RecipientRewriteTableUserEntityValidator.class);
 
         Multibinder.newSetBinder(binder(), UsernameChangeTaskStep.class).addBinding().to(ForwardUsernameChangeTaskStep.class);
+        Multibinder.newSetBinder(binder(), DeleteUserDataTaskStep.class);
     }
 
     @Provides
diff --git a/server/container/guice/protocols/webadmin-data/src/main/java/org/apache/james/modules/server/DataRoutesModules.java b/server/container/guice/protocols/webadmin-data/src/main/java/org/apache/james/modules/server/DataRoutesModules.java
index fd64948fd5..5b3addf079 100644
--- a/server/container/guice/protocols/webadmin-data/src/main/java/org/apache/james/modules/server/DataRoutesModules.java
+++ b/server/container/guice/protocols/webadmin-data/src/main/java/org/apache/james/modules/server/DataRoutesModules.java
@@ -31,6 +31,7 @@ import org.apache.james.webadmin.dto.MappingSourceModule;
 import org.apache.james.webadmin.mdc.RequestLogger;
 import org.apache.james.webadmin.routes.AddressMappingRoutes;
 import org.apache.james.webadmin.routes.AliasRoutes;
+import org.apache.james.webadmin.routes.DeleteUserDataRoutes;
 import org.apache.james.webadmin.routes.DomainMappingsRoutes;
 import org.apache.james.webadmin.routes.DomainsRoutes;
 import org.apache.james.webadmin.routes.ForwardRoutes;
@@ -40,6 +41,9 @@ import org.apache.james.webadmin.routes.RegexMappingRoutes;
 import org.apache.james.webadmin.routes.UserCreationRequestLogger;
 import org.apache.james.webadmin.routes.UserRoutes;
 import org.apache.james.webadmin.routes.UsernameChangeRoutes;
+import org.apache.james.webadmin.service.DeleteUserDataService;
+import org.apache.james.webadmin.service.DeleteUserDataTaskAdditionalInformationDTO;
+import org.apache.james.webadmin.service.DeleteUserDataTaskDTO;
 import org.apache.james.webadmin.service.UsernameChangeService;
 import org.apache.james.webadmin.service.UsernameChangeTaskAdditionalInformationDTO;
 import org.apache.james.webadmin.service.UsernameChangeTaskDTO;
@@ -65,6 +69,7 @@ public class DataRoutesModules extends AbstractModule {
         routesMultibinder.addBinding().to(RegexMappingRoutes.class);
         routesMultibinder.addBinding().to(UserRoutes.class);
         routesMultibinder.addBinding().to(UsernameChangeRoutes.class);
+        routesMultibinder.addBinding().to(DeleteUserDataRoutes.class);
 
         Multibinder<JsonTransformerModule> jsonTransformerModuleMultibinder = Multibinder.newSetBinder(binder(), JsonTransformerModule.class);
         jsonTransformerModuleMultibinder.addBinding().to(MappingSourceModule.class);
@@ -87,4 +92,20 @@ public class DataRoutesModules extends AbstractModule {
     public AdditionalInformationDTOModule<? extends TaskExecutionDetails.AdditionalInformation, ? extends  AdditionalInformationDTO> webAdminUsernameChangeTaskAdditionalInformationDTO() {
         return UsernameChangeTaskAdditionalInformationDTO.module();
     }
+
+    @ProvidesIntoSet
+    public TaskDTOModule<? extends Task, ? extends TaskDTO> deleteUserDataTaskDTO(DeleteUserDataService service) {
+        return DeleteUserDataTaskDTO.module(service);
+    }
+
+    @ProvidesIntoSet
+    public AdditionalInformationDTOModule<? extends TaskExecutionDetails.AdditionalInformation, ? extends AdditionalInformationDTO> deleteUserDataTaskAdditionalInformationDTO() {
+        return DeleteUserDataTaskAdditionalInformationDTO.module();
+    }
+
+    @Named(DTOModuleInjections.WEBADMIN_DTO)
+    @ProvidesIntoSet
+    public AdditionalInformationDTOModule<? extends TaskExecutionDetails.AdditionalInformation, ? extends AdditionalInformationDTO> webAdminDeleteUserDataTaskAdditionalInformationDTO() {
+        return DeleteUserDataTaskAdditionalInformationDTO.module();
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org