Skip to content

Instantly share code, notes, and snippets.

@jelilio
Last active November 12, 2024 12:08

Revisions

  1. jelilio revised this gist Nov 12, 2024. 1 changed file with 31 additions and 1 deletion.
    32 changes: 31 additions & 1 deletion SoftDeleteRepository.java
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,33 @@
    public interface SoftDeleteRepository<T, ID> extends Repository<T, ID> {
    public interface SoftDeleteRepository<T, ID> {
    @NonNull
    Mono<Long> count(Class<T> entityClass);

    @NonNull
    Mono<Boolean> existsById(@NonNull ID id, Class<T> entityClass);

    @NonNull
    Mono<T> findById(@NonNull ID id, Class<T> entityClass);

    @NonNull
    Flux<T> findAll(Class<T> entityClass);

    @NonNull
    Flux<T> findAllById(@NonNull Iterable<ID> iterable, Class<T> entityClass);

    @NonNull
    Flux<T> findAllById(@NonNull Publisher<ID> idPublisher, Class<T> entityClass);

    @NonNull
    Flux<T> findAll(@NonNull Sort sort, Class<T> entityClass);

    @NonNull
    @Transactional
    Mono<Void> softDeleteAll(Class<T> entityClass);

    @NonNull
    Mono<Void> softDeleteAllById(@NonNull Iterable<? extends ID> ids, Class<T> entityClass);

    @NonNull
    @Transactional
    Mono<Void> softDeleteById(@NonNull ID id, Class<T> entityClass);
    }
  2. jelilio created this gist Nov 10, 2024.
    3 changes: 3 additions & 0 deletions SoftDeleteRepository.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    public interface SoftDeleteRepository<T, ID> extends Repository<T, ID> {

    }