View Javadoc
1   package fr.tiogars.inception.domains.domaintemplate.services;
2   
3   import java.util.List;
4   
5   import org.springframework.stereotype.Service;
6   import org.springframework.transaction.annotation.Transactional;
7   
8   import fr.tiogars.inception.common.models.DeleteSelectedResponse;
9   import fr.tiogars.inception.common.services.DeleteSelectedSupport;
10  
11  /**
12   * Soft-deletes a selection of DomainTemplates in a single transaction.
13   *
14   * @since 0.1.0
15   */
16  @Service
17  public class DomainTemplateDeleteSelectedService {
18  
19      private final DomainTemplateDeleteService deleteService;
20  
21      /**
22       * Creates the bulk deletion service.
23       *
24       * @param deleteService single DomainTemplate deletion service
25       */
26      public DomainTemplateDeleteSelectedService(DomainTemplateDeleteService deleteService) {
27          this.deleteService = deleteService;
28      }
29  
30      /**
31       * Soft-deletes the selected DomainTemplates.
32       *
33       * @param ids selected DomainTemplate identifiers
34       * @return deleted and skipped identifiers
35       */
36      @Transactional
37      public DeleteSelectedResponse deleteSelected(List<Long> ids) {
38          return DeleteSelectedSupport.deleteEach(ids, deleteService::delete);
39      }
40  }