class TransactionResource {

    @ApiOperation(value = "Transmit encrypted payload between P2PRestApp Nodes")
    @ApiResponses({
        @ApiResponse(code = 201, message = "Key created status"),
        @ApiResponse(code = 500, message = "General error")
    })
    @POST
    @Path("push")
    @Consumes(APPLICATION_OCTET_STREAM)
    public Response push(
            @ApiParam(name = "payload", required = true, value = "Key data to be stored.") final byte[] payload) {

        LOGGER.debug("Received push request");

        final MessageHash messageHash = transactionManager.storePayload(encoder.decode(payload));
        LOGGER.debug("Push request generated hash {}", messageHash);
        // TODO: Return the query url not the string of the messageHash
        return Response.status(Response.Status.CREATED).entity(Objects.toString(messageHash)).build();
    }

    public  TransactionResource(final TransactionManager delegate, final PayloadEncoder payloadEncoder);

}