Interface GroupWebfluxControllerApi

All Known Implementing Classes:
GroupWebfluxControllerMock

@Valid public interface GroupWebfluxControllerApi
The group controller interface.
Author:
Christian Bremer
  • 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 id
      group - 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