* added new table to handle called process relationships
* process caller api endpoint is working again w/ burnettk
* fixed more tests and mypy w/ burnettk
* unit tests are passing and commented out unrelated failing test w/ burnettk
* all tests are passing almost w/ burnettk
* uncommented flakey test w/ burnettk
* minor change while reviewing w/ burnettk
* some changes from coderabbit suggestions w/ burnettk
* commented out sampling change w/ burnettk
* name the foreign keys on the process caller table w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added test to demonstrate data store issue when run in certain contexts w/ burnettk
* added method to add kkv data store getters back onto tasks if appropriate w/ burnettk
* removed debug code w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* updated import pi test to set task data w/ burnettk
* fixed persist test so it loads the processor with data
* load data and completed tasks when getting bpmn json for an instance
* save start and end times on tasks on import w/ burnettk
* verify we are saving start and end times for imported process instances w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added basic support to store process instance file data on the file system w/ burnettk
* the files need to be in a hashed directory structure w/ burnettk
* fixed exception message w/ burnettk
* use the same entry method to the contents of data file w/ burnettk
* fixed hash method w/ burnettk
* make hash method easier to read w/ burnettk
* added a migrator and test for migration w/ burnettk
* fix a couple things while testing
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* check for mi tasks first before checking more newest in task show api w/ burnettk
* remove console
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* initial script to find get_current_user calls
* handle pre and post scripts as well
* refactor
* omit absolute root dir path when printing
* avoid printing NS
* consolidate lxml parsing in one place
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added new api to show secrets so we can use that in permissions
* updated frontend to use new secret show value api
* cleaned up secret_show method
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Prevent duplicated path prefix elements in generated URLs
* add more debug info
* pure refactor
* let flask determine how to access site
* build this branch
* build image
* use more url_for, which includes a slash, and things are working locally
* fix hopefully the last missing url_for
* add some code that works for any openid provider
* one more url_for and remove more backend url config references
---------
Co-authored-by: Bret Mogilefsky <bmogilefsky@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* allow setting the path prefix of the server w/ burnettk
* added error in case someone was successfully using SPIFFWORKFLOW_BACKEND_APPLICATION_ROOT w/ burnettk
* Update docs/DevOps_installation_integration/path_based_routing.md
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* added script to import process instance and updated some docs for redis and celery w/ burnettk
* pyl and removed bad gitignore w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added async and sync support for the message start api w/ burnettk
* removed debug dump call w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* delete human task for task that is being reset to in a process instance w/ burnettk
* added script to remove duplicate human tasks from the database w/ burnettk
* test that human tasks are not duplicated during pi reset w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* decode tokens with jwt instead of with base64 w/ burnettk
* try to verify jwt token with keycloak when we decode it w/ burnettk
* make the token algorithm a constant w/ burnettk
* WIP: create more valid looking jwt from spiff w/ burnettk
* tests are passsing now w/ burnettk
* some pyl stuff w/ burnettk
* fixed mypy issues w/ burnettk
* fixed issues from mypy fixes w/ burnettk
* do not load openid blueprint if not using those configs w/ burnettk
* used the process instance to determine if guest user can use connector api w/ burnettk
* only check the db for process instance if the api call is for typeahead
* removed unused test code
* pyl
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial code for category in data objects
* attempt to get the data object for the given bpmn process and instance of it w/ burnettk
* updates for data objects
* fixed tests
* made suggestions by code rabbit and moved logic to get process data file out of shared method since it has a completely different implentation
* remove commented out code
* updated SpiffWorkflow for data object category
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* WIP: some initial test code to test out celery w/ burnettk
* some cleanup for celery and added base model to put tasks waiting on timers
* removed dup bpmn file
* some more cleanup and added strategy to queue instructions
* some minor code changes w/ burnettk
* remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine
* added migration for future tasks and added test to make sure we are inserting into it w/ burnettk essweine
* ensure future task run at time can be updated w/ burnettk
* added table to queue instructions for end user in w/ burnettk
* added test to ensure we are storing instructions for end users w/ burnettk
* added progress page to display new instructions to user
* ignore dup instructions on db insert w/ burnettk
* some more updates for celery w/ burnettk
* some pyl and test fixes w/ burnettk
* fixed tests w/ burnettk
* WIP: added in page to show instructions on pi show page w/ burnettk
* pi show page is fully using not interstitial now w/ burnettk
* fixed broken test w/ burnettk
* moved background processing items to own module w/ burnettk
* fixed apscheduler start script
* updated celery task queue to handle future tasks and upgraded black and set its line-length to match ruff w/ burnettk
* added support to run future tasks using countdown w/ burnettk
* build image for celery branch w/ burnettk
* poet does not exist in the image w/ burnettk
* start blocking scheduler should always start the scheduler w/ burnettk
* add init and stuff for this branch
* make this work not just on my mac
* send other args to only
* added running status for process instance and use that on fe to go to show page and added additional identifier to locking system to isolate celery workers better w/ burnettk
* fixed typing error that typeguard found, not sure why mypy did not w/ burnettk
* do not check for no instructions on interstitial page for cypress tests on frontend w/ burnettk
* do not queue process instances twice w/ burnettk
* removed bad file w/ burnettk
* queue tasks using strings to avoid circular imports when attmepting to queue w/ burnettk
* only queue imminent new timer events and mock celery
* some keyboard shortcut support on frontend and added ability to force run a process instance over the api w/ burnettk
* some styles added for the shortcut menu w/ burnettk
* pyl w/ burnettk
* fixed test w/ burnettk
* removed temporary celery script and added support for celery worker in run server locally w/ burnettk
* cleaned up migrations w/ burnettk
* created new migration to clean up old migrations
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* This fixes guest login with using multiple auths, removes empty items from ApiError, and raises if redirect_url given to login does not match expected frontend host w/ burnettk
* get body for debug
* try to get the logs from the correct place to upload w/ burnettk
* mock the openid call instead of actually calling it w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* added some support for configs to have mutliple auths
* multiple openids services are mostly working - still needs some cleanup
* some cleanup for pyl and fixed login_return for internal openid server w/ burnettk
* if only one auth is returned from backend then just do that w/ burnettk
* login page has been formatted w/ burnettk
* some extra formatting on the login page w/ burnettk
* relabel test openid providers and add user
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* only check for timer events in ready_user_task_has_associated_timer so we can skip user_input_required instances w/ burnettk
* removed test.py file w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added migration to drop the id column from json_data and make hash the primary key
* removed id column from task_draft_data as well
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* added test and some additional support for deny permissions w/ burnettk
* added support for deny through permissions-check api w/ burnettk
* support DENY at the beginning of a permission target marcro
* do not look up permissions using grant type, only use the uniqueness key
* added support in frontend to display a nice error if user does not have access to a data object value w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* using new spiffworkflow locally and the db can be recreated w/ burnettk
* tests are passing w/ burnettk
* added version 3 data migration for typenames on tasks and bpmn processes w/ burnettk
* pyl w/ burnettk
* attempting to add tests for data migrator and fix 1.3 for postgres
* run version_1_3 migration differently from postgres versus mysql and sqlite
* look up the task model again to make sure it is fresh w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* using new spiffworkflow locally and the db can be recreated w/ burnettk
* tests are passing w/ burnettk
* added version 3 data migration for typenames on tasks and bpmn processes w/ burnettk
* pyl w/ burnettk
* switch SpiffWorkflow back to main
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* cherry picked changes from b12af9f3bc to pin form json files
* use the class name to determine what a task type is w/ burnettk
* initial thoughts to fix cancel timer issue w/ burnettk
* added migration to run predict on all open instances w/ burnettk
* remove debug, refactor data migrations, add benchmark_log_func
* log progress of script
* only process predicted tasks and their parents in the version 2 data miagration w/ burnettk
* added data migrator and using that to run version 2 migrations when needed w/ burnettk
* removed some unwanted code
* fix issue, but tests still need updating
* fix tests by returning code to closer to what it was
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* removed group service in favor of user service and messing around with ruff and pre-commeit w/ burnettk
* pyl can succeed now w/ burnettk
* removed debug code w/ burnettk
* pyl
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* use the c option with git commands instead of using cd from python w/ burnettk
* removed the cd method since we should not be using it since it is not threadsafe
* pyl
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>