[Feature] Server pagination implementation (#243)

## Major Changes
- Implement a REST style API app in epapi
- Currently implements a GET method for all entity types in the browse menu (both package level and global)
- Provides paginated results per default with query style filtering for reviewed vs unreviewed.
- Provides new paginated templates with thin wrappers per entity types for easier maintainability
- Implements e2e tests for the API

## Minor changes
- Added more comprehensive gitignore to cover coverage reports and other test/node.js etc. data.
- Add additional CI file for API tests that only gets triggered on API relevant changes.

## ⚠️ Currently only works with session-based authentication. Token based will be added in new PR.

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Co-authored-by: jebus <lorsbach@envipath.com>
Reviewed-on: enviPath/enviPy#243
Co-authored-by: Tobias O <tobias.olenyi@envipath.com>
Co-committed-by: Tobias O <tobias.olenyi@envipath.com>
This commit is contained in:
2025-12-15 11:34:53 +13:00
committed by jebus
parent d2d475b990
commit 8adb93012a
59 changed files with 3101 additions and 620 deletions

View File

@ -0,0 +1,33 @@
{% extends "collections/paginated_base.html" %}
{% block page_title %}Rules{% endblock %}
{% block action_button %}
{% if meta.can_edit %}
<button
type="button"
class="btn btn-primary btn-sm"
onclick="document.getElementById('new_rule_modal').showModal(); return false;"
>
New Rule
</button>
{% endif %}
{% endblock action_button %}
{% block action_modals %}
{% include "modals/collections/new_rule_modal.html" %}
{% endblock action_modals %}
{% block description %}
<p>
A rule describes a biotransformation reaction template that is defined as
SMIRKS.
</p>
<a
target="_blank"
href="https://wiki.envipath.org/index.php/Rules"
class="link link-primary"
>
Learn more &gt;&gt;
</a>
{% endblock description %}