|
4 | 4 | import jakarta.ws.rs.POST; |
5 | 5 | import jakarta.ws.rs.Path; |
6 | 6 | import jakarta.ws.rs.Produces; |
| 7 | +import jakarta.ws.rs.core.Context; |
| 8 | +import jakarta.ws.rs.core.HttpHeaders; |
7 | 9 | import jakarta.ws.rs.core.MediaType; |
8 | 10 | import jakarta.ws.rs.core.Response; |
9 | 11 | import lombok.extern.slf4j.Slf4j; |
10 | 12 | import org.vss.KVStore; |
11 | 13 | import org.vss.ListKeyVersionsRequest; |
12 | 14 | import org.vss.ListKeyVersionsResponse; |
| 15 | +import org.vss.auth.AuthResponse; |
| 16 | +import org.vss.auth.Authorizer; |
13 | 17 |
|
14 | 18 | @Path(VssApiEndpoint.LIST_KEY_VERSIONS) |
15 | 19 | @Slf4j |
16 | 20 | public class ListKeyVersionsApi extends AbstractVssApi { |
17 | 21 |
|
18 | 22 | @Inject |
19 | | - public ListKeyVersionsApi(KVStore kvStore) { |
20 | | - super(kvStore); |
| 23 | + public ListKeyVersionsApi(KVStore kvStore, Authorizer authorizer) { |
| 24 | + super(kvStore, authorizer); |
21 | 25 | } |
22 | 26 |
|
23 | 27 | @POST |
24 | 28 | @Produces(MediaType.APPLICATION_OCTET_STREAM) |
25 | | - public Response execute(byte[] payload) { |
| 29 | + public Response execute(byte[] payload, @Context HttpHeaders headers) { |
26 | 30 | try { |
| 31 | + AuthResponse authResponse = authorizer.verify(headers); |
27 | 32 | ListKeyVersionsRequest request = ListKeyVersionsRequest.parseFrom(payload); |
28 | | - ListKeyVersionsResponse response = kvStore.listKeyVersions(request); |
| 33 | + ListKeyVersionsResponse response = kvStore.listKeyVersions(authResponse.getUserToken(), request); |
29 | 34 | return toResponse(response); |
30 | 35 | } catch (Exception e) { |
31 | 36 | log.error("Exception in ListKeyVersionsApi: ", e); |
|
0 commit comments