Commit Graph

1675 Commits

Author SHA1 Message Date
jasquat 0565e63e98
do not overwrite the instructionsForEndUser on the spec object with the rendered instructions w/ burnettk (#1135)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-29 11:39:12 -08:00
jasquat 4cf70a8e9b
feature/support-google-oauth (#1125)
* support decrypting and validating jwt tokens from google auth w/ burnettk

* moved code as suggested by coderabbit

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-29 07:06:54 -08:00
jbirddog 840dd74cea
Update secrets programmatically (#1122)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-02-29 09:55:09 -05:00
jbirddog d66ea0e9ac
Only show data stores from upsearch in the properties panel (#1116) 2024-02-27 18:17:14 -05:00
jasquat b0dbdfb192
commit the repo when a data store is added (#1115)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-27 11:50:17 -05:00
jasquat 80886b53bc
do not validate the audience with the jwt decode since we have a more thorough check for it later w/ burnettk (#1109)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-26 14:12:36 -05:00
jasquat 13848e85e3
feature/fix-service-task-oauth-flow (#1108)
* corrected service task controller excluded auth methods to reference the correct controller w/ burnettk

* fixed docs requirements file w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-26 10:54:26 -05:00
jbirddog ea9336e625
docker compose overlay file for editable backend container (#1098)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-02-23 19:13:16 -05:00
jasquat 044e9facf7
feature/pin-auth-exlusions-to-controller (#1087)
* this adds lookup of the controller names as well as the functions when checking if api call should be excluded

* added login functions to exclusion list and turned it into a constant

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-22 10:19:04 -05:00
burnettk 802d80883c
fix error message on dup message start event 2024-02-21 13:48:05 -05:00
jasquat 4ee2a289c3
delete message triggerable processes if they no longer exist within the corresponding file w/ burnettk (#1070)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-20 07:44:02 -08:00
jbirddog 6a81d684a5
Support syncing data stores in the DB with those defined in process_group.json files (#1052) 2024-02-19 12:21:57 -05:00
jasquat 27ea21b81a
create process groups json file at root if it does not exist when creating a data store w/ burnettk (#1056)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-16 15:20:16 -05:00
jbirddog 680fbd9658
Store data store specifications in process_group.json (#1040) 2024-02-15 09:57:53 -05:00
jasquat 6f0e59409c
Feature/update extension docs (#1028)
* updated the docs around extensions and updated extensions interfaces in the frontend w/ burnettk

* allow specifying files in component args for extensions and added some support for CustomForm from extensions w/ burnettk

* added comments to the extension interfaces file to better describe how to create them

* finished adding comments to extension interfaces

* added comments at top and some minor tweaks

* some fixes for extensions w/ burnettk

* some fixes for extensions w/ burnettk

* ignore eslint issues for now w/ burnettk

* removed deprecated extension items w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-13 16:48:13 -05:00
jasquat cc3d10f340
Feature/generic webhook (#1020)
* 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>
2024-02-12 13:44:52 -05:00
jbirddog c6c1a4a593
Allow getting all secondary keys and values for a KKV top level key (#1016) 2024-02-12 14:50:34 +00:00
Kevin Burnett 04f8f2b0ac
update local dev setup docs (#1015)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-02-09 18:28:39 -08:00
Tim Consolazio 223ff95014
Update readme (#1010)
* Update README.md

Some notes for people that might want to run full-on native, with detail about how Mac hijacks port 7000 and how to get around it.

* Revert "Update README.md"

This reverts commit 096887c26d591f93a836ef808c148af09767f2d2.

* README update and native code patch

Some details for user that might be running Python3, Mac, and want to run everything locally/natively.
2024-02-09 14:22:53 -08:00
jasquat 4983d48f22
cherry-picked 81b6431c58 into main for task_guid backfill fix 2024-02-09 10:47:24 -05:00
jasquat 4b2fbd8938
when starting a process model from a message start event cancel all start events that do not match w/ burnettk (#1005)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-08 14:55:35 -05:00
jbirddog 886f1f5757
Allow data store upsearch to work from within a parallel gateway (#1002) 2024-02-08 12:04:48 -05:00
jbirddog 353b5a84a6
Support top level data stores, not exposed via the UI yet (#986) 2024-02-07 08:37:38 -08:00
jbirddog 305a6fb67a
KKV Revamp (#968) 2024-02-07 09:01:52 -05:00
jasquat 5ae59367cb
Feature/reset pi go button (#978)
* 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>
2024-02-06 15:50:00 -05:00
Kevin Burnett a61f2d6927
future tasks should not cause anything to happen if the instance is suspended (#952)
* Reapply "future tasks should not cause anything to happen if the instance is suspended"

This reverts commit 05b50df2b3.

* lint

* add required approval and merge instead of mark as auto merge

* lint

* added server default to new future_task column so default is actually added to the table schema w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-06 11:43:17 -08:00
jasquat 64d880509a
process instance report refactor (#977)
* moved some code blocks from main process instance report service method to own methods w/ burnettk

* added notes of how to implement on backend w/ burnettk

* fixed based on some code rabbit suggestions

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-02-06 14:08:03 -05:00
burnettk d542804d9c
allow pr write permission for pr review 2024-02-06 10:05:26 -05:00
burnettk 05b50df2b3
Revert "future tasks should not cause anything to happen if the instance is suspended"
This reverts commit b627567add.
2024-02-02 17:59:37 -05:00
burnettk b627567add
future tasks should not cause anything to happen if the instance is suspended 2024-02-02 17:58:53 -05:00
Kevin Burnett 020519a724
support bpmn executable property (#934)
* 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>
2024-02-01 10:57:12 -08:00
Kevin Burnett 6a3f8a212f
update spiff and remove dot notation (#933)
* update spiff and remove dot notation

* update script_engine dependency based on spiff lib update

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-02-01 06:51:19 -08:00
Kevin Burnett 711da2b048
unique bpmn process ids (#927)
* 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>
2024-01-30 12:48:44 -08:00
burnettk 40b9570e22
process instances for-me is a basic permissions thing needed by everyone 2024-01-30 12:16:46 -05:00
burnettk 616659e691
consistent license 2024-01-29 10:16:28 -05:00
Dan Funk 03b21accec
allow looping back in a process to create more messages - minor bug fix - didn't add what would be a complex test to this, as it was a one line change that seems an oversight in the original code. (#924) 2024-01-29 06:40:39 -08:00
jasquat f0f4bcce12
Feature/homepage extension filter refactor (#919)
* WIP: initial work to have a home page created from an extension w/ burnettk

* added support to display an extension as the root page w/ burnettk

* allow extensions to add new routes to base routes w/ burnettk

* use page instead of creating new key route w/ burnettk

* added components to support pi tables in extensions w/ burnettk

* allow using asterisks to mark words as bold in process instance list table

* moved table component from InstancesListTable to own component w/ burnettk

* filters are somewhat working again w/ burnettk

* default homepage uses the table without filters component now w/ burnettk

* renamed instance list tables to be more appropriate w/ burnettk

* display errors if list table is used incorrectly w/ burnettk

* fixed issue where columns were not displaying in the filter list

* pyl

* rely on changes in report hash to determine if report hash state needs updating

* only show link to report if there are instances to show

* many updates for filtering to remove the apply button and clean things up w/ burnettk

* some more fixes for too many renderings w/ burnettk

* advanced filters are working again w/ burnettk

* clear is working again w/ burnettk

* fixed a few linting errors and warnings w/ burnettk

* fixed some cypress tests

* if there are errors then display them right away instead of trying to put together the other elements

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-01-26 11:41:07 -05:00
jbirddog 4758634c99
Show Data Store tiles on the Process Group page (#917)
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
2024-01-24 10:15:08 -05:00
jbirddog 858e8eaec4
Get backend working with Python 3.12 (#876)
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
2024-01-24 08:00:10 -05:00
jbirddog 60f34e3015
Validate writes to the json data store against its schema (#875)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
2024-01-24 07:58:30 -05:00
jasquat 0ab1ca446c
force user logout if token cannot be decoded w/ burnettk 2024-01-18 14:51:04 -05:00
jasquat 11384c2a47
queue instance with celery instead of running engine steps on task submit w/ burnettk 2024-01-18 13:29:10 -05:00
jasquat 88f81cd2b3
use caps in api key header name w/ burnettk 2024-01-17 11:04:40 -05:00
jasquat 80bc2f2e42
Feature/typeahead allow guest user (#897)
* 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>
2024-01-16 14:47:25 -05:00
jbirddog 8e05e1e3c0
Add identifier and clz fields to the data stores response (#894) 2024-01-12 08:04:32 -05:00
jbirddog a8a32b60fa
Add data store at the process group level (#859) 2024-01-10 09:48:31 -05:00
jbirddog ad3e63367f
Make file upload detection more flexible, add integration test (#854) 2024-01-04 11:32:13 -05:00
jasquat 6bafd7b144
use urlsafe_base64decode for keycloak id tokens to support certain utf8 characters w/ burnettk (#852)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-01-03 16:14:14 -05:00
jasquat 14846bfb86
feature/detached-instance-error (#847)
* store the db ids of the process instance queue records instead of the sqlalchemy objects to avoid detached instance errors w/ burnettk

* raise an error similar to one we raise elsewhere in the unexpected case that this fails

* removed unused method

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-01-03 13:34:56 -05:00
jbirddog 73eb221c17
Remove category param (#848) 2024-01-02 17:49:00 -05:00
jbirddog b1206c5b3d
Drop __annotations__ from task data (#834) 2023-12-27 11:50:01 -05:00
jasquat a7a48ee9fc
feature/get-pg-of-readable-pm (#832)
* 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>
2023-12-22 13:17:40 -05:00
jbirddog 2f83a68787
Clear caches when deleting a file (#826) 2023-12-21 14:12:48 -05:00
jasquat 88030781d6
do not include task data by default but allow overriding that decision w/ burnettk (#828)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-12-21 09:53:44 -05:00
jasquat d2b39b10c6
feature/handle-null-bpmn-process-on-pi (#827)
* do not error out and allow process instances to recover if the bpmn_process is null but the definition is set w/ burnettk

* fixed another flakey test w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-12-20 16:16:08 -05:00
Kevin Burnett e1fefa9fc7
nplusone (#824)
* 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>
2023-12-20 07:18:20 -08:00
burnettk d688e2414d
make it so we can delete TaskInstructionsForEndUserModel on instance delete 2023-12-19 15:28:02 -05:00
jasquat 3fce735d4f
Feature/task table drop (#823)
* removed id from task and still working on getting the migration working w/ burnettk

* fixed migration to work on postgres and sqlite as well w/ burnettk

* fixed tests w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-12-19 08:59:29 -08:00
jasquat 15d0d788e5
Feature/pi show page diagram (#816)
* 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>
2023-12-18 14:23:51 -05:00
Kevin Burnett d6be107167
use the approach from check_permissions to avoid n plus 1 query issue (#814)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-12-18 07:27:14 -08:00
jasquat 1fdca1408b
return the form dict even if it is empty and let rjsf handle it (#812)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-12-14 14:46:42 -05:00
jasquat 7234f0f181 feature/specify-valid-client-ids (#808)
* allow additional valid client ids to be specified for the purpose of token validation

* import the correct typedict and notrequired for python 3.10

* remove HEY

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-12-13 12:44:59 -08:00
jasquat 9c38ca851b added target branch to publish branch name to avoid conflicts between environments w/ burnettk 2023-12-11 15:32:07 -05:00
jasquat c00d810704 Feature/data object category (#796)
* 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>
2023-12-11 07:42:01 -08:00
jasquat 91d33305de added bpmn template file that will get added when a new process model is created with the api w/ burnettk 2023-12-08 16:23:08 -05:00
jasquat 4d6358b0e7 queue the process instance AFTER unlocking it, do not set celery worker concurrency to 12, log already locked error in celery workers for debugging 2023-12-07 10:22:50 -05:00
jasquat 18600189c8 Feature/background proc with celery (#788)
* 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>
2023-12-05 11:41:59 -05:00
jbirddog 8d72ef5cfd Feature flag support (#787) 2023-12-05 10:29:54 -05:00
burnettk 04acca883d fix comment 2023-12-04 18:30:59 -05:00
Kevin Burnett 353ba4cd31 avoid print statements, generally (#784)
* avoid print statements, generally

* remove test for empty main script

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-12-01 06:24:11 -08:00
jasquat 1627f5dd07 bugfix/guest-login-multiple-auths (#782)
* 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>
2023-11-30 13:51:01 -05:00
burnettk af5402c6e4 add init in services 2023-11-29 21:43:27 -05:00
jbirddog abe865c19b Data Store CRUD interface (#689) 2023-11-24 13:27:46 -05:00
jasquat d737d40ab7 disabled no task data on completed tasks when rehydrating (#706)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-21 10:49:16 -05:00
jasquat 91ee554543 ensure we do not delete user group assignments from regexes w/ burnettk (#690)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-20 08:27:28 -08:00
burnettk f524b78368 fixes from fixit 2 2023-11-20 11:04:33 -05:00
jasquat b031b0f940 remove the unused next_task key from api calls since nobody uses it w/ burnettk essweine (#688)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-17 13:34:04 -08:00
jasquat 5e95849923 sort nested process groups as well (#685)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-17 10:12:56 -05:00
Kevin Burnett 8d85e5ac26 added some updates to help with logging deployments w/ burnettk (#683)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-16 13:15:49 -08:00
jasquat 9f58c7405d avoid serializing the bpmn process instance just to save data w/ burnettk 2023-11-16 12:32:38 -05:00
jasquat fc503ec76b feature/secrets-encryption-cleaning (#673)
* removed simple-crypt and cleaned up usage of keys for encryption w/ burnettk

* renamed var to SPIFFWORKFLOW_BACKEND_ENCRYPTION_KEY w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-16 10:12:47 -05:00
jasquat 1eed6e2444 feature/full-breadcrumb-on-task-show (#675)
* show the full breadcrumb on task show page w/ burnettk

* check read permission of process model before displaying in breadcrumb on task show page

* in the breadcrumb if the api returns 401 then just ignore the breadcrumb

* pyl

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-16 10:05:08 -05:00
jasquat 449fe87d43 Feature/deny macro on permission (#672)
* look for deny in the permission action rather than in the target uri and updated the documentation w/ burnettk

* added depecation warning if allowed_permissions is being used intead of actions w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-15 11:46:56 -05:00
jasquat 34ce785aea let spiff serialize the bpmn process data to let it handle datetimes before we give it to the db w/ burnettk 2023-11-15 10:43:56 -05:00
jasquat 981cfcb347 Merge branch 'main' of github.com:sartography/spiff-arena 2023-11-15 09:47:23 -05:00
jasquat 6d99fd0ac3 only log out the user when we return a 401, not raise an error 2023-11-15 09:47:20 -05:00
Kevin Burnett 8dcdae2590 Feature/fix filters (#670)
* work in progress

* respect multiple filters for the same field

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-15 06:20:00 -08:00
jasquat 1d37001727 Feature/no data for finished spiff tasks (#661)
* 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>
2023-11-14 12:47:20 -08:00
jasquat 18207bcfbd bugfix/fix-refresh-token-error (#668)
* when backend returns 401 also remove cookies and redirect in frontend if cookies are not set w/ burnettk

* added a copule helpful comments w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-14 14:54:16 -05:00
jasquat 1197a1a51a do not tell users to add a process model/group if they do not have access to do so w/ burnettk 2023-11-13 16:56:41 -05:00
jbirddog c122926e01 Support creating unique top level keys for KKV data store (#613) 2023-11-13 11:37:24 -05:00
jasquat 1596076a15 updated auth identifier header name to include spiffworkflow w/ burnettk 2023-11-09 15:45:52 -05:00
jasquat 07895d3965 get the auth identifier from the cookie or the header or return default 2023-11-09 15:39:06 -05:00
jasquat 45bcba172d default other open id configs is url is specified w/ burnettk 2023-11-09 14:31:30 -05:00
jasquat 04e763116e authentication_identifier comes from cookies, not headers 2023-11-09 13:50:45 -05:00
jasquat b8cfa4fd3c fixed backwards compatibility with multiple auths 2023-11-09 11:09:11 -05:00
jasquat d5b0330609 Feature/support multiple auth (#602)
* 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>
2023-11-09 10:34:07 -05:00
jasquat a48bc8a885 do not attempt to migrate instance from interstitial page if the serializer version has not been set yet 2023-11-09 09:13:18 -05:00
jasquat 7b904387fc updated example permissions to use macros and prefer perm absolute path over filename w/ burnettk 2023-11-08 16:57:19 -05:00
jasquat 57c8112eea run the data migrator from the insterstitial page code when loading the pi show page w/ burnettk (#607)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-11-07 16:20:47 -05:00
Kevin Burnett eb13ab843b fix standard loop task serialization (#606)
* fix standard loop task serialization

* lint

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-06 12:18:33 -08:00
Kevin Burnett 6014f2940d fix serialization issue with custom service task, w/ essweine (#605)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-11-03 15:00:30 -07:00
jasquat 11512a888e disable element units for now w/ burnettk 2023-10-27 15:59:28 -04:00
jasquat 234c9646e1 feature/skip-user-input-required-tasks (#596)
* 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>
2023-10-27 15:01:28 -04:00
jasquat 566f383918 adds basic support to use certain components in extensions w/ burnettk (#597)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-27 14:54:45 -04:00
jasquat c2ce27e961 Feature/drop id column on json data (#587)
* 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>
2023-10-27 11:02:52 -04:00
jbirddog f8112641cc Reenable element units (#593) 2023-10-26 18:20:55 -04:00
jasquat 24741b29de use last_state_change to figure out if a cancelled task needs an event in the task service instead of with get_tasks and check when manually completing tasks w/ burnettk (#595)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-26 16:11:16 -04:00
jasquat 7e128c5a55 Feature/completed tasks on pi show (#591)
* added api to get all completed tasks for an instance and display it in a table w/ burnettk

* moved completed tasks table on pi show page to sub tabs

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-26 11:37:55 -04:00
jasquat 83094c66ce process all cancelled tasks to see if that fixes error boundary events 2023-10-26 10:35:52 -04:00
jasquat 39edd60fd6 Feature/hide private data objects (#581)
* 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>
2023-10-25 16:31:06 -04:00
jbirddog 36b7b2462e Remove backend references to Box (#579) 2023-10-25 16:09:25 -04:00
jasquat c18c5a8d9c Feature/do not save cancelled task events twice (#575)
* do not save cancelled task events again

* actually only process cancelled events that were cancelled during the current run

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-25 13:45:20 -04:00
jbirddog 16ae1d9ccd Add support for KKV data stores to the data stores tab (#576) 2023-10-25 12:59:09 -04:00
jasquat 54b7c5c3ec feature/formatting-in-extension-md (#559)
* 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>
2023-10-20 15:19:26 -04:00
jasquat fe4dc14b8d Feature/docker CVE issues (#558)
* updated Dockerfile to try to remove security vulnerabilities w/ burnettk

* we require curl for health checks w/ burnettk

* try to scan docker image in ci

* use Dockerfile from backend w/ burnettk

* continue-on-error w/ burnettk

* attempt to elevate permissions of snyk w/ burnettk

* added snyk security github workflow w/ burnettk

* fixed location of constraints w/ burnettk

* add in or true for snyk tests w/ burnettk

* sent the snyk token w/ burnettk

* specify the directory for the sarif file w/ burnettk

* updated spiffworkflow-connector-command for snyk issue w/ burnettk

* updated sql statements sanitize input

* ignore issues for debug_controller and check frontend with snyk w/ burnettk

* updated babel and electron for snyk w/ burnettk

* some more updates to fix vulnerabilities w/ burnettk

* prune repeated deps for frontend builds since

* uncomment ci code so it runs again and use node for frontend base image w/ burnettk

* fixed backend image name w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-19 14:22:52 -04:00
jasquat 2f9aa12906 Feature/error boundary (#552)
* WIP for error boundary support w/ burnettk

* updates to catch error boundary events and send them back out w/ burnettk

* fixed broken test w/ burnettk

* use connector-http and spiffworkflow-proxy from main w/ burnettk

* updated smtp and slack connectors in connector-proxy-demo w/ burnettk

* added more tests for the service task service call connector to test errors w/ burnettk

* added spiffworkflow-connector-command and some code clean up

* updated the connectors in the proxy demo

* use SpiffWorkflow from git instead of locally

* some cleanup while code reviewing

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-18 14:00:12 -04:00
jbirddog a80abc4c47 Keyed key/value data store implementation (#548) 2023-10-17 10:59:01 -04:00
jasquat 4d7347c131 do not save events to db when running data migrations w/ burnettk 2023-10-16 15:02:19 -04:00
jasquat abf87a5aa3 corrected typename for tasks in data migration 3 w/ burnettk 2023-10-16 14:51:50 -04:00
jasquat d22e5b2550 check if form contents is None and not truthy when deciding to return back to the user w/ burnettk 2023-10-16 11:42:09 -04:00
burnettk 1eadeb0b29 add cris 2023-10-16 11:24:48 -04:00
jasquat c2dc4a738e Feature/data migrator tests (#546)
* 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>
2023-10-12 14:29:51 -04:00
jasquat 4d842e8dbf Improvement/better serialization (#540)
* 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>
2023-10-12 14:14:02 -04:00
jasquat db4e9292f6 remove colons as well when checking wildcard permissions and updated test to ensure it works as expected 2023-10-11 10:25:02 -04:00
jasquat ceb06cc227 Hotfix/user task with timer cancel (#533)
* 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>
2023-10-10 11:17:09 -04:00
burnettk dd6dcdcec9 add dinithi 2023-10-09 10:01:20 -04:00
jasquat 8bf92f7a39 Feature/regex support in permissions (#530)
* support wildcards when adding users to groups from waiting table

* moved the user route to authentication_controller to avoid having so many user routes and this controller was all about login

* added test to ensure regexes work for permissions - still need to remove old ones on refresh

* moved token related code out of authorization service and into authentication service w/ burnettk

* remove old user group assignment waiting entries when refreshing permissions w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-06 13:47:40 -04:00
jasquat 15041734a7 use the class name to determine what a task type is w/ burnettk (#527)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-05 13:28:41 -04:00
jasquat cba4a19d3b Feature/remove group service (#529)
* 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>
2023-10-05 13:27:38 -04:00
burnettk d4984a0269 do the joinedload so we actually eliminate the n plus 1 query 2023-10-05 09:30:02 -04:00
jasquat b12af9f3bc Feature/pin form schemas to revision (#526)
* task show loads the correct revision of the json schema form w/ burnettk

* display error if form cannot be found at revision w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-10-04 15:23:42 -04:00
jbirddog 34a0323c4d Upsearch for data stores (#520) 2023-10-04 09:42:25 -04:00
jasquat 22570ce8d3 fix git command with c option 2023-10-04 08:37:41 -04:00
burnettk d7d3858a7a return error if no token instead of blowing up 2023-10-03 22:07:20 -04:00
burnettk d4104f4d12 tell sentry about release info if we have it 2023-10-03 21:23:25 -04:00
burnettk 9a59d37b53 remove debug print statement 2023-10-03 16:03:52 -04:00
Kevin Burnett fa5109ff57 update permission check to hopefully improve performance (#523)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-10-03 13:00:13 -07:00
jasquat 5d4713fc0e feature/use-context-with-git-commands (#524)
* 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>
2023-10-03 16:00:03 -04:00
burnettk f754ee1658 avoid notifying sentry on standard 405 method not allowed 2023-10-02 22:16:38 -04:00
jasquat a9877c116b move task draft data insert into try statement to handle Deadlock errors 2023-10-02 08:35:00 -04:00
burnettk e3f775e54f ignore process instance not found in terms of sentry notification 2023-10-01 12:36:00 -04:00
jasquat d6f3965c2b do not check for git source branch when using the webhook, let it fail naturally if not a git repo w/ burnettk 2023-09-29 16:39:02 -04:00
jasquat 6c41d54502 better fix where we ensure we get the process id from the primary bpmn file 2023-09-29 10:57:23 -04:00
jasquat 336cd3a1c7 Merge branch 'main' of github.com:sartography/spiff-arena 2023-09-29 10:43:35 -04:00
jasquat 42e5c91613 call activities do not need to mock data in unit tests and ensure we add the primary bpmn file last otherwise we lose it - seems another fix will be needed for this 2023-09-29 10:43:32 -04:00
jbirddog 37ae7e2f7f Refactor finding process models to support finding other file types (#516) 2023-09-29 09:38:45 -04:00
jasquat f3e7bbaa02 a couple updates for extensions w/ burnettk 2023-09-28 17:19:37 -04:00
jasquat a84750741e updated SpiffWorkflow for depth fix (#519)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-28 12:51:48 -07:00
jasquat 10fa556525 handle dup key error when saving draft data by updating the record on conflict w/ burnettk (#518)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2023-09-28 12:01:57 -07:00