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

464 lines
18 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 de.nclazz.users.v0.models.UserForm;
import de.nclazz.users.v0.models.UserStatusForm;
import de.nclazz.users.v0.models.User;
import java.util.List;
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.UsersResource
* version 0.0.0-dev-30-gbd50cdf-bd9390b2-staging
*
* Access to the user management.
**/
@RequiredArgsConstructor
public class UsersResource {
private final UsersApiClientConfig config;
/** Get all users. **/
public Get get () {
return new Get(this.config);
}
/** Get a user for given id. **/
public GetById getById () {
return new GetById(this.config);
}
/** Create a new user. **/
public PostUserForm postUserForm () {
return new PostUserForm(this.config);
}
/** Update user data. **/
public PutUserFormById putUserFormById () {
return new PutUserFormById(this.config);
}
/** Update the status of the user. **/
public PutUserStatusFormById putUserStatusFormById () {
return new PutUserStatusFormById(this.config);
}
/** Mark a user as deleted. The user 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 users.
**/
public static class Get {
private final UsersApiClientConfig config;
@NonNull private String xAuthorization_header ;
private String xAgent_header ;
@Builder.Default private Integer limit_query = 200;
public Get(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public GetResponse request() {
// /users/
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("users")
.queryParam("limit", this.limit_query)
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.header("x-authorization", this.xAuthorization_header)
.header("x-agent", this.xAgent_header)
.method("GET");
int status = response.getStatus();
switch(status) {
case 200:
List<User> user200Resp = response.readEntity(new GenericType<List<User>>() {});
return GetResponse.builder()
.status(status)
.headers(response.getHeaders())
.user200(user200Resp)
.build();
case 401:
return GetResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return GetResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
public Get xAuthorization(String xAuthorization) {
this.xAuthorization_header = xAuthorization;
return this;
}
public Get xAgent(String xAgent) {
this.xAgent_header = xAgent;
return this;
}
public Get limit(Integer limit) {
this.limit_query = limit;
return this;
}
@Builder
@Data
public static class GetResponse {
private List<User> user200;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Get a user for given id.
**/
public static class GetById {
private final UsersApiClientConfig config;
public GetById(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public GetByIdResponse request(@NonNull String id) {
// /users/:id
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("users")
.path(id.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:
User user200Resp = response.readEntity(User.class);
return GetByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.user200(user200Resp)
.build();
case 404:
return GetByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
case 401:
return GetByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return GetByIdResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class GetByIdResponse {
private User user200;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Create a new user.
**/
public static class PostUserForm {
private final UsersApiClientConfig config;
public PostUserForm(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public PostUserFormResponse request(@NonNull UserForm userForm) {
// /users/
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("users")
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("POST", Entity.json(userForm));
int status = response.getStatus();
switch(status) {
case 201:
User user201Resp = response.readEntity(User.class);
return PostUserFormResponse.builder()
.status(status)
.headers(response.getHeaders())
.user201(user201Resp)
.build();
case 400:
List<GenericError> genericError400Resp = response.readEntity(new GenericType<List<GenericError>>() {});
return PostUserFormResponse.builder()
.status(status)
.headers(response.getHeaders())
.genericError400(genericError400Resp)
.build();
case 401:
return PostUserFormResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return PostUserFormResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class PostUserFormResponse {
private User user201;
private List<GenericError> genericError400;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Update user data.
**/
public static class PutUserFormById {
private final UsersApiClientConfig config;
public PutUserFormById(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public PutUserFormByIdResponse request(@NonNull String id, @NonNull UserForm userForm) {
// /users/:id
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("users")
.path(id.toString())
.build();
WebTarget target = config.getClient().target(uri);
Response response = target.request(MediaType.APPLICATION_JSON)
.method("PUT", Entity.json(userForm));
int status = response.getStatus();
switch(status) {
case 200:
User user200Resp = response.readEntity(User.class);
return PutUserFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.user200(user200Resp)
.build();
case 400:
List<GenericError> genericError400Resp = response.readEntity(new GenericType<List<GenericError>>() {});
return PutUserFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.genericError400(genericError400Resp)
.build();
case 401:
return PutUserFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
case 404:
return PutUserFormByIdResponse.builder()
.status(status)
.headers(response.getHeaders())
.build();
default:
return PutUserFormByIdResponse.builder()
.status(status)
.unexpected(response.readEntity(String.class))
.build();
}
}
@Builder
@Data
public static class PutUserFormByIdResponse {
private User user200;
private List<GenericError> genericError400;
private final int status;
private final MultivaluedMap<String, Object> headers;
private final String unexpected;
}
}
/**
* Update the status of the user.
**/
public static class PutUserStatusFormById {
private final UsersApiClientConfig config;
public PutUserStatusFormById(@NonNull final UsersApiClientConfig config) {
this.config = config;
}
public PutUserStatusFormByIdResponse request(@NonNull String id, @NonNull UserStatusForm userStatusForm) {
// /users/:id/status
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("users")
.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 as deleted. The user 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 String id) {
// /users/:id
final URI uri = UriBuilder.fromUri(this.config.getBaseUrl())
.path("users")
.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;
}
}
}