package com.kryptnostic.directory.v1.http; import java.util.UUID; import com.kryptnostic.directory.v1.exception.AddUserException; import com.kryptnostic.mail.models.EmailRequest; import com.kryptnostic.registration.v1.models.UserCreationRequest; import com.squareup.okhttp.Response; import retrofit.http.Body; import retrofit.http.GET; import retrofit.http.POST; import retrofit.http.Path; public interface RegistrationApi { String UUID = "userId"; String TOKEN = "token"; String CONTROLLER = "/registration"; String USER = "/user"; String INVITATION = "/invitation"; String CONFIRMATION = "/confirmation"; String VERIFICATION = "/verification"; String UUID_PATH = "/{" + UUID + "}"; String TOKEN_PATH = "/{" + TOKEN + "}"; /** * Registers a normal user using the domain of their e-mail as their domain. * * @param request * @return * @throws AddUserException */ @POST( CONTROLLER + USER ) UUID register( @Body UserCreationRequest request ); @GET( CONTROLLER + CONFIRMATION ) Response resendConfirmationEmail(); @GET( CONTROLLER + VERIFICATION + UUID_PATH + TOKEN_PATH ) Response verifyConfirmation( @Path( UUID ) UUID userId, @Path( TOKEN ) String token); @POST( CONTROLLER + INVITATION ) Response sendInvitationEmail( @Body EmailRequest emailRequest ); }