Package org.bremersee.dccon.api
Interface DomainGroupWebfluxManagementApi
-
@Validated public interface DomainGroupWebfluxManagementApi
The domain group management api.- Author:
- Christian Bremer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description reactor.core.publisher.Mono<DomainGroup>
addGroup(@Valid DomainGroup group)
Add domain group.reactor.core.publisher.Mono<Boolean>
deleteGroup(String groupName)
Delete domain group.reactor.core.publisher.Mono<DomainGroup>
getGroup(String groupName)
Get domain group by name.reactor.core.publisher.Flux<DomainGroup>
getGroups(String sort, String query)
Get domain groups.reactor.core.publisher.Mono<Boolean>
groupExists(String groupName)
Domain group exists.reactor.core.publisher.Mono<Boolean>
isGroupNameInUse(String groupName)
Checks whether a group is in use or not.reactor.core.publisher.Mono<DomainGroup>
updateGroup(String groupName, @Valid DomainGroup domainGroup)
Update domain group.
-
-
-
Method Detail
-
getGroups
@RequestMapping(value="/api/groups", produces="application/json", method=GET) reactor.core.publisher.Flux<DomainGroup> getGroups(@RequestParam(value="sort",defaultValue="name") String sort, @RequestParam(name="q",required=false) String query)
Get domain groups.- Parameters:
sort
- the sort orderquery
- the query- Returns:
- the groups
-
addGroup
@RequestMapping(value="/api/groups", produces="application/json", consumes="application/json", method=POST) reactor.core.publisher.Mono<DomainGroup> addGroup(@Valid @RequestBody @Valid DomainGroup group)
Add domain group.- Parameters:
group
- the domain group to add- Returns:
- the added domain group
-
getGroup
@RequestMapping(value="/api/groups/{groupName}", produces="application/json", method=GET) reactor.core.publisher.Mono<DomainGroup> getGroup(@PathVariable("groupName") String groupName)
Get domain group by name.- Parameters:
groupName
- the group name- Returns:
- the domain group
-
updateGroup
@RequestMapping(value="/api/groups/{groupName}", produces="application/json", consumes="application/json", method=PUT) reactor.core.publisher.Mono<DomainGroup> updateGroup(@PathVariable("groupName") String groupName, @Valid @RequestBody @Valid DomainGroup domainGroup)
Update domain group.- Parameters:
groupName
- the group namedomainGroup
- the domain group- Returns:
- the updated domain group
-
groupExists
@RequestMapping(value="/api/groups/{groupName}/exists", produces="application/json", method=GET) reactor.core.publisher.Mono<Boolean> groupExists(@PathVariable("groupName") String groupName)
Domain group exists.- Parameters:
groupName
- the group name- Returns:
- true if the group exists otherwise false
-
isGroupNameInUse
@RequestMapping(value="/api/groups/{groupName}/in-use", produces="application/json", method=GET) reactor.core.publisher.Mono<Boolean> isGroupNameInUse(@PathVariable("groupName") String groupName)
Checks whether a group is in use or not.- Parameters:
groupName
- the group name- Returns:
- true if the group name is in use otherwise false
-
deleteGroup
@RequestMapping(value="/api/groups/{groupName}", produces="application/json", method=DELETE) reactor.core.publisher.Mono<Boolean> deleteGroup(@PathVariable("groupName") String groupName)
Delete domain group.- Parameters:
groupName
- the group name- Returns:
true
if the domain group was deleted, otherwisefalse
-
-