Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
- merged feature/paratoo branch
  • Loading branch information
temi committed Mar 25, 2024
2 parents 7c2918c + 376b397 commit c46a7fc
Show file tree
Hide file tree
Showing 21 changed files with 548 additions and 233 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ plugins {
id "com.gorylenko.gradle-git-properties" version "2.4.1"
}

version "4.4-SNAPSHOT"
version "4.5-SPECIES-SNAPSHOT"
group "au.org.ala"
description "Ecodata"

Expand Down
74 changes: 39 additions & 35 deletions grails-app/controllers/au/org/ala/ecodata/ParatooController.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ import javax.ws.rs.GET
import javax.ws.rs.POST
import javax.ws.rs.PUT
import javax.ws.rs.Path

// Requiring these scopes will guarantee we can get a valid userId out of the process.
@Slf4j
@au.ala.org.ws.security.RequireApiKey(scopes=["profile", "openid"])
@au.ala.org.ws.security.RequireApiKey(scopes = ["profile", "openid"])
@OpenAPIDefinition(
info = @Info(
title = "Ecodata APIs",
Expand All @@ -50,17 +51,17 @@ import javax.ws.rs.Path
type = SecuritySchemeType.OAUTH2,
flows = @OAuthFlows(
clientCredentials = @OAuthFlow(
authorizationUrl = "https://auth-test.ala.org.au/cas/oidc/authorize",
tokenUrl = "https://auth-test.ala.org.au/cas/oidc/token",
refreshUrl = "https://auth-test.ala.org.au/cas/oidc/refresh",
scopes = [
@OAuthScope(name="openid"),
@OAuthScope(name="profile"),
@OAuthScope(name="ala", description = "CAS scope"),
@OAuthScope(name="roles", description = "CAS scope"),
@OAuthScope(name="ala/attrs", description = "Cognito scope"),
@OAuthScope(name="ala/roles", description = "Cognito scope")
]
authorizationUrl = "https://auth-test.ala.org.au/cas/oidc/authorize",
tokenUrl = "https://auth-test.ala.org.au/cas/oidc/token",
refreshUrl = "https://auth-test.ala.org.au/cas/oidc/refresh",
scopes = [
@OAuthScope(name = "openid"),
@OAuthScope(name = "profile"),
@OAuthScope(name = "ala", description = "CAS scope"),
@OAuthScope(name = "roles", description = "CAS scope"),
@OAuthScope(name = "ala/attrs", description = "Cognito scope"),
@OAuthScope(name = "ala/roles", description = "Cognito scope")
]
)
),
scheme = "bearer"
Expand Down Expand Up @@ -245,7 +246,7 @@ class ParatooController {
error(collectionId.errors)
} else {
String userId = userService.currentUserDetails.userId
boolean hasProtocol = paratooService.protocolWriteCheck(userId, collectionId.surveyId.projectId, collectionId.surveyId.protocol.id)
boolean hasProtocol = paratooService.protocolWriteCheck(userId, collectionId.projectId, collectionId.protocolId)
if (hasProtocol) {
Map mintResults = paratooService.mintCollectionId(userId, collectionId)
if (mintResults.error) {
Expand Down Expand Up @@ -277,24 +278,28 @@ class ParatooController {

if (log.isDebugEnabled()) {
log.debug("ParatooController::submitCollection")
log.debug(request.JSON.toString())
}
if (collection.hasErrors()) {
error(collection.errors)
} else {
String userId = userService.currentUserDetails.userId
Map dataSet = paratooService.findDataSet(userId, collection.orgMintedIdentifier)

boolean hasProtocol = paratooService.protocolWriteCheck(userId, dataSet.project.id, collection.protocol.id)
if (hasProtocol) {
Map result = paratooService.submitCollection(collection, dataSet.project)
if (!result.error) {
respond([success: true])
Map dataSet = paratooService.findDataSet(userId, collection.orgMintedUUID)
if (dataSet?.dataSet?.surveyId) {
ParatooCollectionId collectionId = ParatooCollectionId.fromMap(dataSet.dataSet.surveyId)
boolean hasProtocol = paratooService.protocolWriteCheck(userId, dataSet.project.id, collectionId.protocolId)
if (hasProtocol) {
Map result = paratooService.submitCollection(collection, dataSet.project)
if (!result.error) {
respond([success: true])
} else {
error(HttpStatus.SC_INTERNAL_SERVER_ERROR, result.error)
}
} else {
error(HttpStatus.SC_INTERNAL_SERVER_ERROR, result.error)
error(HttpStatus.SC_FORBIDDEN, "Project / protocol combination not available")
}

} else {
error(HttpStatus.SC_FORBIDDEN, "Project / protocol combination not available")
error(HttpStatus.SC_NOT_FOUND, "No data set found with orgMintedUUID=${collection.orgMintedUUID}")
}
}
}
Expand Down Expand Up @@ -389,8 +394,8 @@ class ParatooController {
plotSelections.addAll(it.plots)
}
}
plotSelections = plotSelections.unique {it.siteId} ?: []
respond plots:plotSelections
plotSelections = plotSelections.unique { it.siteId } ?: []
respond plots: plotSelections
}

private def addOrUpdatePlotSelection(ParatooPlotSelection plotSelection) {
Expand Down Expand Up @@ -435,7 +440,7 @@ class ParatooController {
),
tags = "Org Interface"
)
def updateProjectSites(@Parameter(name = "id", description = "Project id", required = true, in = ParameterIn.PATH, schema = @Schema(type = "string"))String id) {
def updateProjectSites(@Parameter(name = "id", description = "Project id", required = true, in = ParameterIn.PATH, schema = @Schema(type = "string")) String id) {
String userId = userService.currentUserDetails.userId
List projects = paratooService.userProjects(userId)
ParatooProject project = projects?.find { it.id == id }
Expand All @@ -448,20 +453,19 @@ class ParatooController {
Map result = paratooService.updateProjectSites(project, data.data, projects)

if (result?.error) {
respond([message:result.error], status:HttpStatus.SC_INTERNAL_SERVER_ERROR)
}
else {
respond(buildUpdateProjectSitesResponse(id, data.data), status:HttpStatus.SC_OK)
respond([message: result.error], status: HttpStatus.SC_INTERNAL_SERVER_ERROR)
} else {
respond(buildUpdateProjectSitesResponse(id, data.data), status: HttpStatus.SC_OK)
}
}

private static Map buildUpdateProjectSitesResponse(String id, Map data) {
[
"data": [
"id": id,
"attributes": data
],
meta: [:]
"data": [
"id" : id,
"attributes": data
],
meta : [:]
]
}

Expand Down
43 changes: 43 additions & 0 deletions grails-app/controllers/au/org/ala/ecodata/graphql-test.http
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
###
POST https://ecodata-test.ala.org.au/ws/graphql
Authorization: Bearer eyJraWQiOiI2UEpOaFwvdU5EYlBIWlk4Y2xmTHJvMnBKUnJhTFRXTnpaU0tOcVdka3Y0az0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJiOTMyNTY0Zi1hNjQxLTQ3MTYtYTAwMS0wMTRkODA2NzU0MmQiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c2VyIiwiZWNvZGF0YV9hcGkiXSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb21cL2FwLXNvdXRoZWFzdC0yX09PWFU5R1czOSIsInZlcnNpb24iOjIsImNsaWVudF9pZCI6IjRyaGtvcDl0bDMwbHJ0OThjcWpwY3UzZTF0Iiwib3JpZ2luX2p0aSI6IjMxYmYzYTg0LThiMDktNDVhNi05OTE3LTY5ODE5N2Y3N2EzYiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYWxhXC9hdHRycyBhbGFcL3JvbGVzIG9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYXV0aF90aW1lIjoxNzA3MDgwMTM5LCJleHAiOjE3MDcwODczNDgsImlhdCI6MTcwNzA4Mzc0OCwianRpIjoiNjNhZTJjNTItYzUxZC00ZmJjLWFkMDAtODQ4NGIyOTQ1ZDI0IiwidXNlcm5hbWUiOiI2NDUwIn0.crLqFuvY9JLmxM88GI3ukYTZGlcYHmXTlJ8AFJHSkB2bkPoSJ8F7OnGnJuZlpzlBHLcyMM91JpVoNNdLlVFYptnafX279Q2oUXzAe_iiwPI2-JPPVEp4bDSYd7x9Yl488EYFBNGJ5cbEaSGyMh9WHggWAFG8BLXXUdWM8GfS2-PdqUwcFkPQAu7DDgSh0k6BDviZaOuA0-2AtLdx4c6yWA9dzfRlzMinbTnR3at0QAJ4Dv7xJhEsgvXaR2z4Pe9JrcIuoTZlJx360UQtuDgNLWA-fzDHfmsSOIuBBYB8E0gFkdKt7f7TE-M6KvIUKhp6z30xI4_OwGC52U0D11LISg
Content-Type: application/json

{
"query": "query {\n project(projectId:\"30b6e207-51fb-4286-881c-9ca31959010c\") {\n projectId\n name\n description\n \n program {\n name\n programId\n acronym\n }\n organisation {\n \torganisationId\n name\n abn\n }\n managementUnit {\n \tmanagementUnitId\n name\n shortName\n }\n }\n}"
}

###
POST http://localhost:8080/ws/graphql
Authorization: Bearer eyJraWQiOiI2UEpOaFwvdU5EYlBIWlk4Y2xmTHJvMnBKUnJhTFRXTnpaU0tOcVdka3Y0az0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJiOTMyNTY0Zi1hNjQxLTQ3MTYtYTAwMS0wMTRkODA2NzU0MmQiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c2VyIiwiZWNvZGF0YV9hcGkiXSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmFwLXNvdXRoZWFzdC0yLmFtYXpvbmF3cy5jb21cL2FwLXNvdXRoZWFzdC0yX09PWFU5R1czOSIsInZlcnNpb24iOjIsImNsaWVudF9pZCI6IjRyaGtvcDl0bDMwbHJ0OThjcWpwY3UzZTF0Iiwib3JpZ2luX2p0aSI6IjMxYmYzYTg0LThiMDktNDVhNi05OTE3LTY5ODE5N2Y3N2EzYiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYWxhXC9hdHRycyBhbGFcL3JvbGVzIG9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYXV0aF90aW1lIjoxNzA3MDgwMTM5LCJleHAiOjE3MDcwODczNDgsImlhdCI6MTcwNzA4Mzc0OCwianRpIjoiNjNhZTJjNTItYzUxZC00ZmJjLWFkMDAtODQ4NGIyOTQ1ZDI0IiwidXNlcm5hbWUiOiI2NDUwIn0.crLqFuvY9JLmxM88GI3ukYTZGlcYHmXTlJ8AFJHSkB2bkPoSJ8F7OnGnJuZlpzlBHLcyMM91JpVoNNdLlVFYptnafX279Q2oUXzAe_iiwPI2-JPPVEp4bDSYd7x9Yl488EYFBNGJ5cbEaSGyMh9WHggWAFG8BLXXUdWM8GfS2-PdqUwcFkPQAu7DDgSh0k6BDviZaOuA0-2AtLdx4c6yWA9dzfRlzMinbTnR3at0QAJ4Dv7xJhEsgvXaR2z4Pe9JrcIuoTZlJx360UQtuDgNLWA-fzDHfmsSOIuBBYB8E0gFkdKt7f7TE-M6KvIUKhp6z30xI4_OwGC52U0D11LISg
Content-Type: application/json

{
"query": "query {\n project(projectId:\"5e416e05-cb4d-4f7e-84ec-e29291ce492a\") {\n projectId\n name\n description\n \n program {\n name\n programId\n acronym\n }\n organisation {\n \torganisationId\n name\n abn\n }\n managementUnit {\n \tmanagementUnitId\n name\n shortName\n }\n }\n}"
}

###
GET http://localhost:8080/ws/paratoo/user-projects
Authorization: Bearer eyJraWQiOiI2UEpOaFwvdU5EYlBIWlk4Y2xmTHJvMnBKUnJhTFRXTnpaU0tOcVdka3Y0az0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI2ODMyZDkyNy03ZTE0LTRkMTYtODk0ZS00N2I4NGM3YjdkNWYiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c2VyIiwiZWNvZGF0YV9hcGkiLCJhZG1pbiJdLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbVwvYXAtc291dGhlYXN0LTJfT09YVTlHVzM5IiwidmVyc2lvbiI6MiwiY2xpZW50X2lkIjoiNHJoa29wOXRsMzBscnQ5OGNxanBjdTNlMXQiLCJvcmlnaW5fanRpIjoiOGMxNmM3NmItNTA3Ny00OWRmLWI2YTAtY2Y1Y2NjMmExMTRmIiwiZXZlbnRfaWQiOiIzYzk1NmYzYS0yMGFhLTQxMjAtYjM1Zi0yMzhhMTkzMWE1NDUiLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6ImFsYVwvYXR0cnMgYWxhXC9yb2xlcyBvcGVuaWQgcHJvZmlsZSBlbWFpbCIsImF1dGhfdGltZSI6MTcwNjU2NTg5NSwiZXhwIjoxNzA2NTc2NzY3LCJpYXQiOjE3MDY1NzMxNjgsImp0aSI6IjE5NWQ0ODkwLWM1YWUtNDJmNy05NjA2LTVmNjVlZGI5NmQ4YyIsInVzZXJuYW1lIjoiNTY1MDEifQ.yoePlhuO22-CqSiMh9rM41El_bI-gohdRk7KQWphxo9GUAMba4Kf8efT8bnxzLzuuQ5bM4egie0iRdmIcHPNzuZfoLidvn9Q_ItjSYkBeIaxozFKyy3uGl5n6_BOuzQdXN2J831Qj_me_38mGKbRRp1W-cjOJu7xH-lYudXiyzSjdv02MpRdAQEfKG47BW_r2FFXBdDCKrhZ_pSQjjFQng4NLFefeMPxmErR6CYDEwBG9_u5m_WQea9P_gy6mjsuQ-bXZbZq4BSNswJgd1pmayNz-65gX-hewA2eE6VVOWwzgmwakJNVEF1FX9tMcYWd0wRKJBvBOzz2Dii-5Xd3gg
Content-Type: */*

###
GET https://ecodata-staging.ala.org.au/ws/paratoo/user-projects
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIm9yZy5hcGVyZW8uY2FzLnNlcnZpY2VzLlJlZ2lzdGVyZWRTZXJ2aWNlIjoiMTY3MTE1MjI5MTY4OCIsImtpZCI6InNpZy0xNjU1OTU2NDkzIn0.eyJzdWIiOiIxMDkxNDYwNjc2NzgyNDkyNzg1ODQiLCJyb2xlIjpbIlJPTEVfQURNSU4iLCJST0xFX0FQSV9FRElUT1IiLCJST0xFX0NPTExFQ1RJT05fQURNSU4iLCJST0xFX0VDT0RBVEFfQVBJIiwiUk9MRV9FRElUT1IiLCJST0xFX1VTRVIiLCJST0xFX1ZQX0FETUlOIiwiUk9MRV9WUF9URVNUX0FETUlOIl0sIm9hdXRoQ2xpZW50SWQiOiIyWHZsZ0pYWHVzc3R4aFZkTlJaY0J0aUpIeFdiRlNUZVJDNWYiLCJjbGllbnROYW1lIjoiR29vZ2xlIiwiaXNzIjoiaHR0cHM6XC9cL2F1dGguYWxhLm9yZy5hdVwvY2FzXC9vaWRjIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiY2hyaXMuZ29kd2luLmFsYUBnbWFpbC5jb20iLCJjbGllbnRfaWQiOiIyWHZsZ0pYWHVzc3R4aFZkTlJaY0J0aUpIeFdiRlNUZVJDNWYiLCJ1cGRhdGVkX2F0IjoiMjAyMi0wNy0xNCAxMDoyMzoyMyIsImdyYW50X3R5cGUiOiJBVVRIT1JJWkFUSU9OX0NPREUiLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIl0sInNlcnZlcklwQWRkcmVzcyI6IjEyNy4wLjAuMSIsImxvbmdUZXJtQXV0aGVudGljYXRpb25SZXF1ZXN0VG9rZW5Vc2VkIjpmYWxzZSwic3RhdGUiOiI1NDg4YTdiZTkxOTk0ZDQ5OWJiMzEyMGUxNjhkY2MzZiIsImV4cCI6MTcxMDUzNTg2MywiaWF0IjoxNzEwNDQ5NDYzLCJqdGkiOiJBVC0zMjM2Ny1NOTFnRkFYdXRHaFlESkp6LTRlMm1nQVNKQXRIN1N3TCIsImVtYWlsIjoiY2hyaXMuZ29kd2luLmFsYUBnbWFpbC5jb20iLCJjbGllbnRJcEFkZHJlc3MiOiIxNDAuNzkuNzkuOTYiLCJpc0Zyb21OZXdMb2dpbiI6dHJ1ZSwiZW1haWxfdmVyaWZpZWQiOiIxIiwiYXV0aGVudGljYXRpb25EYXRlIjoiMjAyNC0wMy0xNFQyMDo1MTowMi45MzE0OTFaIiwic3VjY2Vzc2Z1bEF1dGhlbnRpY2F0aW9uSGFuZGxlcnMiOiJEZWxlZ2F0ZWRDbGllbnRBdXRoZW50aWNhdGlvbkhhbmRsZXIiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhXC81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXRcLzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZVwvMTIyLjAuMC4wIFNhZmFyaVwvNTM3LjM2IiwiZ2l2ZW5fbmFtZSI6IkNocmlzIiwibm9uY2UiOiIiLCJjcmVkZW50aWFsVHlwZSI6IkNsaWVudENyZWRlbnRpYWwiLCJzYW1sQXV0aGVudGljYXRpb25TdGF0ZW1lbnRBdXRoTWV0aG9kIjoidXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4wOmFtOnVuc3BlY2lmaWVkIiwiYXVkIjoiaHR0cHM6XC9cL3Rva2Vucy5hbGEub3JnLmF1XC9sb2dpbiIsImF1dGhlbnRpY2F0aW9uTWV0aG9kIjoiRGVsZWdhdGVkQ2xpZW50QXV0aGVudGljYXRpb25IYW5kbGVyIiwiZ2VvTG9jYXRpb24iOiJ1bmtub3duIiwibmFtZSI6IkNocmlzIEdvZHdpbiIsInNjb3BlcyI6WyJvcGVuaWQiLCJwcm9maWxlIl0sImZhbWlseV9uYW1lIjoiR29kd2luIn0.jazpxAZPTWJ3vzEPnrHAZkmxllLK64Pk-mRmddv5k_IhSTHiEvvrA6IP9GTd7BDWSnBtEfmUFKqv5wk3Igz3m7oQR97aAvqA8t1ORqGhrdNUJu4dU5V5l7EG8wLuwcT7k668sAa_kpxH1YFpDzXp_tG4xIKtk3tpAZOSnjYEzCPy3MVCiw5f4Tm-7CGS125T_JOIyST6_nh4HHygYHoXDdjy-MvRJqrvWFR7tKMN99zscvCBuOBjHy5fyzj16dSPY67q9-J0DuGiHR0-okwtev4rajr8LNXGsX40N-CwtAlzXYJK6ThJcYtRM7KNlImtW6Jyyx7TqRKC-IRWCE8L7g
Content-Type: application/json

###
GET http://localhost:8080/ws/paratoo/user-projects
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIm9yZy5hcGVyZW8uY2FzLnNlcnZpY2VzLlJlZ2lzdGVyZWRTZXJ2aWNlIjoiMTY5NTg3MjAzMTM4MyIsImtpZCI6InNpZy0xNjU1OTU2NDkzIn0.eyJzdWIiOiIxMDkxNDYwNjc2NzgyNDkyNzg1ODQiLCJyb2xlIjpbIlJPTEVfQURNSU4iLCJST0xFX0FQSV9FRElUT1IiLCJST0xFX0NPTExFQ1RJT05fQURNSU4iLCJST0xFX0VDT0RBVEFfQVBJIiwiUk9MRV9FRElUT1IiLCJST0xFX1VTRVIiLCJST0xFX1ZQX0FETUlOIiwiUk9MRV9WUF9URVNUX0FETUlOIl0sIm9hdXRoQ2xpZW50SWQiOiJvUEJFZEYwNW5WWGNWamJjZ3JlY3B3cVd4cFdzeEtUQnRmRVYiLCJjbGllbnROYW1lIjoiR29vZ2xlIiwiaXNzIjoiaHR0cHM6XC9cL2F1dGguYWxhLm9yZy5hdVwvY2FzXC9vaWRjIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiY2hyaXMuZ29kd2luLmFsYUBnbWFpbC5jb20iLCJ1c2VyaWQiOiIxNDkzIiwiY2xpZW50X2lkIjoib1BCRWRGMDVuVlhjVmpiY2dyZWNwd3FXeHBXc3hLVEJ0ZkVWIiwidXBkYXRlZF9hdCI6IjIwMjItMDctMTQgMTA6MjM6MjMiLCJncmFudF90eXBlIjoiQVVUSE9SSVpBVElPTl9DT0RFIiwic2NvcGUiOlsiYWxhIiwib3BlbmlkIiwicHJvZmlsZSIsInJvbGVzIl0sInNlcnZlcklwQWRkcmVzcyI6IjEyNy4wLjAuMSIsImxvbmdUZXJtQXV0aGVudGljYXRpb25SZXF1ZXN0VG9rZW5Vc2VkIjpmYWxzZSwic3RhdGUiOiI3Njc0OWRjMmI2Y2U0N2Y2YmJiMGI1ZDdhOTk5Y2QwMSIsImV4cCI6MTcwODEzMDE1MCwiaWF0IjoxNzA4MDQzNzUwLCJqdGkiOiJBVC00MDU4MC1lOHczT1YwZUgtbkF1VlRwbk1vc2NkUHNBOXlsdXFyQiIsImVtYWlsIjoiY2hyaXMuZ29kd2luLmFsYUBnbWFpbC5jb20iLCJjbGllbnRJcEFkZHJlc3MiOiIxNDAuMjUzLjIyNC4yNDciLCJpc0Zyb21OZXdMb2dpbiI6ZmFsc2UsImVtYWlsX3ZlcmlmaWVkIjoiMSIsImF1dGhlbnRpY2F0aW9uRGF0ZSI6IjIwMjQtMDItMTVUMjI6MTc6MzEuNjkwMTU3WiIsInN1Y2Nlc3NmdWxBdXRoZW50aWNhdGlvbkhhbmRsZXJzIjoiRGVsZWdhdGVkQ2xpZW50QXV0aGVudGljYXRpb25IYW5kbGVyIiwidXNlckFnZW50IjoiTW96aWxsYVwvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE1XzcpIEFwcGxlV2ViS2l0XC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWVcLzEyMS4wLjAuMCBTYWZhcmlcLzUzNy4zNiIsImdpdmVuX25hbWUiOiJDaHJpcyIsIm5vbmNlIjoiIiwiY3JlZGVudGlhbFR5cGUiOiJDbGllbnRDcmVkZW50aWFsIiwic2FtbEF1dGhlbnRpY2F0aW9uU3RhdGVtZW50QXV0aE1ldGhvZCI6InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjEuMDphbTp1bnNwZWNpZmllZCIsImF1ZCI6Imh0dHBzOlwvXC90b2tlbnMuYWxhLm9yZy5hdVwvbG9naW4iLCJhdXRoZW50aWNhdGlvbk1ldGhvZCI6IkRlbGVnYXRlZENsaWVudEF1dGhlbnRpY2F0aW9uSGFuZGxlciIsImdlb0xvY2F0aW9uIjoidW5rbm93biIsIm5hbWUiOiJDaHJpcyBHb2R3aW4iLCJzY29wZXMiOlsib3BlbmlkIiwicHJvZmlsZSIsImFsYSIsInJvbGVzIl0sImZhbWlseV9uYW1lIjoiR29kd2luIn0.M74V6ibistW_VGeTQhUdDpn_h7rk8G5QoCm56EPOgpmnyxAeZK3Kz_omMELPI5p2cdvaAttJ6ZMvd268jtHju9VfDmm7IP668ikpDQsWoaFVaXiFi1X0FPvucilDm3Aa1Sd3rqeEH9fNDO_OEJe4NvE4JaKUAXGp4ZjboV5xZZniuczlZyPXpQ8p-YqIIZRtEfYnbBrSJt5xA8GzVXIhXCbuUfb6AjH1qkG5qebHGh3LYZ2BEx_X9nfew8WD3wP6k8OebLJecvxm-u3ELKV48c5LAf4RFHjNSEcR9-NM3Yg7r5y4PP-wGuikh1cFjWMEPgwtB6T3Bq2xmPnLtkuZAQ
Content-Type: application/json

###
GET https://dev.core-api.monitor.tern.org.au/api/cover-point-intercept-species-intercepts?populate=deep
Authorization: Bearer eyJraWQiOiI2UEpOaFwvdU5EYlBIWlk4Y2xmTHJvMnBKUnJhTFRXTnpaU0tOcVdka3Y0az0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI2ODMyZDkyNy03ZTE0LTRkMTYtODk0ZS00N2I4NGM3YjdkNWYiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c2VyIiwiZWNvZGF0YV9hcGkiLCJhZG1pbiJdLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbVwvYXAtc291dGhlYXN0LTJfT09YVTlHVzM5IiwidmVyc2lvbiI6MiwiY2xpZW50X2lkIjoiN2E5MGMzNjB2MXEwazY4cjFwYXM5MmRka3AiLCJvcmlnaW5fanRpIjoiMWY0MDIzMmEtNzAyMy00NDMyLWE1NTAtMTNkMjA5MTEzYTYzIiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJhbGFcL2F0dHJzIGFsYVwvcm9sZXMgb3BlbmlkIHByb2ZpbGUgZW1haWwiLCJhdXRoX3RpbWUiOjE3MDgzODI4MzAsImV4cCI6MTcwODM4NjQzMCwiaWF0IjoxNzA4MzgyODMxLCJqdGkiOiI3YTVhN2I4MS1kOWQ3LTRlMjUtOWVmMy03M2M0OTk5Zjg2YzUiLCJ1c2VybmFtZSI6IjU2NTAxIn0.hHOysWUwZer0JzpDWJZtWWAXebEbzAkLz3Q74wg0LuGCyWMFonredGZ6fA2NxwCwX3FB-4ppTA6QdyUiNAnz846dK7pIN6Tfv1shG6whqYvBDvpmHblgRl6MFnIHiFJVoCUoRxWM6A9nArwRAvPqv9fOPQzxeIWDGn0f2sQkfPdCCvYsTFYqC2qhF_GqjaXxb2Wsf2dDq0RhldNRmBGMuuu-BiloPGzVl9tZAsH7kyiNsZD8UdCzUkIBQhYmgWlhYBRUzbcAeJ7vrvQMdHQ-vO7xGT-s6xxudDwt24zRsjXt83YDTHdMxY8roc_3ZEn0cGo3gBaoMq4HBpXUo_8w-Q
Content-Type: application/json

###
GET https://dev.core-api.monitor.tern.org.au/api/protocols/reverse-lookup
Authorization: Bearer eyJraWQiOiI2UEpOaFwvdU5EYlBIWlk4Y2xmTHJvMnBKUnJhTFRXTnpaU0tOcVdka3Y0az0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI2ODMyZDkyNy03ZTE0LTRkMTYtODk0ZS00N2I4NGM3YjdkNWYiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c2VyIiwiZWNvZGF0YV9hcGkiLCJhZG1pbiJdLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbVwvYXAtc291dGhlYXN0LTJfT09YVTlHVzM5IiwidmVyc2lvbiI6MiwiY2xpZW50X2lkIjoiN2E5MGMzNjB2MXEwazY4cjFwYXM5MmRka3AiLCJvcmlnaW5fanRpIjoiMWY0ZDljOTYtNDBkOC00YzNmLTkxMDctNDQ1YjdiOTEzOGIzIiwiZXZlbnRfaWQiOiJhZWVmYzEwNi1lYjc1LTQ1OTEtYjE3OC02MjM2NWU3NWU4NDAiLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6ImFsYVwvYXR0cnMgYWxhXC9yb2xlcyBvcGVuaWQgcHJvZmlsZSBlbWFpbCIsImF1dGhfdGltZSI6MTcwOTA2Njg1MSwiZXhwIjoxNzA5MDcwNDUxLCJpYXQiOjE3MDkwNjY4NTIsImp0aSI6IjFlZGYyNzQ2LTJlY2ItNDRhOC05NjNlLTAwZTM1ODNkYjllMyIsInVzZXJuYW1lIjoiNTY1MDEifQ.x5h1Hw1fbomORk_jVxL8-fdjeO4uqbG6UoCKfeGQo_CJV02ZS5OhYmEolZkVSL5MkdytHBqY6Vojh5MrP9738He8exlbBRh8OnaA6QCb4Iasio0xWJcbysxt5Y98TGOC1cfcUAbjaZpwMH7r6ifQVoiK0RcztZJWlcSBp5IE2rZeSZ2tawg-Xl_JqR0d69wukn6gcNgrg5gPGPRqGbfrFwqciIKaj2KbZ8axZZi1kakPRGPH8FB2nxvPp4XGsjs-hV__8KxeNMRD2G0-paI0LyqWbvNOJnUfKYYNY2G8AgH-CJWLEA0Llo3kHORqnm3PyzcXvr82MhAn1ujdGlxDYQ

userId=1493
Loading

0 comments on commit c46a7fc

Please sign in to comment.