private Response getTenantKey( final TenantKey key, @Nullable final String keyPostfix, final HttpServletRequest request) throws TenantApiException { final TenantContext tenantContext = context.createContext(request); final String tenantKey = keyPostfix != null ? key.toString() + keyPostfix : key.toString(); final List<String> values = tenantApi.getTenantValuesForKey(tenantKey, tenantContext); final TenantKeyJson result = new TenantKeyJson(tenantKey, values); return Response.status(Status.OK).entity(result).build(); }
@TimedResource @GET @Produces(APPLICATION_JSON) @ApiOperation(value = "Retrieve a tenant by its API key", response = TenantJson.class) @ApiResponses(value = {@ApiResponse(code = 404, message = "Tenant not found")}) public Response getTenantByApiKey(@QueryParam(QUERY_API_KEY) final String externalKey) throws TenantApiException { final Tenant tenant = tenantApi.getTenantByApiKey(externalKey); return Response.status(Status.OK).entity(new TenantJson(tenant)).build(); }
private Response deleteTenantKey( final TenantKey key, @Nullable final String keyPostfix, final String createdBy, final String reason, final String comment, final HttpServletRequest request) throws TenantApiException { final CallContext callContext = context.createContext(createdBy, reason, comment, request); final String tenantKey = keyPostfix != null ? key.toString() + keyPostfix : key.toString(); tenantApi.deleteTenantKey(tenantKey, callContext); return Response.status(Status.OK).build(); }
@TimedResource @GET @Path("/{tenantId:" + UUID_PATTERN + "}") @Produces(APPLICATION_JSON) @ApiOperation(value = "Retrieve a tenant by id", response = TenantJson.class) @ApiResponses( value = { @ApiResponse(code = 400, message = "Invalid tenantId supplied"), @ApiResponse(code = 404, message = "Tenant not found") }) public Response getTenant(@PathParam("tenantId") final String tenantId) throws TenantApiException { final Tenant tenant = tenantApi.getTenantById(UUID.fromString(tenantId)); return Response.status(Status.OK).entity(new TenantJson(tenant)).build(); }
@TimedResource @GET @Path("/" + USER_KEY_VALUE + "/{keyName:" + ANYTHING_PATTERN + "}") @Produces(APPLICATION_JSON) @ApiOperation(value = "Retrieve a per tenant user key/value", response = TenantKeyJson.class) @ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")}) public Response getUserKeyValue( @PathParam("keyName") final String key, @javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException { final TenantContext tenantContext = context.createContext(request); final List<String> values = tenantApi.getTenantValuesForKey(key, tenantContext); final TenantKeyJson result = new TenantKeyJson(key, values); return Response.status(Status.OK).entity(result).build(); }
@TimedResource @DELETE @Path("/" + USER_KEY_VALUE + "/{keyName:" + ANYTHING_PATTERN + "}") @ApiOperation(value = "Delete a per tenant user key/value") @ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")}) public Response deleteUserKeyValue( @PathParam("keyName") final String key, @HeaderParam(HDR_CREATED_BY) final String createdBy, @HeaderParam(HDR_REASON) final String reason, @HeaderParam(HDR_COMMENT) final String comment, @javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException { final CallContext callContext = context.createContext(createdBy, reason, comment, request); tenantApi.deleteTenantKey(key, callContext); return Response.status(Status.OK).build(); }
private Response insertTenantKey( final TenantKey key, @Nullable final String keyPostfix, final String value, final UriInfo uriInfo, final String getMethodStr, final String createdBy, final String reason, final String comment, final HttpServletRequest request) throws TenantApiException { final CallContext callContext = context.createContext(createdBy, reason, comment, request); final String tenantKey = keyPostfix != null ? key.toString() + keyPostfix : key.toString(); tenantApi.addTenantKeyValue(tenantKey, value, callContext); return uriBuilder.buildResponse(uriInfo, TenantResource.class, getMethodStr, keyPostfix); }
@TimedResource @POST @Path("/" + USER_KEY_VALUE + "/{keyName:" + ANYTHING_PATTERN + "}") @Consumes(TEXT_PLAIN) @Produces(APPLICATION_JSON) @ApiOperation(value = "Add a per tenant user key/value") @ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")}) public Response insertUserKeyValue( @PathParam("keyName") final String key, final String value, @HeaderParam(HDR_CREATED_BY) final String createdBy, @HeaderParam(HDR_REASON) final String reason, @HeaderParam(HDR_COMMENT) final String comment, @javax.ws.rs.core.Context final HttpServletRequest request, @javax.ws.rs.core.Context final UriInfo uriInfo) throws TenantApiException { final CallContext callContext = context.createContext(createdBy, reason, comment, request); tenantApi.addTenantKeyValue(key, value, callContext); return uriBuilder.buildResponse(uriInfo, TenantResource.class, "getUserKeyValue", key); }
@TimedResource @POST @Consumes(APPLICATION_JSON) @Produces(APPLICATION_JSON) @ApiOperation(value = "Create a tenant") @ApiResponses(value = {@ApiResponse(code = 500, message = "Tenant already exists")}) public Response createTenant( final TenantJson json, @HeaderParam(HDR_CREATED_BY) final String createdBy, @HeaderParam(HDR_REASON) final String reason, @HeaderParam(HDR_COMMENT) final String comment, @javax.ws.rs.core.Context final HttpServletRequest request, @javax.ws.rs.core.Context final UriInfo uriInfo) throws TenantApiException { verifyNonNullOrEmpty(json, "TenantJson body should be specified"); verifyNonNullOrEmpty( json.getApiKey(), "TenantJson apiKey needs to be set", json.getApiSecret(), "TenantJson apiSecret needs to be set"); final TenantData data = json.toTenantData(); final Tenant tenant = tenantApi.createTenant(data, context.createContext(createdBy, reason, comment, request)); return uriBuilder.buildResponse(uriInfo, TenantResource.class, "getTenant", tenant.getId()); }