burnettk dbf6b7ae5a Squashed 'spiffworkflow-backend/' changes from c1ecc9035..ecbe97049
ecbe97049 comment out test not working in CI
942c18fa3 indicate main explicitly for ci
3cd57a1c8 pyl w/ burnettk
5b2917a59 update staging configs to allow env var overrides w/ burnettk
7645a5f8d need to set upstream when git pushing w/ burnettk
0413f3cdf added secret verification to webhook endpoint w/ burnettk
e7576d7ee fixed broken test w/ burnettk
bf507f8fc fixed mypy issue w/ burnettk
7c6e5c306 Merge branch 'main' of github.com:sartography/spiff-arena
87c986df0 cleaned up the git service and expanded the api git hook w/ burnettk
c7322f3c8 Sort primary file to top of files list (#71)
089d7d5e2 note
aa6fe8286 add skeleton of endpoint to receive github webhooks
7b9e99ad9 some reorder w/ burnettk cullerton
2081532f4 mypy w/ burnettk cullerton
ade7a41e7 added git creds for pushing on publish w/ burnettk cullerton
832d7c5c2 merged in main and resolved conflicts w/ burnettk cullerton
236e0e4ae favor os.path.join over hardcoding slash w/ burnettk
4ce7d6732 pyl passes
b525e3523 added new notification component that allows links based on carbons w/ burnettk cullerton
1e9b2e9ab Return URL where they can view changes and open PR
c8e8dae95 Clone into unique directory so we don't step on a previous publish that hasn't finished.
c5e7e9153 make process metadata saving more resilient
dbaa2c37c added frontend url as post redirect url in keycloak w/ burnettk
348595c19 syntax fix w/ burnettk
bbcfd5213 remove staging py config file in favor of terraform configs w/ burnettk
b150a8a69 moved some configs from deploy scripts to terraform env config w/ burnettk
acf641962 rename terraform configs from rb to py w/ burnettk
862937525 Add comment about the new environment variable
655e01a48 Merge branch 'main' into feature/create_containers
f580cadb2 Merge branch 'main' into feature/git-integration
e241ed5cd updated terraform permissions to match development better w/ burnettk
d102a4c84 Merging this unfinished test so I don't lose it. It doesn't test anything yet. Need to deal w/ a bunch of mock stuff
b5aecb072 Merge pull request #69 from sartography/feature/api_permission_cleanup
a0f351d16 Merge pull request #65 from sartography/new_report
88ad3b99a typing
da082e369 Merge branch 'main' into feature/git-integration
a1fe0193d First pass at git integration
1e029f427 break process instance log list page into two tabs, simple and detailed
11b994a81 Merge remote-tracking branch 'origin/main' into feature/api_permission_cleanup
b1199530d update cors handling to make it more efficient
ed6a4d8c9 more api cleanup w/ burnettk
b19825e17 cleaned up more api routes for permissions w/ burnettk
4b5f5d369 updated tasks endpoint to task-data for easier permission setting w/ burnettk
460cfb4e4 pyl w/ burnettk
85509c3d4 fixing an untyped method.
a7eeaa6d9 running py_pl -- mainly reordering imports.
c9e3e8d31 Merge remote-tracking branch 'origin/main' into feature/create_containers
786785693 Setting things up so it's easy to switch databases using a local configuration file (still works with environment variables) Swtiched from a "joinedload" to a "selectinload" which removes a problem with groupby columns in Postgres and sqlite. (https://docs.sqlalchemy.org/en/14/orm/loading_relationships.html#selectin-eager-loading)
f3760380e added support to order reports by given column and metadata headers w/ burnettk
0425293fd Fixes based off KB's super kind review. ------- * Remove unnecessary packages from dockerfile for the demo-connect proxy. * Rename an environment variable that mentioned Status.im in what is now a generic connector. * Fixed a spelling mistake.
bee4ea107 bump nox stuff and spiff
d7ff963da test for automatic saving of process instance metadata on instance save
fe7c4c923 remove dup test process model
eb2f64518 add order_by to make this query deterministic
9b2a40c87 lint
ceec518c9 add extraction, needs test
9af4cf3f3 fix tests
452c64cbf Merge remote-tracking branch 'origin/main' into new_report
809d8bfbf using an array for metadata extraction paths now instead of dictionaries w/ burnettk
49b02a9c2 added some support to add process model metadata. need to fix frontend w/ burnettk
d2d0cb0b1 getting the collect hit_policy to work correctly.
a3f4c2f48 filtering by metadata works w/ burnettk
f87d266a4 favor report id over identifier but support both and ui updates to allow setting a condition value on a metadata field, changing the display name, and fixes for saving and updating a report
52b288bd4 I can't say I love flake8. Removing dependency on rust (monkeytype)
3534b1896 fixing some typing issues, white space, etal...
389069fde added ability to update the display name for perspective columns w/ burnettk
d9b36f5e1 fixing some typing issues.
51ecd25fb Reorder config imports so that instance config is dead last - and can override everything else. Updated docker-compose for running a demo. run_pyl fixes
d7308ef67 Adding a demo permissions file.
8ade069dd A little cleanup of the ui Don't check authorization on static assets Do not require unique username on user table (uniqueness check is on the service and service id composite.)
1ebe6e108 some updates for process instance reports and metadata w/ burnettk
321fc0e75 Use the "well-known" configuration dictionary from openid to get the url endpoints, rather than trying to configure or guess the correct endpoint urls.
77c79e58b added correlations to message list table w/ burnettk
4df885fd3 Not all open id systems have realms like KeyCloak does -- so removing this in favor of setting just one value - which is the base url of the openid system -- which will work across all openid systems.
d4ad18ab9 Adding a blueprint for openid - a very lightweight embedded authentication system to make it eaiser to try out SpiffWorkflow when you don't have openID set up with Google etal. Removing all calls to open id's user_info endpoint - as these are unncessiary. Adding a users section to the permission files -- so we can handle all user/group/permissions in one file when needed. There was a very confusing is_admin function on the user model that needed killin.
9669f2898 removed file named ':'
341fb8cf5 added api to get list of process report columns
a6002ebac finished base for metadata reporting w/ burnettk
8e9828661 some cleanup for metadata w/ burnettk
91ea7f4b4 metadat reports work w/ burnettk
2571eb656 WIP more metadata reporting w/ burnettk
a2dbee712 WIP more metadata reporting w/ burnettk
a0081bdf7 some basics to add metadata to reports w/ burnettk cullerton
fcc5bce3e fixed issue ensuring active tasks are up to date w/ burnettk cullerton
3ef318e61 added script to save process instance metadata and fixed permissions issue w/ burnettk cullerton
46038eae3 only delete active tasks if needed w/ burnettk cullerton
3b6255147 Merge pull request #64 from sartography/group_query
3abdf8872 get rid of Project Lead group
ded78d9fe Getting ./bin/pyl to pass
c51e56e9b Query fix with the gang
38c37b927 everybody gets access to read processes
e2a3d67eb put sasha and manuchehr in demo group
61a2d858e upgrade keycloak
47b551b8a make sasha, harmeet, manuchehr, and admin have desired permissions for demo
3ecfe6ae4 add demo group access to the customer-contracts to give us 5 tiles for the dmeo.
327981e63 adding the username to the report tables
c90a0a330 Performance improvement in listing all process models.
d32575033 Don't create a processor for every thing all the time.
2f639352a Getting ./bin/pyl to pass
c8f561159 Merge branch 'main' into task_json
fe5f9995b Just save task_json
8f2784828 no global read since that gives configuration as well
e351f033e do not allow starting vendor invoice approval process for demo users
2e97efdbb Change permissions per request -- want everyone to have access to 4 process models.
ff63418ca Change permissions per request -- want everyone to have access to 4 process models.
6b4bcfd34 Merge branch 'main' of github.com:sartography/spiff-arena into main
bc6d80513 Change permissions changed from vendor to core-contributor for everyone.
dfed48057 upgrade keycloak
0f0f56e45 display name instead of id, margin under table sections, Download xml to Download
9af377307 lint
fe5d2fdec exclude instances you started in with_tasks_completed_by_me
bb76eeee5 lint
e30f12fab in completed tab, show display name, and filter by all stopped statuses rather than just complete
57a720c97 tests passing
dc0665c26 gotta fix usage of is_model
63b654c22 working on tests
aa4277d98 oh my god why were these ever instance methods
875bd1576 remove column
6081f6637 renames
aa2333f27 start adding display name and removing garbage
a9d5e121b add fin1, lead1, and Tasks actioned by me to Tasks completed by me
e32c3830b Fix the postgres job (#61)
adcfc53f4 Fix for updating xero token in the background (#60)
bd4f5d247 updated breadcrumb to use display name w/ burnettk
6b94bb260 update permissions per feedback in demo
71c1f7974 rename process_groups_list to process_group_list and fix lint
d4a1d0552 add perm to process instance report list
4f78b1958 some more perm updates for core user w/ burnettk
8fb5fd3c3 Merge branch 'main' of github.com:sartography/spiff-arena
b43a06f51 give core user access to instance tasks w/ burnettk
06ba17be1 Start of system report filters (#57)
213221214 Update oauth redirect url (#58)
75d3c0cea filter process models based on user permissions on the backend if specified w/ burnettk
acc88b9a9 created new users for keycloak and fixed some permissions for core user w/ burnettk cullerton
6eb24f10c Allow switching between user defined reports (#56)
d7cb24a56 fixed broken test
8f9d918ef added recursive option to process model list to recurse or not and fix some ui components
2b47eb7f5 upgrade apscheduler and fix mispelling
2f312e2ab pyl is passing
4fedc046d Merge branch 'main' of https://github.com/sartography/spiff-arena
e6230cb79 pyl is passing w/ burnettk
e5f7f5096 added a script to add a user to a group w/ burnettk
33897da2c mypy
7a9954d74 sort process groups by display name w/ burnettk cullerton
7e9331dd3 Merge branch 'main' into move-group-or-model
d87f47aaa allow getting all process models, process instances should not save when they are initialized, and fixed some cypress tests w/ burnettk
8ffd6203c use correct separator.
de7ebb6f5 Merge branch 'main' of github.com:sartography/spiff-arena into main
bf6645960  Remove MoneyType from dependencies to avoid a new dependency on a rust complier when upgrading to pytno 11.
9455366f5 lint
7866730f2 see if this solves the windows build problem
98e07cc85 add id_for_file_path helper method for process groups
fc476e3cc run_pyl
72da67f00 eliminate security issue by removing py
818bce07e update mysql-connector-python
37444f8bf asst syntax cleanup
7bde5d8cc mypy
ea82bf583 removed print statement and unused line of code
9717fb112 test for move model
d07114593 move model
38dc4570d process group move api endpoint

git-subtree-dir: spiffworkflow-backend
git-subtree-split: ecbe97049cbf46d1d7d240cb80051290de56fa7d
2022-12-10 23:39:01 -05:00

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.9+
* 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
Description
SpiffWorkflow is a software development platform for building, running, and monitoring executable diagrams
https://www.spiffworkflow.org/
Readme LGPL-2.1
Languages
Python 71.7%
TypeScript 17.2%
JavaScript 7.3%
Shell 2.4%
CSS 0.7%
Other 0.6%