Move /v2/keys/{number} to /v1/keys/multikeys/{number}

This commit is contained in:
Matt Corallo 2014-01-08 17:14:01 -10:00
parent cb185a6552
commit 5845d2dedd
3 changed files with 24 additions and 42 deletions

View File

@ -128,8 +128,7 @@ public class WhisperServerService extends Service<WhisperServerConfiguration> {
environment.addResource(new AccountController(pendingAccountsManager, pendingDevicesManager, accountsManager, rateLimiters, smsSender));
environment.addResource(new DirectoryController(rateLimiters, directory));
environment.addResource(new AttachmentController(rateLimiters, federatedClientManager, urlSigner));
environment.addResource(new KeysController.V1(rateLimiters, keys, accountsManager, federatedClientManager));
environment.addResource(new KeysController.V2(rateLimiters, keys, accountsManager, federatedClientManager));
environment.addResource(new KeysController(rateLimiters, keys, accountsManager, federatedClientManager));
environment.addResource(new FederationController(keys, accountsManager, pushSender, urlSigner));
environment.addServlet(new MessageController(rateLimiters, accountAuthenticator,

View File

@ -44,7 +44,7 @@ import javax.ws.rs.core.Response;
import java.util.List;
@Path("/v1/keys")
public abstract class KeysController {
public class KeysController {
private final Logger logger = LoggerFactory.getLogger(AccountController.class);
@ -90,43 +90,27 @@ public abstract class KeysController {
}
}
@Path("/v1/keys")
public static class V1 extends KeysController {
public V1(RateLimiters rateLimiters, Keys keys, AccountsManager accountsManager, FederatedClientManager federatedClientManager)
{
super(rateLimiters, keys, accountsManager, federatedClientManager);
}
@Timed
@GET
@Path("/{number}")
@Produces(MediaType.APPLICATION_JSON)
public PreKey get(@Auth Account account,
@PathParam("number") String number,
@QueryParam("relay") String relay)
throws RateLimitExceededException
{
return super.getKeys(account, number, relay).get(0);
}
@Timed
@GET
@Path("/{number}")
@Produces(MediaType.APPLICATION_JSON)
public PreKey get(@Auth Account account,
@PathParam("number") String number,
@QueryParam("relay") String relay)
throws RateLimitExceededException
{
return getKeys(account, number, relay).get(0);
}
@Path("/v2/keys")
public static class V2 extends KeysController {
public V2(RateLimiters rateLimiters, Keys keys, AccountsManager accountsManager, FederatedClientManager federatedClientManager)
{
super(rateLimiters, keys, accountsManager, federatedClientManager);
}
@Timed
@GET
@Path("/{number}")
@Produces(MediaType.APPLICATION_JSON)
public List<PreKey> get(@Auth Account account,
@PathParam("number") String number,
@QueryParam("relay") String relay)
throws RateLimitExceededException
{
return super.getKeys(account, number, relay);
}
@Timed
@GET
@Path("/multikeys/{number}")
@Produces(MediaType.APPLICATION_JSON)
public List<PreKey> getMultiDevice(@Auth Account account,
@PathParam("number") String number,
@QueryParam("relay") String relay)
throws RateLimitExceededException
{
return getKeys(account, number, relay);
}
}

View File

@ -56,8 +56,7 @@ public class KeyControllerTest extends ResourceTest {
when(accounts.getAllByNumber(EXISTS_NUMBER)).thenReturn(Arrays.asList(fakeAccount[0], fakeAccount[1]));
when(accounts.getAllByNumber(NOT_EXISTS_NUMBER)).thenReturn(new LinkedList<Account>());
addResource(new KeysController.V1(rateLimiters, keys, accounts, null));
addResource(new KeysController.V2(rateLimiters, keys, accounts, null));
addResource(new KeysController(rateLimiters, keys, accounts, null));
}
@Test
@ -76,7 +75,7 @@ public class KeyControllerTest extends ResourceTest {
verify(keys).get(eq(EXISTS_NUMBER), eq(Arrays.asList(fakeAccount)));
verifyNoMoreInteractions(keys);
List<PreKey> results = client().resource(String.format("/v2/keys/%s", EXISTS_NUMBER))
List<PreKey> results = client().resource(String.format("/v1/keys/multikeys/%s", EXISTS_NUMBER))
.header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
.get(new GenericType<List<PreKey>>(){});