From 299f803a4077f97ce8cf77a666b9a3607b9e6e4c Mon Sep 17 00:00:00 2001 From: Bryan Brancotte <bryan.brancotte@pasteur.fr> Date: Mon, 30 Oct 2023 15:47:21 +0100 Subject: [PATCH] transmit dataTable name to fetch phenotypes --- client/pages/phenotypes.vue | 6 +++++- jass/models/phenotype.py | 17 +++++++++++++++-- jass/server.py | 6 +++--- jass/test/data_real/initTableTest1.hdf5 | Bin 0 -> 693544 bytes test_docker_compose.sh | 24 ++++++++++++++++++++++++ 5 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 jass/test/data_real/initTableTest1.hdf5 diff --git a/client/pages/phenotypes.vue b/client/pages/phenotypes.vue index fbf13833..26a2fa99 100644 --- a/client/pages/phenotypes.vue +++ b/client/pages/phenotypes.vue @@ -45,7 +45,11 @@ Please select the traits you want to analyze jointly with the Omnibus test. A re <script> export default { async asyncData({ $axios, params, $auth }) { - const phenotypes = await $axios.$get('/phenotypes') + const data = { + initTableName: "initTable.hdf5" + // initTableName: "initTableTest.hdf5" + }; + const phenotypes = await $axios.$post('/phenotypes', data) return { phenotypes, } diff --git a/jass/models/phenotype.py b/jass/models/phenotype.py index 885cf054..c99b7d4b 100644 --- a/jass/models/phenotype.py +++ b/jass/models/phenotype.py @@ -1,8 +1,9 @@ # coding: utf-8 -from typing import List +from typing import List, Optional import pandas -from pydantic import BaseModel +import re +from pydantic import BaseModel, validator class Phenotype(BaseModel): @@ -72,5 +73,17 @@ def get_available_phenotypes(init_file_path: str): return phenotypes +_initTableNamePattern = re.compile("^([A-Z]*[a-z]*-*\.?[0-9]*)+$") + + +class ProjectNameModel(BaseModel): + initTableName: Optional[str] = "initTable.hdf5" + + @validator("initTableName") + def validate_path_injection(cls, value): + if not _initTableNamePattern.match(value): + raise ValueError(f"Prohibited char, only \"{_initTableNamePattern.pattern}\" allowed.") + return value + class PhenotypeIdList(BaseModel): phenotypeID: List[str] = [] diff --git a/jass/server.py b/jass/server.py index 2912409e..aaa029cc 100644 --- a/jass/server.py +++ b/jass/server.py @@ -52,10 +52,10 @@ async def read_index(): return RedirectResponse(url="/webui/") -@app.get("/api/phenotypes", response_model=List[Phenotype]) -def phenotypes_list(): +@app.post("/api/phenotypes", response_model=List[Phenotype]) +def phenotypes_list(project_name: ProjectNameModel): """List phenotypes""" - return get_available_phenotypes(os.path.join(config["DATA_DIR"], "initTable.hdf5")) + return get_available_phenotypes(os.path.join(config["DATA_DIR"], project_name.initTableName)) @app.get("/api/initmeta") def inittable_meta(): diff --git a/jass/test/data_real/initTableTest1.hdf5 b/jass/test/data_real/initTableTest1.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..d49423695dca6a4ffa014e0aaf0ec45f02ffb68c GIT binary patch literal 693544 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 RMsop)xuC*u!<?Ti)&QSzOv3;G literal 0 HcmV?d00001 diff --git a/test_docker_compose.sh b/test_docker_compose.sh index 63e88f45..b524ce65 100755 --- a/test_docker_compose.sh +++ b/test_docker_compose.sh @@ -25,6 +25,30 @@ curl -I http://0.0.0.0:3001/phenotypes/ \ if [ "$(cat log/02-*.log | grep "200 OK" | wc -l)" == "0" ]; then exit 02; fi +echo "Test fetching phenotypes through API" +curl --location --request POST http://0.0.0.0:8080/api/phenotypes/ \ +--header 'Content-Type: application/json' \ +--data-raw '{"initTableName":"initTableTest1.hdf5"}' \ + -o log/11-post-phenotypes.json \ + 1> log/11-post-phenotypes.log \ + 2> log/11-post-phenotypes.err + +if [ "$(cat log/11-*.json | grep "Internal Server Error" | wc -l)" == "1" ]; then exit 11; fi + + +echo "Test fetching phenotypes through API" +curl --location --request POST http://0.0.0.0:8080/api/phenotypes/ \ +--header 'Content-Type: application/json' \ +--data-raw '{"initTableName":"initTable.hdf5"}' \ + -o log/12-post-phenotypes.json \ + 1> log/12-post-phenotypes.log \ + 2> log/12-post-phenotypes.err + +if [ "$(cat log/12-*.json | grep "Internal Server Error" | wc -l)" == "1" ]; then exit 12; fi + +if [ "$(cat log/11-*.json)" == "$(cat log/12-*.json)" ]; then echo "should not be equal"; exit 12; fi + + echo "Testing project creation" curl --location --request POST 'http://0.0.0.0:8080/api/projects' \ --header 'Accept: text/html' \ -- GitLab