java-apibuilder-generators-.../examples/de/nclazz/users/v0/client/RolesResource.java

375 lines
14 KiB
Java

/**
* Auto-generated from apibuilder.io service spec.
* apidoc-version : 0.15.4
* organisation : nclazz
* service-version : 0.0.0-dev-30-gbd50cdf-bd9390b2-staging
*
* Documentation at:
* <a href="https://app.apibuilder.io/nclazz/users/0.0.0-dev-30-gbd50cdf-bd9390b2-staging">https://app.apibuilder.io/nclazz/users/0.0.0-dev-30-gbd50cdf-bd9390b2-staging</a>
*
**/
package de.nclazz.users.v0.client;
import de.nclazz.users.v0.client.UsersApiClientConfig;
import de.nclazz.users.v0.models.*;
import java.util.UUID;
import de.nclazz.users.v0.models.RoleForm;
import de.nclazz.users.v0.models.UserStatusForm;
import de.nclazz.users.v0.models.Role;
import java.util.List;
import de.nclazz.users.v0.models.User;
import de.nclazz.errors.v0.models.GenericError;
import de.nclazz.users.v0.models.UserStatus;
import lombok.*;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.*;
import java.net.URI;
/**
* Client for API resource de.nclazz.users.v0.RolesResource
* version 0.0.0-dev-30-gbd50cdf-bd9390b2-staging
*
* Managing user roles.
**/
@RequiredArgsConstructor
public class RolesResource {
private final UsersApiClientConfig config;
/** Get all defined user roles. **/
public Get get () {
return new Get(this.config);
}
/** Get a user role for id. **/
public GetByIdAndOther getByIdAndOther () {
return new GetByIdAndOther(this.config);
}
/** Create a new user role. **/
public PostRoleForm postRoleForm () {
return new PostRoleForm(this.config);
}
/** Update the status of a user role. **/
public PutUserStatusFormById putUserStatusFormById () {
return new PutUserStatusFormById(this.config);
}
/** Mark a user role as deleted. The user role cannot be accessed by the api, but will stay in the db for a while, before completely removed. **/
public DeleteById deleteById () {
return new DeleteById(this.config);
}
/**
* Get all defined user roles.
**/
public static class Get {
private final UsersApiClientConfig config;
public Get(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public GetResponse request() {
// /roles/
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("roles")
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("GET");
int status = response.getStatus();
switch(status) {
case 200:
List<Role> role200Resp = response.readEntity(new GenericType<List<Role>>() {});
return GetResponse.builder()
.status(status)
.headers(response.getHeaders())
.role200(role200Resp)
.build();
case 401:
return GetResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return GetResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class GetResponse {
private List<Role> role200;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Get a user role for id.
**/
public static class GetByIdAndOther {
private final UsersApiClientConfig config;
public GetByIdAndOther(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public GetByIdAndOtherResponse request(@NonNull UUID id, @NonNull String other) {
// /roles/:id/:other
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("roles")
.path(id.toString())
.path(other.toString())
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("GET");
int status = response.getStatus();
switch(status) {
case 200:
Role role200Resp = response.readEntity(Role.class);
return GetByIdAndOtherResponse.builder()
.status(status)
.headers(response.getHeaders())
.role200(role200Resp)
.build();
case 401:
return GetByIdAndOtherResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
case 404:
return GetByIdAndOtherResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return GetByIdAndOtherResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class GetByIdAndOtherResponse {
private Role role200;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Create a new user role.
**/
public static class PostRoleForm {
private final UsersApiClientConfig config;
public PostRoleForm(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public PostRoleFormResponse request(@NonNull RoleForm roleForm) {
// /roles/
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("roles")
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("POST", Entity.json(roleForm));
int status = response.getStatus();
switch(status) {
case 201:
User user201Resp = response.readEntity(User.class);
return PostRoleFormResponse.builder()
.status(status)
.headers(response.getHeaders())
.user201(user201Resp)
.build();
case 400:
List<GenericError> genericError400Resp = response.readEntity(new GenericType<List<GenericError>>() {});
return PostRoleFormResponse.builder()
.status(status)
.headers(response.getHeaders())
.genericError400(genericError400Resp)
.build();
case 401:
return PostRoleFormResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return PostRoleFormResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class PostRoleFormResponse {
private User user201;
private List<GenericError> genericError400;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Update the status of a user role.
**/
public static class PutUserStatusFormById {
private final UsersApiClientConfig config;
public PutUserStatusFormById(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public PutUserStatusFormByIdResponse request(@NonNull UUID id, @NonNull UserStatusForm userStatusForm) {
// /roles/:id/status
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("roles")
.path(id.toString())
.path("status")
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("PUT", Entity.json(userStatusForm));
int status = response.getStatus();
switch(status) {
case 200:
UserStatus userStatus200Resp = response.readEntity(UserStatus.class);
return PutUserStatusFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.userStatus200(userStatus200Resp)
.build();
case 400:
List<GenericError> genericError400Resp = response.readEntity(new GenericType<List<GenericError>>() {});
return PutUserStatusFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.genericError400(genericError400Resp)
.build();
case 401:
return PutUserStatusFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
case 404:
return PutUserStatusFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return PutUserStatusFormByIdResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class PutUserStatusFormByIdResponse {
private UserStatus userStatus200;
private List<GenericError> genericError400;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Mark a user role as deleted. The user role cannot be accessed by the api, but will stay in the db for a while, before completely removed.
**/
public static class DeleteById {
private final UsersApiClientConfig config;
public DeleteById(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public DeleteByIdResponse request(@NonNull UUID id) {
// /roles/:id
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("roles")
.path(id.toString())
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("DELETE");
int status = response.getStatus();
switch(status) {
case 200:
return DeleteByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
case 401:
return DeleteByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
case 404:
return DeleteByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return DeleteByIdResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class DeleteByIdResponse {
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
}