* added api endpoint for a generic webhook w/ burnettk
* added the start of test for testing webhooks w/ burnettk
* the initial test for webhooks is now working w/ burnettk
* added test to prove we can run a message send from a non-persistent process instance w/ burnettk
* pyl w/ burnettk
* updated connector-http for patch command w/ burnettk
* make the webhook persistent so the message instance can be created w/ burnettk
* make sure we commit the message instance to the db in the webhook code w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* support executable property
* process model with no primary file is not executable
* filter by executable and primary file and avoid snagging g.user from service
* kill Start buttons on process group list as well
* use more similar code to check is executable and write integration test
* add a test and improve a variable name
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* remove SpecReferenceCache
* make sure strings are sometimes unique
* lint
* more random
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@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>
* get parent process groups of process models that the user has access to w/ burnettk
* use the process group list to get the info we need for the group show page for permissions w/ burnettk
* clear the browser cache when updating a process group w/ burnettk
* fixed broken test w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* n plus one checks
* tests passing with nplusone
* satisfy probably-wrong json schema
* remove useless comment and consolidate poetry dev deps
* not actually going to add this dependency, but leave docs for next guy
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* get most recent tasks based on last_state_change instead of task_model.id
* added api to get task instances of a task
* some changes to support displaying task instances
* forgot to commit the controller
* updated frontend to display info for other instances of a task w/ burnettk
* some formatting to the selected task instance w/ burnettk
* do not get task instances when selecting different instance w/ burnettk
* added tests for task-instances w/ burnettk
* some ui tweaks for task instance view w/ burnettk
* updates based on coderabbit
---------
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>
* do not add data to spiff tasks if that task is finished w/ burnettk
* build docker image for this branch w/ burnettk
---------
Co-authored-by: jasquat <jasquat@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>
* 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>
* support formatting data client side in markdown and support greater than and less than for metadata column filters w/ burnettk
* moved spiff conversion functions to FormattingService and use it in InstructionsForEndUser w/ burnettk
* added tests for greater than and less than metadata operators and added negative tests w/ burnettk
* removed unneeded useEffect 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>
* 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>
* added basic model for new reference cache w/ burnettk
* switched out SpecReferenceCache for ReferenceCacheModel w/ burnettk jbirddog
* pyl w/ burnettk jbirddog
* save items to the db using the new cache with generation table w/ burnettk
* bulk save for performance
* tests are passing
* actually use the new generation table - we still need a test to ensure we are using it
* added test to ensure using new cache generation
* corrected reference interface on frontend w/ burnettk
* do not perform git pull in webhook if the revision is the same as the current w/ burnettk jbirddog
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* updated to use new spiff branch and fixed broken tests w/ burnettk essweine
* updated spiffworkflow with new main build w/ burnettk essweine
* initial updates to new spiff branch w/ burnettk essweine
* more updates for new spiff w/ burnettk essweine
* fixed some linting issues w/ burnettk essweine
* fixed some failing tests w/ burnettk
* updated spiffworkflow for cancel fix w/ burnettk
* Improvement/flexible task iteration 2 (#504)
* wip
* consistent failure, mostly
* removing test code and tests
* removing unused test bpmn files
* removing unused test bpmn files
* minor cleanup of commented code
* spaces and unused imports
* go back to spiff on main
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* lint
* updated test to reflect storing predicted tasks w/ burnettk
* add some orders so postgres does not do whatever it wants, and clear log
* fix lint
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* Don't bug out in older instances that don't have runtime_info
* Add zoom buttons to React Diagram Editor
* This removes some potential features for on-boarding, that we are not currently using, but fixes the issue with 100's of onboarding processes piling up and sitting around. Hoepfully we can wrap this into the extensions mechanism so everything works the same way eventually.
* Improved error messages on form builder
Don't try to auto-save the file before it is fully loaded.
Example data was not getting saved on update.
* Found several errors with new zooming buttons in DMN, so cleaning that up.
Recent changes prevented creating a new dmn table.
* Errors were not being displyed for the Editor Routes
* Going to disable handling user tasks in the onboarding controller for now.
* some initial work to support user api keys w/ burnettk
* some updates to store and use service accounts - migrations do not work in sqlite atm
* pyl
* minor tweak to the migration
* refactored user route
* this is working if returning user that created the service account
* put back migrations from main w/ burnettk
* tests pass with new migration w/ burnettk
* do not remove service account permissions on refresh_permissions w/ burnettk
* added new component to make some api calls to populate child components and routes w/ burnettk
* allow displaying extensions in configuration tab w/ burnettk
* removed service accounts controller in favor of extension and encrypt the api keys
* add fuzz to username to make deleting and recreating service accounts easier
* allow specifying the process id to use when running an extension w/ burnettk
* allow extensions to navigate to each other on form submit w/ burnettk
* removed commented out debug code
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Detect focus loss/return in the Diagram Editor - so that we can reload the process model and assure that we know about any changed files.
Allow for looking specifically for json SCHEMA files (those files that are named -schema.json or .schema.json (as is the convention). Only show these in the dropdown for the form.
* * Run descriptions through the markdown processor so you can use bold/italic etc... in your description fields within a form.
* Move ExampleTable into it's own view component to keep the size of the form builder sane.
* Assure markdown within jrsf forms have reasonable styling that follows the containers style, rather than setting to some other default.
* Add a couple of example forms so people can get a sense of what is possible.
* Connect up the new Json Schema Editor Component to the process model edit diagram.
* Just select the schema file - not the ui file when selecting the form for a component - we may revert this to just a text box.
*
* Cleanup the formatting of arrays, so that they are sligtly intended, do not contain an awkward unneeded heading, and have some tighter css.
* Connect the form editing in the modal back to the BPMN-JS editor
Auto-Save edits in the Form Builder
Lots and lots of tweaks to the react form builder ui
* various fixes.
* test for prepare_schema
* minor fix for run_pyl
* css cleanup
less issues with reloading and jumping about when in the editor
Don't sort keys when returning the json.
More intelligent "ready"
* bump package to point to branch of bpmn-js-spiffworkflow so others can check it out.
* Assure that json keys are not sorted during serialization by default.
Allow adding example fields to an existing schema
Create a set of examples.
* db complaints in migration change.
* removed items from interface file that had been moved elsewhere w/ burnettk
* rename prepare_form to prepare-form
* rename prepare_form to prepare-form
* Remove commented out code.
* typo
* add a comment about the empty column
* move back to the main branch
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* some basics to set a user groups based on info in keycloak w/ burnettk
* test for adding groups from token now passes
* do not remove users from groups when running refresh_permissions if specified
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* Switch to local wheel
* Fix to load the call activity by spec
* Added log
* Logging
* WIP - getting the right tasks it seems from the db, need to get into the workflow
* Clean up, revert things
* Working thanks dan
* Getting bin_pyl to pass
* run_pyl.
* Re-poet install
* Revert file
* Remove logging lines
* Getting bin_pyl to pass
* Clean up, revert things
* Bump wheel
* Use version off pypi
---------
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
* WIP: some initial code to allow anonymous users get a task w/ burnettk
* added scripts to get the url for a given human task w/ burnettk
* users can complete a task anonymously
* pyl
* fixed up login flow and added submission confirmation message for guest tasks w/ burnettk
* added only_guest_task_completion to guest token so we can remove items from the ui with it
* renamed anonymous to guest
* force logout guest users when verifying the token if certain criteria are met and do not do it random controller methods
* also allow saving draft data to use guest users w/ burnettk
* updated bpmn-js-spiffworkflow and added test to test allow guest
* pyl
* fix typo and remove bad file
* remove allow_guest column and moved allow guest check to TaskModel
* removed unnecessary comment
* missing import
* do not allow guest users to see completed tasks and remove save and close button for guest users w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* WIP: some updates to support new spiff w/ burnettk
* unit tests are passing
* all tests except message tests are passing
* fixed usage of catch message event w/ burnettk
* messages are working again w/ burnettk
* uncommented remaining message tests w/ burnettk
* fixed cypress tests w/ burnettk
* use main for spiffworkflow
* translated mysql last milestone query to sqlalchemy w/ burnettk
* fixed last milestone query so instances still return if no milestone found and moved some code from the main report method to own methods
* added some comments
* added last milestone column to process instances table
* display last milestone in instance list table w/ burnettk
* remove 3 characters when truncating last milestone for ellipsis
* make sure we have a current processor so we don't return null
* remove sleep
* The background processor now only picks up processes that were last updated more than a minute ago to avoid conflicting with the interstitial page. With the understanding that we can rmeove this limitation when we can refactor to allow the backend processes to provide updates on what they are doing.
* pyl w/ burnettk
* cache last milestone on instances
* pyl
* added test for last milestone and added it to the proces instance show page w/ burnettk
* fixed broken test w/ burnettk
* fixed last milestone header
* removed duplicated column
* fixed broken test
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* allow markdown in extensions results w/ burnettk
* fixed tests
* moved our rjsf form to component so extensions can also use it w/ burnettk
* added ability to create extensions that can download files w/ burnettk
* added test for extensions-get-data endpoint w/ burnettk
* make user optional when getting process instance reports
* added extensions-get-data to elevated perm macro and raise an error if user is not specified when needed when running a report
* fixed typeguard test
* push extensions branch
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* ensure users have access to run a process model in order to use it as a call activity w/ burnettk
* bad some cache dir w/ burnettk
* pyl
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* The onboarding controller should not save the process model to the database. It creates a pile of pointless noise. So just cleaning that up.
* run_pyl
* assure we can handle user tasks if they happen during on-boarding, while keeping the list of processes clean.
Lots of weird stuff getting run_pyl going.
* pyl
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
* Revert "Revert "Feature/event payloads (#393)""
This reverts commit 95fafb7af1.
* Revert "Revert "poet not available in container""
This reverts commit 140220498c.
* Revert "Revert "Run event payloads data migration from background processor (#399)""
This reverts commit 2afced3a51.
* Revert "Revert "using new spiff api to get info about events. w/ elizabeth""
This reverts commit af857fee22.
* Revert "Revert "fix tests for waiting_event_can_be_skipped""
This reverts commit 886e6bd42a.
* push image for preview env
* default scripts to localhost w/ burnettk
* use the bugfix/update-split-task-inputs spiffworkflow branch w/ burnettk
* removed debug json files
* use main for spiffworkflow
* do not attempt to highlight non-diagram boundary items w/ burnettk
* updated SpiffWorkflow to fix multiple signal event issue w/ burnettk
---------
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* attempt to use the locked version of SpiffWorkflow in ci w/ burnettk
* fixed regex for spiffworkflow revision replacement
* make sure we also update the lockfile when getting new spiff
* install poetry before we attempt to update hte pyproject
* hardcoding spiffworkflow revision as a test w/ burnettk
* try running tests in ci from bash script w/ burnettk
* print working dir in ci w/ burnettk
* fixed location of instance dir w/ burnettk
* run with mysql in ci
* run typeguard with bash script as well w/ burnettk
* fixed postgres test w/ burnettk
* clean up github action file w/ burnettk
* fixed postgres test again w/ burnettk
* pyl
* attempt to remove nox from ci completely
* omit safety for now to test coverage
* fixed how coverage is being called from not nox
* allow running safety and macos again
* renamed run_not_nox to run_ci_session w/ burnettk
* attempt to only upload if matrix says to w/ burnettk
* attempt to install mysqlclient prereqs for mac and remove noxfile stuff w/ burnettk
* added back the constraints file w/ burnettk
* moved the contributing file to the root of arena w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* column names for tables in frontend should only have the first letter of the first word capitalized
* forgot a couple field names w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
* 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>
* added a loading icon on task show page to avoid blank page when loading large datasets w/ burnettk
* fixed broken tests w/ burnettk
---------
Co-authored-by: jasquat <jasquat@users.noreply.github.com>