Skip to content

Commit

Permalink
supplemental api health check endpoint (#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
rohitpanwar authored Jul 20, 2023
1 parent 7ad079f commit 05c5099
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,23 @@
import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
import gov.cdc.ocio.supplementalapi.functions.HealthCheckFunction;
import gov.cdc.ocio.supplementalapi.functions.StatusForDestinationFunction;
import gov.cdc.ocio.supplementalapi.functions.StatusForTguidFunction;

public class FunctionJavaWrappers {

@FunctionName("HealthCheck")
public HttpResponseMessage healthCheck(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
route = "health",
authLevel = AuthorizationLevel.FUNCTION) HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
return new HealthCheckFunction().run(request, context);
}

@FunctionName("StatusForTguid")
public HttpResponseMessage statusForTguid(
@HttpTrigger(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package gov.cdc.ocio.supplementalapi.functions

import com.azure.cosmos.models.CosmosQueryRequestOptions
import com.microsoft.azure.functions.ExecutionContext
import com.microsoft.azure.functions.HttpRequestMessage
import com.microsoft.azure.functions.HttpResponseMessage
import com.microsoft.azure.functions.HttpStatus
import gov.cdc.ocio.supplementalapi.cosmos.CosmosClientManager
import gov.cdc.ocio.supplementalapi.model.Item
import java.util.*


class HealthCheckFunction {

fun run(
request: HttpRequestMessage<Optional<String>>,
context: ExecutionContext
): HttpResponseMessage {

val cosmosClient = CosmosClientManager.getCosmosClient()

val databaseName = System.getenv("CosmosDbDatabaseName")
val containerName = System.getenv("CosmosDbContainerName")

val cosmosDB = cosmosClient.getDatabase(databaseName)
val container = cosmosDB.getContainer(containerName)

val sqlQuery = "select * from $containerName t OFFSET 0 LIMIT 1"
val items = container.queryItems(
sqlQuery, CosmosQueryRequestOptions(),
Item::class.java
)

return request
.createResponseBuilder(HttpStatus.OK)
.build()
}
}

0 comments on commit 05c5099

Please sign in to comment.