Reports: Model creation + Web API
About the model:
- A set of hand-picked experiments
- An author
- A name
- A documentation
- A unique number (see attestations)
- Must lock (not
modifiable()
nordeletable()
) experiments assigned to it - Three possible states: edition, locked, published
- The content of the report is defined using a JSON array (stored in the database), where each entry might represent either a table (which columns + how to sort the experiments + an optional caption) or a figure (whatever is needed to plot it + an optional caption)
Web API:
- creation of a report
- deletion of a report
- retrieval of a report
- retrieval of a list of reports
- locking of a report
- publication of a locked report
- addition of experiments in a report
- removal of experiments from a report
- update of the content of a report
Each endpoint must be tested.