spiff-arena/spiffworkflow-backend
jasquat 796dc9dbec Feature/extensions api (#423)
* added api and test to run a process model and return task data synchronously w/ burnettk

* added test to make sure we can access db models from extensions api w/ burnettk

* added extensions api to elevated permissions

* fixed permission tests

* do not add extensions permission to all permission for a pg or pm w/ burnettk

* added configs for extensions api w/ burnettk

* added the basis for an extensions list api w/ burnettk

* added tests for extenstions api and do not use serialized as a property

* allow giving a body to an extension when running and some support in frontend to use extensions

* added ability to display markdown and rjsf on extensions page

* added ability to submit the extension form and display the resulting task data

* made frontend extension urls have 2 pieces of information so we can specify multiple routes for the same process-model w/ burnettk

* do not save process instances when running extensions w/ burnettk

* add extension input to a task not the process w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-08-02 14:02:53 +05:30
..
.github use poetry 1.3.2 2023-03-06 14:41:03 -05:00
bin return the process instance early from the interstitial if it is susp… (#407) 2023-07-25 22:57:53 +05:30
keycloak clean up 2023-05-26 12:40:47 -04:00
local_wheels spiff-element-units integration (#214) 2023-04-17 14:49:38 -04:00
log
migrations Revert "Feature/event payloads (#393)" 2023-07-19 11:44:06 -04:00
src/spiffworkflow_backend Feature/extensions api (#423) 2023-08-02 14:02:53 +05:30
tests Feature/extensions api (#423) 2023-08-02 14:02:53 +05:30
.cookiecutter.json
.darglint
.flake8 pyl and turn back on autoreload for homepage w/ burnettk 2023-04-13 16:56:49 -04:00
.gitattributes
.gitignore spiff-element-units integration (#214) 2023-04-17 14:49:38 -04:00
.pre-commit-config.yaml drop python 3.9 and remove unused libs 2023-05-27 18:17:51 -04:00
.readthedocs.yml
.snyk Bump flask for safety (#304) 2023-06-06 17:33:48 -07:00
.tool-versions
CODE_OF_CONDUCT.rst
CONTRIBUTING.rst drop python 3.9 and remove unused libs 2023-05-27 18:17:51 -04:00
Dockerfile use mysqlclient instead of mysql-connect w/ burnettk (#358) 2023-07-12 19:44:49 +05:30
LICENSE.rst
README.rst drop python 3.9 and remove unused libs 2023-05-27 18:17:51 -04:00
codecov.yml
conftest.py enable flake8-bandit, cut off all http requests at 15 seconds to avoid hanging process, ignore xml lib spiff uses 2023-05-30 19:53:26 -04:00
docker-compose.yml use mysqlclient instead of mysql-connect w/ burnettk (#358) 2023-07-12 19:44:49 +05:30
noxfile.py remove backend docs dir (#325) 2023-06-12 09:28:58 -07:00
poetry.lock return the process instance when interstitial process is complete and… (#421) 2023-07-28 20:34:39 +05:30
pyproject.toml return the process instance early from the interstitial if it is susp… (#407) 2023-07-25 22:57:53 +05:30
sonar-project.properties drop python 3.9 and remove unused libs 2023-05-27 18:17:51 -04:00
wsgi.py let ruff sort imports and ditch duplicative pre-commit linters 2023-05-26 20:01:08 -04:00

README.rst

Spiffworkflow Backend
==========
|Tests| |Codecov| |pre-commit| |Black|

.. |Tests| image:: https://github.com/sartography/spiffworkflow-backend/workflows/Tests/badge.svg
   :target: https://github.com/sartography/spiffworkflow-backend/actions?workflow=Tests
   :alt: Tests
.. |Codecov| image:: https://codecov.io/gh/sartography/spiffworkflow-backend/branch/main/graph/badge.svg
   :target: https://codecov.io/gh/sartography/spiffworkflow-backend
   :alt: Codecov
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
   :target: https://github.com/pre-commit/pre-commit
   :alt: pre-commit
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black
   :alt: Black



Features
--------

* Backend API portion of the spiffworkflow engine webapp


Running Locally
---------------

* Install libraries using poetry:

.. code:: console

   $ poetry install

* Setup the database - uses mysql and assumes server is running by default:

.. code:: console

   $ ./bin/recreate_db clean

* Run the server:

.. code:: console

   $ ./bin/run_server_locally


Requirements
------------

* Python 3.10+
* Poetry


Contributing
------------

Contributions are very welcome.
To learn more, see the `Contributor Guide`_.


License
-------

Distributed under the terms of the `MIT license`_,
*Spiffworkflow Backend* is free and open source software.


Issues
------

If you encounter any problems,
please `file an issue`_ along with a detailed description.


Credits
-------

This project was generated from `@cjolowicz`_'s `Hypermodern Python Cookiecutter`_ template.

.. _@cjolowicz: https://github.com/cjolowicz
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _MIT license: https://opensource.org/licenses/MIT
.. _PyPI: https://pypi.org/
.. _Hypermodern Python Cookiecutter: https://github.com/cjolowicz/cookiecutter-hypermodern-python
.. _file an issue: https://github.com/sartography/spiffworkflow-backend/issues
.. _pip: https://pip.pypa.io/
.. github-only
.. _Contributor Guide: CONTRIBUTING.rst
.. _Usage: https://spiffworkflow-backend.readthedocs.io/en/latest/usage.html