Skip to content

Commit 2ffc494

Browse files
feat(model-ad): migrate model-ad comparison tools endpoints to java springboot server (MG-496) (Sage-Bionetworks#3667)
Co-authored-by: tschaffter <[email protected]>
1 parent 4ed33b4 commit 2ffc494

File tree

96 files changed

+10781
-13
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+10781
-13
lines changed

.devcontainer/devcontainer.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
},
1717
"features": {},
1818
"forwardPorts": [
19-
2000, 2432, 3333, 4200, 4211, 5200, 5601, 8010, 8071, 8000, 8080, 8082, 8084, 8085, 8086, 8087,
20-
8091, 8100, 8111, 8112, 8113, 8114, 8115, 8116, 8400, 8401, 8402, 8403, 8404, 8405, 8406, 8200,
21-
8500, 8501, 8502, 8503, 8504, 8505, 8506, 8507, 8508, 8509, 8510, 8511, 8887, 8888, 8889, 9200,
22-
21000, 27017
19+
2000, 2432, 3333, 3334, 4200, 4211, 5200, 5601, 8010, 8071, 8000, 8080, 8082, 8084, 8085, 8086,
20+
8087, 8091, 8100, 8111, 8112, 8113, 8114, 8115, 8116, 8400, 8401, 8402, 8403, 8404, 8405, 8406,
21+
8200, 8500, 8501, 8502, 8503, 8504, 8505, 8506, 8507, 8508, 8509, 8510, 8511, 8887, 8888, 8889,
22+
9200, 21000, 27017
2323
],
2424
"portsAttributes": {
2525
"2000": {
@@ -34,6 +34,10 @@
3434
"label": "agora-api",
3535
"onAutoForward": "silent"
3636
},
37+
"3334": {
38+
"label": "model-ad-api-next",
39+
"onAutoForward": "silent"
40+
},
3741
"4200": {
3842
"label": "openchallenges-app",
3943
"onAutoForward": "silent"

apps/model-ad/apex/.env.example

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@ API_DOCS_PORT=8010
33
API_HOST=model-ad-api
44
API_PORT=3333
55
APP_HOST=model-ad-app
6-
APP_PORT=4200
6+
APP_PORT=4200
7+
API_NEXT_HOST=model-ad-api-next
8+
API_NEXT_PORT=3334

apps/model-ad/apex/Caddyfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@
33
reverse_proxy {env.API_DOCS_HOST}:{env.API_DOCS_PORT}
44
}
55

6-
# Serve the API, stripping the /api prefix
6+
# Route /api/v1/comparison-tools to the next api, stripping /api
7+
handle /api/v1/comparison-tools/* {
8+
uri strip_prefix /api
9+
reverse_proxy {env.API_NEXT_HOST}:{env.API_NEXT_PORT}
10+
}
11+
12+
# Route all other /api/* requests to the default API service, stripping /api
713
handle_path /api/* {
814
reverse_proxy {env.API_HOST}:{env.API_PORT}
915
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
SERVER_PORT="3334"
2+
MODEL_AD_MONGO_HOST="model-ad-mongo"
3+
MODEL_AD_MONGO_PORT="27017"
4+
MODEL_AD_MONGO_DATABASE="model-ad"
5+
MODEL_AD_MONGO_USERNAME="root"
6+
MODEL_AD_MONGO_PASSWORD="changeme"
7+
MODEL_AD_MONGO_AUTH_DB="admin"

apps/model-ad/api-next/.gitignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
.gradle
2+
bin/
3+
lib/*.jar
4+
maven-legacy/
5+
tmp/
6+
log/
7+
8+
HELP.md
9+
target/
10+
!**/src/main/**/target/
11+
!**/src/test/**/target/
12+
13+
### STS ###
14+
.apt_generated
15+
.classpath
16+
.factorypath
17+
.project
18+
.settings
19+
.springBeans
20+
.sts4-cache
21+
22+
### IntelliJ IDEA ###
23+
.idea
24+
*.iws
25+
*.iml
26+
*.ipr
27+
28+
### NetBeans ###
29+
/nbproject/private/
30+
/nbbuild/
31+
/dist/
32+
/nbdist/
33+
/.nb-gradle/
34+
build/
35+
!**/src/main/**/build/
36+
!**/src/test/**/build/
37+
38+
### VS Code ###
39+
.vscode/
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
#ApiClient.cs
10+
11+
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
12+
#foo/*/qux
13+
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14+
15+
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16+
#foo/**/qux
17+
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18+
19+
# You can also negate patterns with an exclamation (!).
20+
# For example, you can ignore all files in a docs folder with the file extension .md:
21+
#docs/*.md
22+
# Then explicitly reverse the ignore rule for a single file:
23+
#!docs/README.md
24+
pom.xml
25+
# README.md
26+
**/application.properties
27+
**/OpenApiGeneratorApplication.java
28+
**/OpenApiGeneratorApplicationTests.java
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
README.md
2+
src/main/java/org/sagebionetworks/model/ad/api/next/RFC3339DateFormat.java
3+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ApiUtil.java
4+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ComparisonToolConfigApi.java
5+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ComparisonToolConfigApiController.java
6+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ComparisonToolConfigApiDelegate.java
7+
src/main/java/org/sagebionetworks/model/ad/api/next/api/DataVersionApi.java
8+
src/main/java/org/sagebionetworks/model/ad/api/next/api/DataVersionApiController.java
9+
src/main/java/org/sagebionetworks/model/ad/api/next/api/DataVersionApiDelegate.java
10+
src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApi.java
11+
src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApiController.java
12+
src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApiDelegate.java
13+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelApi.java
14+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelApiController.java
15+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelApiDelegate.java
16+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelOverviewApi.java
17+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelOverviewApiController.java
18+
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelOverviewApiDelegate.java
19+
src/main/java/org/sagebionetworks/model/ad/api/next/configuration/EnumConverterConfiguration.java
20+
src/main/java/org/sagebionetworks/model/ad/api/next/configuration/HomeController.java
21+
src/main/java/org/sagebionetworks/model/ad/api/next/configuration/SpringDocConfiguration.java
22+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/BasicErrorDto.java
23+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ComparisonToolConfigColumnDto.java
24+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ComparisonToolConfigDto.java
25+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ComparisonToolConfigFilterDto.java
26+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ComparisonToolPageDto.java
27+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/CorrelationResultDto.java
28+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/DataVersionDto.java
29+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/DiseaseCorrelationDto.java
30+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/GeneticInfoDto.java
31+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/IndividualDataDto.java
32+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ItemFilterTypeQueryDto.java
33+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelDataDto.java
34+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelDto.java
35+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelOverviewDto.java
36+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelOverviewLinkDto.java
37+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/SearchResultDto.java
38+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/SexDto.java
39+
src/main/resources/openapi.yaml
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.14.0

apps/model-ad/api-next/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FROM ghcr.io/sage-bionetworks/model-ad-api-next-base:local

apps/model-ad/api-next/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# OpenAPI generated server
2+
3+
Spring Boot Server
4+
5+
## Overview
6+
7+
This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
8+
By using the [OpenAPI-Spec](https://openapis.org), you can easily generate a server stub.
9+
This is an example of building a OpenAPI-enabled server in Java using the SpringBoot framework.
10+
11+
The underlying library integrating OpenAPI to Spring Boot is [springdoc](https://springdoc.org).
12+
Springdoc will generate an OpenAPI v3 specification based on the generated Controller and Model classes.
13+
The specification is available to download using the following url:
14+
http://localhost:8080/v3/api-docs/
15+
16+
Start your server as a simple java application
17+
18+
You can view the api documentation in swagger-ui by pointing to
19+
http://localhost:8080/swagger-ui.html
20+
21+
Change default port value in application.properties

0 commit comments

Comments
 (0)