Skip to content

Commit

Permalink
Added webflux methods on the new TaskService.
Browse files Browse the repository at this point in the history
  • Loading branch information
vjroby committed Jan 4, 2019
1 parent 9ceec7f commit eab165c
Showing 1 changed file with 11 additions and 0 deletions.
Expand Up @@ -15,6 +15,7 @@
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.FluxSink;
import reactor.core.publisher.Mono;

import java.util.Collection;

Expand Down Expand Up @@ -51,11 +52,21 @@ public Collection<Task> tasks(String projectCode, Status... statuses) {
return repo.byProjectCodeAndStatus(projectCode, statuses);
}

@GraphQLQuery
public Flux<Task> tasksWebflux(String projectCode, Status... statuses) {
return Flux.fromIterable(repo.byProjectCodeAndStatus(projectCode, statuses));
}

@GraphQLQuery
public Task task(String code) {
return repo.byCode(code);
}

@GraphQLQuery
public Mono<Task> taskWebfux(String code) {
return Mono.just(repo.byCode(code));
}

@GraphQLSubscription
public Publisher<Task> taskStatusChanged(String code) {
return Flux.create(subscriber -> subscribers.add(code, subscriber.onDispose(() -> subscribers.remove(code, subscriber))), FluxSink.OverflowStrategy.LATEST);
Expand Down

0 comments on commit eab165c

Please sign in to comment.