org.bonitasoft.web.client.api.GroupApi Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bonita-java-client Show documentation
Show all versions of bonita-java-client Show documentation
Java client for Bonita REST API
The newest version!
/**
* Copyright (C) 2024 BonitaSoft S.A.
* BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2.0 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package org.bonitasoft.web.client.api;
import java.util.HashMap;
import java.util.List;
import org.bonitasoft.web.client.invoker.ApiClient;
import org.bonitasoft.web.client.invoker.EncodingUtils;
import org.bonitasoft.web.client.model.ApiResponse;
import org.bonitasoft.web.client.model.Group;
import org.bonitasoft.web.client.model.GroupCreateRequest;
import org.bonitasoft.web.client.model.GroupUpdateRequest;
import feign.*;
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.8.0")
public interface GroupApi extends ApiClient.Api {
/**
* Create the Group
* Create the Group
*
* @param body Partial Group description (required)
* @return Group
*/
@RequestLine("POST /API/identity/group")
@Headers({
"Content-Type: application/json",
"Accept: application/json",
})
Group createGroup(GroupCreateRequest body);
/**
* Create the Group
* Similar to createGroup
but it also returns the http response headers .
* Create the Group
*
* @param body Partial Group description (required)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("POST /API/identity/group")
@Headers({
"Content-Type: application/json",
"Accept: application/json",
})
ApiResponse createGroupWithHttpInfo(GroupCreateRequest body);
/**
* Delete the Group by ID
* Delete the single Group for the given ID
*
* @param id ID of the Group to delete (required)
*/
@RequestLine("DELETE /API/identity/group/{id}")
@Headers({
"Accept: application/json",
})
void deleteGroupById(@Param("id") String id);
/**
* Delete the Group by ID
* Similar to deleteGroupById
but it also returns the http response headers .
* Delete the single Group for the given ID
*
* @param id ID of the Group to delete (required)
*/
@RequestLine("DELETE /API/identity/group/{id}")
@Headers({
"Accept: application/json",
})
ApiResponse deleteGroupByIdWithHttpInfo(@Param("id") String id);
/**
* Finds the Group by ID
* Returns the single Group for the given ID
*
* @param id ID of the Group to return (required)
* @return Group
*/
@RequestLine("GET /API/identity/group/{id}")
@Headers({
"Accept: application/json",
})
Group getGroupById(@Param("id") String id);
/**
* Finds the Group by ID
* Similar to getGroupById
but it also returns the http response headers .
* Returns the single Group for the given ID
*
* @param id ID of the Group to return (required)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /API/identity/group/{id}")
@Headers({
"Accept: application/json",
})
ApiResponse getGroupByIdWithHttpInfo(@Param("id") String id);
/**
* Finds Groups
* Finds Groups with pagination params and filters. - can order on `id`,`name`,`displayName` - can filter on
* `name`,`displayName`,`parent_path`
*
* @param p index of the page to display (required)
* @param c maximum number of elements to retrieve (required)
* @param f can filter on attributes with the format f={filter\\_name}={filter\\_value} with the name/value pair as url encoded string. (optional)
* @param o can order on attributes (optional)
* @return List<Group>
*/
@RequestLine("GET /API/identity/group?p={p}&c={c}&f={f}&o={o}")
@Headers({
"Accept: application/json",
})
List searchGroups(@Param("p") Integer p, @Param("c") Integer c, @Param("f") List f,
@Param("o") String o);
/**
* Finds Groups
* Similar to searchGroups
but it also returns the http response headers .
* Finds Groups with pagination params and filters. - can order on `id`,`name`,`displayName` - can filter on
* `name`,`displayName`,`parent_path`
*
* @param p index of the page to display (required)
* @param c maximum number of elements to retrieve (required)
* @param f can filter on attributes with the format f={filter\\_name}={filter\\_value} with the name/value pair as url encoded string. (optional)
* @param o can order on attributes (optional)
* @return A ApiResponse that wraps the response boyd and the http headers.
*/
@RequestLine("GET /API/identity/group?p={p}&c={c}&f={f}&o={o}")
@Headers({
"Accept: application/json",
})
ApiResponse> searchGroupsWithHttpInfo(@Param("p") Integer p, @Param("c") Integer c,
@Param("f") List f, @Param("o") String o);
/**
* Finds Groups
* Finds Groups with pagination params and filters. - can order on `id`,`name`,`displayName` - can filter on
* `name`,`displayName`,`parent_path`
* Note, this is equivalent to the other searchGroups
method,
* but with the query parameters collected into a single Map parameter. This
* is convenient for services with optional query parameters, especially when
* used with the {@link SearchGroupsQueryParams} class that allows for
* building up this map in a fluent style.
*
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - p - index of the page to display (required)
* - c - maximum number of elements to retrieve (required)
* - f - can filter on attributes with the format f={filter\\_name}={filter\\_value} with the name/value pair as url encoded string.
* (optional)
* - o - can order on attributes (optional)
*
* @return List<Group>
*/
@RequestLine("GET /API/identity/group?p={p}&c={c}&f={f}&o={o}")
@Headers({
"Accept: application/json",
})
List searchGroups(@QueryMap(encoded = true) SearchGroupsQueryParams queryParams);
/**
* Finds Groups
* Finds Groups with pagination params and filters. - can order on `id`,`name`,`displayName` - can filter on
* `name`,`displayName`,`parent_path`
* Note, this is equivalent to the other searchGroups
that receives the query parameters as a map,
* but this one also exposes the Http response headers
*
* @param queryParams Map of query parameters as name-value pairs
* The following elements may be specified in the query map:
*
* - p - index of the page to display (required)
* - c - maximum number of elements to retrieve (required)
* - f - can filter on attributes with the format f={filter\\_name}={filter\\_value} with the name/value pair as url encoded string.
* (optional)
* - o - can order on attributes (optional)
*
* @return List<Group>
*/
@RequestLine("GET /API/identity/group?p={p}&c={c}&f={f}&o={o}")
@Headers({
"Accept: application/json",
})
ApiResponse> searchGroupsWithHttpInfo(@QueryMap(encoded = true) SearchGroupsQueryParams queryParams);
/**
* A convenience class for generating query parameters for the
* searchGroups
method in a fluent style.
*/
public static class SearchGroupsQueryParams extends HashMap {
public SearchGroupsQueryParams p(final Integer value) {
put("p", EncodingUtils.encode(value));
return this;
}
public SearchGroupsQueryParams c(final Integer value) {
put("c", EncodingUtils.encode(value));
return this;
}
public SearchGroupsQueryParams f(final List value) {
put("f", EncodingUtils.encodeCollection(value, "multi"));
return this;
}
public SearchGroupsQueryParams o(final String value) {
put("o", EncodingUtils.encode(value));
return this;
}
}
/**
* Update the Group by ID
* Update the Group for the given ID
*
* @param id ID of the Group to return (required)
* @param groupUpdateRequest Partial Group description (required)
*/
@RequestLine("PUT /API/identity/group/{id}")
@Headers({
"Content-Type: application/json",
"Accept: application/json",
})
void updateGroupById(@Param("id") String id, GroupUpdateRequest groupUpdateRequest);
/**
* Update the Group by ID
* Similar to updateGroupById
but it also returns the http response headers .
* Update the Group for the given ID
*
* @param id ID of the Group to return (required)
* @param groupUpdateRequest Partial Group description (required)
*/
@RequestLine("PUT /API/identity/group/{id}")
@Headers({
"Content-Type: application/json",
"Accept: application/json",
})
ApiResponse updateGroupByIdWithHttpInfo(@Param("id") String id, GroupUpdateRequest groupUpdateRequest);
}