ebi-ait / checklist

Template repository for checklists
Apache License 2.0
1 stars 0 forks source link

enable validation in BioSamples #45

Open amnonkhen opened 1 week ago

amnonkhen commented 1 week ago

ENA needs to send BioSamples a request to accession the sample as well as validate it. If it is implemented, communicate to ENA team how to do it, if not, implement it and communicate to ENA.

DOD:

amnonkhen commented 1 week ago
sequenceDiagram
    participant Client
    participant ENA
    participant BioSamples
    participant schema_store
    participant mongoDB

    Client->>ENA: submit XML doc
    ENA->>ENA: fix document
    ENA->>ENA: convert to json in BioSamples format
    note over ENA: by FAIRification team
    par new flow: validation in BioSamples 
        note over ENA: ENA calls biosamples the <br> same way as currently <br> through bulk submission endpoint
        note over BioSamples: [task] BioSamples send<br> doc to validation
        ENA->>BioSamples: send for validation & accessioning
        note over BioSamples: endpoint in BulkActionControllerV2 `/bulk-submit` <br> (now validates superuser submissions)
        loop for all samples in the submission
            BioSamples ->> schema_store: get schema by id
            schema_store ->> mongoDB: fetch from DB
            BioSamples ->> biovalidator: validate doc using schema
        end
        alt if no validation errors 
            BioSamples ->> mongoDB: persist samples
        end
        note over BioSamples: [task] build output
        BioSamples ->> BioSamples: build output with <br>validation results 
        BioSamples -->> ENA: validation results    
    end
    ENA->>ENA: build receipt
    ENA->>ENA: save in db
    ENA-->>Client: acknowledgement
theisuru commented 1 day ago

Some changes are in a draft pull request. Need to speak with @dipayan1985 about APIs ENA is using. I assume they are only using Bulk submission endpoint. If ENA also using POST, PUT v2 endpoints, these changes should also be done there. EBIBioSamples/biosamples-v4#714

theisuru commented 23 minutes ago