Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
568a6ac
handling fasta files with biopython
desafinadude Dec 6, 2025
72b8202
pandas
desafinadude Dec 6, 2025
834039a
Merge pull request #201 from OpenUpSA/pandas
desafinadude Dec 8, 2025
a613f5a
Merge branch 'staging' into biopython
desafinadude Dec 8, 2025
ea2b437
Update worker.py
desafinadude Dec 8, 2025
e741982
Update helpers.py
desafinadude Dec 8, 2025
6263000
Merge pull request #202 from OpenUpSA/biopython
desafinadude Dec 8, 2025
f5503a0
Show project membership inheriting from org roles
michaelglenister Dec 8, 2025
3defa61
Merge pull request #205 from OpenUpSA/michael-dev-5
michaelglenister Dec 9, 2025
f5beb4e
wip
desafinadude Dec 9, 2025
47a4f0c
Return user info
michaelglenister Dec 9, 2025
02177cd
bulk indexing.
desafinadude Dec 9, 2025
b61f42a
Merge pull request #206 from OpenUpSA/michael-dev-5
michaelglenister Dec 9, 2025
0136a3d
Merge pull request #207 from OpenUpSA/elastic-bottleneck
desafinadude Dec 9, 2025
84c4987
flatten isolate data
desafinadude Dec 9, 2025
e09026c
update ci to use buld_send_to_elastic
desafinadude Dec 9, 2025
061527d
Merge pull request #208 from OpenUpSA/elastic-bottleneck
desafinadude Dec 9, 2025
43d05d8
UI tweaks to email templates
michaelglenister Dec 9, 2025
ca14c66
save parent_file_id
desafinadude Dec 9, 2025
45c4ea5
Merge pull request #209 from OpenUpSA/michael-dev-5
michaelglenister Dec 9, 2025
7feefb0
Merge pull request #210 from OpenUpSA/overwrite
desafinadude Dec 9, 2025
59ec979
Event log - submission overwrite
michaelglenister Dec 9, 2025
615bbf9
Refrsh access toke
michaelglenister Dec 9, 2025
da7d567
avoid orphaned sequence files
desafinadude Dec 10, 2025
52faaa0
Merge pull request #212 from OpenUpSA/clean-up-before-validate
desafinadude Dec 10, 2025
36ce4e2
tests for search & reindex api
cyber237 Dec 10, 2025
5915dba
Log project_overwrite
michaelglenister Dec 10, 2025
8b1099b
Merge pull request #211 from OpenUpSA/michael-dev-5
michaelglenister Dec 10, 2025
9d2c295
Document log types
michaelglenister Dec 10, 2025
26552ff
Merge pull request #214 from OpenUpSA/michael-dev-5
michaelglenister Dec 10, 2025
926ecd5
Enhance SQL queries to include project visibility and names for isola…
desafinadude Dec 10, 2025
28468df
Merge pull request #213 from OpenUpSA/tests/search
desafinadude Dec 10, 2025
82f0d26
Fix SQL joins in project submission endpoints to correctly reference …
desafinadude Dec 10, 2025
85a17ed
Merge pull request #216 from OpenUpSA/isoalte-rbac-fix
desafinadude Dec 10, 2025
397c58a
Refactor bulk_send_to_elastic function and enhance SQL query to inclu…
desafinadude Dec 10, 2025
9fdae92
Merge branch 'staging' into isoalte-rbac-fix
cyber237 Dec 10, 2025
d532eed
unskip search rbac external user test
cyber237 Dec 10, 2025
cf492e4
Refactor TSV to JSON conversion to replace NaN with None for valid Po…
desafinadude Dec 10, 2025
42bca7a
Merge pull request #218 from OpenUpSA/pandas-fix
desafinadude Dec 10, 2025
b34952c
Merge pull request #217 from OpenUpSA/isoalte-rbac-fix
desafinadude Dec 10, 2025
2366268
Refactor TSV to JSON conversion for improved readability and error ha…
desafinadude Dec 10, 2025
24ea18d
Merge pull request #219 from OpenUpSA/cleaning-debugs
desafinadude Dec 10, 2025
430d8f9
Endpoint to get user id from email
michaelglenister Dec 10, 2025
e1dc0b4
elastic debugging
desafinadude Dec 10, 2025
a369a35
Merge pull request #221 from OpenUpSA/log-in-fix
michaelglenister Dec 10, 2025
0b32cfc
Merge pull request #222 from OpenUpSA/elastic-debugging
desafinadude Dec 10, 2025
dac2258
tsv_to_json update
desafinadude Dec 10, 2025
2e244bb
Merge pull request #223 from OpenUpSA/elastic-debugging
desafinadude Dec 10, 2025
41911b9
Dealing with Nones
desafinadude Dec 10, 2025
66b466e
Merge pull request #224 from OpenUpSA/elastic-debugging
desafinadude Dec 10, 2025
5374546
string Nans
desafinadude Dec 10, 2025
ddb7b15
Merge pull request #225 from OpenUpSA/elastic-debugging
desafinadude Dec 10, 2025
67f3ab0
NaN error
desafinadude Dec 10, 2025
4db3261
Merge pull request #226 from OpenUpSA/elastic-debugging
desafinadude Dec 10, 2025
d159389
nones
desafinadude Dec 10, 2025
26d955f
Merge pull request #227 from OpenUpSA/elastic-debugging
desafinadude Dec 10, 2025
f4ab01c
Remove parent_file_id from print statement and database insert query …
desafinadude Dec 11, 2025
f992062
Merge pull request #228 from OpenUpSA/split-fix
desafinadude Dec 11, 2025
374b631
Enhance file upload functionality: add duplicate file check and impro…
desafinadude Dec 11, 2025
57bf347
Merge pull request #229 from OpenUpSA/upload-duplicate-check
desafinadude Dec 11, 2025
b6c0e2f
Left align email buttons
michaelglenister Dec 11, 2025
b7972ef
Merge pull request #230 from OpenUpSA/michael-dev-6
michaelglenister Dec 11, 2025
d3a437a
Add debug print statements to log incoming JSON data in Search resource
desafinadude Dec 11, 2025
c9a15fb
Merge pull request #231 from OpenUpSA/search-debug
desafinadude Dec 11, 2025
96e4b48
search filter
desafinadude Dec 11, 2025
5ea544a
Merge pull request #232 from OpenUpSA/search-debug
desafinadude Dec 11, 2025
8993a5c
delete from elastic fix
desafinadude Dec 11, 2025
9b254e3
Merge pull request #233 from OpenUpSA/search-debug
desafinadude Dec 11, 2025
4c26d3a
delete isolate
desafinadude Dec 11, 2025
4c08091
Merge pull request #234 from OpenUpSA/search-debug
desafinadude Dec 11, 2025
9120344
docs update
desafinadude Dec 12, 2025
2dc9033
updated diagram
desafinadude Dec 12, 2025
faffe11
refactor: update project visibility handling in Project resource
desafinadude Dec 12, 2025
980bf45
witht the helpers file
desafinadude Dec 12, 2025
0daa361
Merge pull request #236 from OpenUpSA/reindex-on-project-policy-change
desafinadude Dec 12, 2025
7425516
Hard delete users
michaelglenister Dec 12, 2025
7b7fcbb
Hard delete users
michaelglenister Dec 12, 2025
2837303
Merge pull request #237 from OpenUpSA/michael-dev-6
michaelglenister Dec 12, 2025
f6ac827
feat: add debug print statements for user project IDs and access filt…
desafinadude Dec 12, 2025
5c93b2a
Merge pull request #238 from OpenUpSA/reindex-on-project-policy-change
desafinadude Dec 12, 2025
3b21dce
wip: fix search api tests
cyber237 Dec 12, 2025
1a91a7f
remove send_to_elastic2
desafinadude Dec 12, 2025
9c59e1a
Merge pull request #239 from OpenUpSA/remove-send_to_elastic2
desafinadude Dec 12, 2025
a5509ca
api-docs
desafinadude Dec 12, 2025
2b48838
feat: add response example for health check endpoint
desafinadude Dec 12, 2025
a3336db
Merge branch 'staging' into fix/broken-tests
cyber237 Dec 12, 2025
bc17c80
rm send_to_elastic2 from tests
cyber237 Dec 12, 2025
f0047c4
all info endpoints documents
desafinadude Dec 12, 2025
7cfc3e5
feat: enhance API documentation with detailed descriptions for health…
desafinadude Dec 12, 2025
70331ab
Merge pull request #241 from OpenUpSA/api-docs
desafinadude Dec 12, 2025
a18d103
add semi-private to project privacy check
cyber237 Dec 12, 2025
0b59724
wip: fix search api tests
cyber237 Dec 12, 2025
9ffe602
Updated init.sql to final schema
desafinadude Dec 14, 2025
17f1b2d
update init.sql
desafinadude Dec 14, 2025
bffa8c5
Merge pull request #242 from OpenUpSA/fix/broken-tests
desafinadude Dec 14, 2025
ce54a8c
removed .keyword from filters
desafinadude Dec 14, 2025
ec94d97
Merge pull request #243 from OpenUpSA/filter-fix
desafinadude Dec 14, 2025
cc1f739
turn on all skipped tests
cyber237 Dec 14, 2025
bb6f02c
refactor: streamline token retrieval for project contributors in semi…
desafinadude Dec 14, 2025
44944f4
Fix for test_public_project_external_user_has_implicit_viewer_role
desafinadude Dec 15, 2025
42855aa
feat: enhance project submissions visibility based on user roles
desafinadude Dec 15, 2025
bf8564b
Fix for: test_submissions_rbac.py::test_viewer_cannot_see_drafts
desafinadude Dec 15, 2025
b7f2946
fix for: test_contributor_cannot_unpublish_other_submission and test_…
desafinadude Dec 15, 2025
056e60b
Disabled search test
desafinadude Dec 15, 2025
7c9c207
Merge pull request #244 from OpenUpSA/fix/broken-tests
desafinadude Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Agari-Genomics-Platform.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 16 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@

# Agari-Folio

Agari-Folio adds Agari features to Overture Genomics Data stack, providing robust project management and granular role-based access control for genomics data workflows.
Agari-Folio is the heart of the Agari Genomics Data stack and provides robust pathogen, schema, organisation, project and submission management and API endpoints with granular role-based access control.

![Overture Genomics Data Stack](overture-stack.svg)
![Agari Genomics platform](./Agari-Genomics-Platform.png)

## Features

- Pathogen and schema management
- Organization management
- Project and study management
- Submission and file management
- Search enpoints
- Fine-grained permissions and roles
- Organization and user management
- RESTful API with JWT authentication
- Integration with Keycloak for identity management
- Proxy for Overture services (SONG and SCORE)

## API Documentation

Expand All @@ -25,9 +27,6 @@ http://<your-host>:<port>/docs

Replace `<your-host>` and `<port>` with your deployment details.

## Proxy for Overture Services SONG and SCORE

This service also acts as a proxy for the Overture services SONG and SCORE, facilitating secure and authenticated access to these services through Agari-Folio's permission system.

## Development

Expand All @@ -39,8 +38,6 @@ Install python dependencies:
pip install -U --upgrade-strategy=eager -r requirements.txt
```

Install [mjml](https://documentation.mjml.io/#installation)

Configure environment variables for accessing backing services (see settings.py)

Run folio
Expand All @@ -49,6 +46,16 @@ Run folio
python app.py
```

## Event logging

The even log endpoint can return logs of the following types

- project_created, project_deleted, project_privacy, project_overwrite
- user_added, user_invited, user_accepted, project_user_deleted
- org_user_added, org_user_invited, org_user_accepted
- submission_created, file_uploaded, submission_validated, submission_published, submission_unpublished
- data_download

## Tests

```
Expand Down
Loading