package io.apibuilder.api.v0.models; import io.reactivex.Single; import java.lang.String; import java.util.UUID; import retrofit2.http.Body; import retrofit2.http.GET; import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path; import retrofit2.http.Query; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.12.8 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-api/0.12.8/android_rx2_client * * WARNING: not all features (notably unions) and data types work with android generator yet. * Android generator is designed to be used in an android application, but should work in any java codebase as long as you import jackson, retrofit2 and RxJava2 libraries. * If you are considering using this library, would like to request/discuss features, or would like to share how you're using it, please contact android-feedback@gilt.com * */ public interface UsersClient { /** * Search for a specific user. You must specify at least 1 parameter - either a guid, email or token - and will receive back either 0 or 1 users. */ @GET("users") Single getUsers(@Query("guid") UUID guid, @Query("email") String email, @Query("token") String token); /** * Returns information about the user with this guid. */ @GET("users/{guid}") Single getUsersGuid(@Path("guid") UUID guid); /** * Used to authenticate a user with an email address and password. Successful authentication returns an instance of the user model. Failed authorizations of any kind are returned as a generic error with code user_authorization_failed. */ @POST("users/authenticate") Single postUsersAuthenticate(@Query("email") String email, @Query("password") String password); /** * Used to authenticate a user using a github access token. This is equivalent to running the following command to get the user info: curl -H 'Authorization: Bearer code' https://api.github.com/user */ @POST("users/authenticate_github") Single postUsersAuthenticateGithub(@Query("token") String token); /** * Create a new user. */ @POST("users") Single postUsers(@Body UserForm userForm); /** * Updates information about the user with the specified guid. */ @PUT("users/{guid}") Single putUsersGuid(@Body UserUpdateForm userUpdateForm, @Path("guid") UUID guid); }