Package org.bremersee.groupman.api
Interface GroupWebfluxControllerApi
- All Known Implementing Classes:
GroupWebfluxControllerMock
@Valid
public interface GroupWebfluxControllerApi
The group controller interface.
- Author:
- Christian Bremer
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Group>
createGroup
(@Valid Group group) Create group.reactor.core.publisher.Mono<Void>
deleteGroup
(String id) Delete group.reactor.core.publisher.Flux<Group>
Gets editable groups.reactor.core.publisher.Mono<Group>
getGroupById
(String id) Gets group by id.reactor.core.publisher.Flux<Group>
getGroupsByIds
(List<String> id) Gets groups by ids.reactor.core.publisher.Flux<Group>
Gets membership.Gets membership ids.reactor.core.publisher.Mono<Status>
Get status of the current user.reactor.core.publisher.Flux<Group>
Gets usable groups.reactor.core.publisher.Mono<Group>
updateGroup
(String id, @Valid Group group) Update group.
-
Method Details
-
createGroup
@RequestMapping(value="/api/groups", produces="application/json", consumes="application/json", method=POST) reactor.core.publisher.Mono<Group> createGroup(@Valid @RequestBody @Valid Group group) Create group.- Parameters:
group
- the group- Returns:
- the group
-
getGroupById
@RequestMapping(value="/api/groups/{id}", produces="application/json", method=GET) reactor.core.publisher.Mono<Group> getGroupById(@PathVariable("id") String id) Gets group by id.- Parameters:
id
- the group id- Returns:
- the group by id
-
updateGroup
@RequestMapping(value="/api/groups/{id}", produces="application/json", consumes="application/json", method=PUT) reactor.core.publisher.Mono<Group> updateGroup(@PathVariable("id") String id, @Valid @RequestBody @Valid Group group) Update group.- Parameters:
id
- the group idgroup
- the group- Returns:
- the group
-
deleteGroup
@RequestMapping(value="/api/groups/{id}", method=DELETE) reactor.core.publisher.Mono<Void> deleteGroup(@PathVariable("id") String id) Delete group.- Parameters:
id
- the group id- Returns:
- the mono
-
getGroupsByIds
@RequestMapping(value="/api/groups/f", produces="application/json", method=GET) reactor.core.publisher.Flux<Group> getGroupsByIds(@RequestParam(value="id",required=false) List<String> id) Gets groups by ids.- Parameters:
id
- the list of ids- Returns:
- the groups by ids
-
getEditableGroups
@RequestMapping(value="/api/groups/f/editable", produces="application/json", method=GET) reactor.core.publisher.Flux<Group> getEditableGroups()Gets editable groups.- Returns:
- the editable groups
-
getUsableGroups
@RequestMapping(value="/api/groups/f/usable", produces="application/json", method=GET) reactor.core.publisher.Flux<Group> getUsableGroups()Gets usable groups.- Returns:
- the usable groups
-
getMembership
@RequestMapping(value="/api/groups/f/membership", produces="application/json", method=GET) reactor.core.publisher.Flux<Group> getMembership()Gets membership.- Returns:
- the membership
-
getMembershipIds
@RequestMapping(value="/api/groups/f/membership-ids", produces="application/json", method=GET) reactor.core.publisher.Mono<Set<String>> getMembershipIds()Gets membership ids.- Returns:
- the membership ids
-
getStatus
@RequestMapping(value="/api/groups/f/status", produces="application/json", method=GET) reactor.core.publisher.Mono<Status> getStatus()Get status of the current user.- Returns:
- the status
-