Skip to content

Commit

Permalink
Merge pull request #29 from moleculemaker/generate-api-client
Browse files Browse the repository at this point in the history
Generate FastAPI client / Flag+Unflag a Molecule / Collapse row when View Similar Structures is clicked
  • Loading branch information
bodom0015 authored Feb 19, 2024
2 parents 6153525 + e4f23ad commit 9c284a2
Show file tree
Hide file tree
Showing 48 changed files with 3,955 additions and 121 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
dist/*
.angular/*
node_modules/*
chart/charts/*
.env
Dockerfile
docker-compose.*
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,4 @@ testem.log
# System files
.DS_Store
Thumbs.db
chart/charts/
1 change: 1 addition & 0 deletions openapi/mmli-backend.openapi.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"openapi":"3.0.2","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/{bucket_name}/upload":{"post":{"tags":["Files"],"summary":"Upload File","operationId":"upload_file__bucket_name__upload_post","parameters":[{"required":true,"schema":{"title":"Bucket Name","type":"string"},"name":"bucket_name","in":"path"},{"required":false,"schema":{"title":"Job Id","type":"string","default":""},"name":"job_id","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file__bucket_name__upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{bucket_name}/results/{job_id}":{"get":{"tags":["Files"],"summary":"Get Results","operationId":"get_results__bucket_name__results__job_id__get","parameters":[{"required":true,"schema":{"title":"Bucket Name","type":"string"},"name":"bucket_name","in":"path"},{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Results Bucket Name Results Job Id Get","type":"array","items":{"$ref":"#/components/schemas/Molecule"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{bucket_name}/inputs/{job_id}":{"get":{"tags":["Files"],"summary":"Get Input File","operationId":"get_input_file__bucket_name__inputs__job_id__get","parameters":[{"required":true,"schema":{"title":"Bucket Name","type":"string"},"name":"bucket_name","in":"path"},{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{bucket_name}/errors/{job_id}":{"get":{"tags":["Files"],"summary":"Get Errors","operationId":"get_errors__bucket_name__errors__job_id__get","parameters":[{"required":true,"schema":{"title":"Bucket Name","type":"string"},"name":"bucket_name","in":"path"},{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{bucket_name}/export-results":{"post":{"tags":["Files"],"summary":"Analyze Documents","operationId":"analyze_documents__bucket_name__export_results_post","parameters":[{"required":true,"schema":{"title":"Bucket Name","type":"string"},"name":"bucket_name","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{job_type}/jobs":{"get":{"tags":["Jobs"],"summary":"List Jobs By Type","description":"Get a list of all job runs by type","operationId":"list_jobs_by_type__job_type__jobs_get","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Jobs"],"summary":"Create Job","description":"Create a new run for a new or existing Job","operationId":"create_job__job_type__jobs_post","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{job_type}/jobs/{job_id}":{"get":{"tags":["Jobs"],"summary":"List Jobs By Type And Job Id","description":"Get a list of all job runs by type and job_id","operationId":"list_jobs_by_type_and_job_id__job_type__jobs__job_id__get","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"},{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{job_type}/jobs/{job_id}/{run_id}":{"get":{"tags":["Jobs"],"summary":"Get Job By Type And Job Id And Run Id","description":"Get a single job by type, job_id, and run_id","operationId":"get_job_by_type_and_job_id_and_run_id__job_type__jobs__job_id___run_id__get","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"},{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"},{"required":true,"schema":{"title":"Run Id","type":"string"},"name":"run_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Jobs"],"summary":"Update Existing Job","description":"Overwrite all writeable fields of an existing Job","operationId":"update_existing_job__job_type__jobs__job_id___run_id__put","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete Job By Type And Job Id And Run Id","description":"Delete a single Job by type, job_id, and run_id","operationId":"delete_job_by_type_and_job_id_and_run_id__job_type__jobs__job_id___run_id__delete","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"},{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"},{"required":true,"schema":{"title":"Run Id","type":"string"},"name":"run_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Jobs"],"summary":"Patch Existing Job","description":"Update one or more fields of an existing Job","operationId":"patch_existing_job__job_type__jobs__job_id___run_id__patch","parameters":[{"required":true,"schema":{"title":"Job Type","type":"string"},"name":"job_type","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chemscraper/analyze":{"post":{"tags":["ChemScraper"],"summary":"Analyze Documents","operationId":"analyze_documents_chemscraper_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chemscraper/similarity-sorted-order/{job_id}":{"get":{"summary":"Get Similarity Sorted Order","operationId":"get_similarity_sorted_order_chemscraper_similarity_sorted_order__job_id__get","parameters":[{"required":true,"schema":{"title":"Job Id","type":"string"},"name":"job_id","in":"path"},{"required":true,"schema":{"title":"Smile String","type":"string"},"name":"smile_string","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chemscraper/flag":{"post":{"tags":["ChemScraper"],"summary":"Flag Molecule","operationId":"flag_molecule_chemscraper_flag_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlaggedMolecule"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["ChemScraper"],"summary":"Delete Flagged Molecule","operationId":"delete_flagged_molecule_chemscraper_flag_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlaggedMoleculeDelete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AnalyzeRequestBody":{"title":"AnalyzeRequestBody","required":["jobId","user_email","fileList"],"type":"object","properties":{"jobId":{"title":"Jobid","type":"string"},"user_email":{"title":"User Email","type":"string"},"fileList":{"title":"Filelist","type":"array","items":{"type":"string"}}}},"Body_upload_file__bucket_name__upload_post":{"title":"Body_upload_file__bucket_name__upload_post","required":["file"],"type":"object","properties":{"file":{"title":"File","type":"string","format":"binary"}}},"ExportRequestBody":{"title":"ExportRequestBody","required":["jobId","cdxml","cdxml_filter","cdxml_selected_pages","csv","csv_filter","csv_molecules"],"type":"object","properties":{"jobId":{"title":"Jobid","type":"string"},"cdxml":{"title":"Cdxml","type":"boolean"},"cdxml_filter":{"title":"Cdxml Filter","type":"string"},"cdxml_selected_pages":{"title":"Cdxml Selected Pages","type":"array","items":{"type":"integer"}},"csv":{"title":"Csv","type":"boolean"},"csv_filter":{"title":"Csv Filter","type":"string"},"csv_molecules":{"title":"Csv Molecules","type":"array","items":{"type":"integer"}}}},"FlaggedMolecule":{"title":"FlaggedMolecule","type":"object","properties":{"smile":{"title":"Smile","type":"string"},"job_id":{"title":"Job Id","type":"string"},"doc_id":{"title":"Doc Id","type":"string"},"time_created":{"title":"Time Created","type":"integer"}}},"FlaggedMoleculeDelete":{"title":"FlaggedMoleculeDelete","required":["smile","job_id"],"type":"object","properties":{"smile":{"title":"Smile","type":"string"},"job_id":{"title":"Job Id","type":"string"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"Job":{"title":"Job","type":"object","properties":{"job_info":{"title":"Job Info","type":"string"},"email":{"title":"Email","type":"string"},"job_id":{"title":"Job Id","type":"string"},"run_id":{"title":"Run Id","type":"integer","default":0},"phase":{"allOf":[{"$ref":"#/components/schemas/JobStatus"}],"default":"queued"},"type":{"$ref":"#/components/schemas/JobType"},"image":{"title":"Image","type":"string"},"command":{"title":"Command","type":"string"},"time_created":{"title":"Time Created","type":"integer"},"time_start":{"title":"Time Start","type":"integer","default":0},"time_end":{"title":"Time End","type":"integer","default":0},"deleted":{"title":"Deleted","type":"integer","default":0},"user_agent":{"title":"User Agent","type":"string"}}},"JobCreate":{"title":"JobCreate","type":"object","properties":{"job_info":{"title":"Job Info","type":"string"},"email":{"title":"Email","type":"string"},"job_id":{"title":"Job Id","type":"string"},"run_id":{"title":"Run Id","type":"integer","default":0}}},"JobStatus":{"title":"JobStatus","enum":["queued","processing","completed","error"],"type":"string","description":"An enumeration."},"JobType":{"title":"JobType","enum":["clean","chemscraper","molli"],"type":"string","description":"An enumeration."},"JobUpdate":{"title":"JobUpdate","required":["job_id","run_id"],"type":"object","properties":{"job_id":{"title":"Job Id","type":"string"},"run_id":{"title":"Run Id","type":"integer"},"time_start":{"title":"Time Start","type":"integer"},"time_end":{"title":"Time End","type":"integer"},"job_info":{"title":"Job Info","type":"string"},"email":{"title":"Email","type":"string"},"image":{"title":"Image","type":"string"},"command":{"title":"Command","type":"string"},"phase":{"$ref":"#/components/schemas/JobStatus"}}},"Molecule":{"title":"Molecule","required":["id","flagged","doc_no","file_path","page_no","SMILE","structure","minX","minY","width","height","Location","OtherInstances","fingerprint"],"type":"object","properties":{"id":{"title":"Id","type":"integer"},"flagged":{"title":"Flagged","type":"boolean"},"doc_no":{"title":"Doc No","type":"string"},"file_path":{"title":"File Path","type":"string"},"page_no":{"title":"Page No","type":"string"},"name":{"title":"Name","type":"string","default":"Unavailable"},"SMILE":{"title":"Smile","type":"string"},"structure":{"title":"Structure","type":"string"},"minX":{"title":"Minx","type":"number"},"minY":{"title":"Miny","type":"number"},"width":{"title":"Width","type":"number"},"height":{"title":"Height","type":"number"},"PubChemCID":{"title":"Pubchemcid","type":"string","default":"Unavailable"},"molecularFormula":{"title":"Molecularformula","type":"string","default":"Unavailable"},"molecularWeight":{"title":"Molecularweight","type":"string","default":"Unavailable"},"chemicalSafety":{"title":"Chemicalsafety","type":"array","items":{"type":"string"},"default":[]},"Description":{"title":"Description","type":"string","default":"Unavailable"},"Location":{"title":"Location","type":"string"},"OtherInstances":{"title":"Otherinstances","type":"array","items":{"type":"string"}},"fingerprint":{"title":"Fingerprint","type":"string"}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}}}
7 changes: 7 additions & 0 deletions openapitools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "6.6.0"
}
}
Loading

0 comments on commit 9c284a2

Please sign in to comment.