Commit Graph

2128 Commits

Author SHA1 Message Date
burnettk 3dac7e9226
update token expiry for test openid server 2024-05-10 10:18:07 -04:00
jasquat 50754b9d33
Remove add proce info (#1526)
* call the proc index when we need it rather than passing it through w/ burnettk

* removed all uses of additional_processing_identifier w/ burnettk

* added comment about why we need current proc index and made coderabbit suggestion w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-09 16:53:36 -04:00
jasquat d5e0ab6989
Fix process data get subprocess 3 (#1515)
* Fix process data get subprocess (#1493)

* added test to make sure we can get the data object of a sub process

* avoid the processor altogether to get data objects but use the db directly

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>

* get the data object value from the bpmn process that defines it w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-08 09:29:07 -04:00
burnettk 141a327627
make sure input line is set before doing things 2024-05-07 20:43:15 -04:00
jasquat 6bb24e51bf
queue the pi in the future if it is locked w/ burnettk (#1513)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-07 17:15:28 -04:00
jasquat a7370cd293
Fix process data get subprocess (#1493) (#1514)
* added test to make sure we can get the data object of a sub process

* avoid the processor altogether to get data objects but use the db directly

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-07 17:11:17 -04:00
jasquat d86f3958f8
Multiinstance task data fix (#1497)
* Revert "Fix process data get subprocess (#1493)"

This reverts commit 84feef321d.

* added process model so we can test fixing loading task data with mi w/ burnettk

* added test and a potential fix w/ burnettk

* pyl is passing

* Update spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_processor.py

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* put back api yml description

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-05-07 15:17:01 -04:00
jasquat 85352ca6bb
always load the file up as binary w/ burnettk (#1499)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-06 17:08:56 -04:00
jasquat 973e8fce72
added option to clone process models in boot in docker script w/ burnettk 2024-05-03 16:31:27 -04:00
jasquat e085c90114
Merge branch 'main' of github.com:sartography/spiff-arena 2024-05-03 14:57:39 -04:00
jasquat d01e52d81f
fixed run process model script to work with celery w/ burnettk 2024-05-03 14:57:35 -04:00
burnettk d7f0026433
add jq to backend deployment image 2024-05-03 13:50:42 -04:00
jasquat 84feef321d
Fix process data get subprocess (#1493)
* added test to make sure we can get the data object of a sub process

* avoid the processor altogether to get data objects but use the db directly

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-05-03 11:10:55 -04:00
jasquat 86f97d5937
New calling process table (#1480)
* 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>
2024-05-03 10:09:32 -04:00
burnettk fa8f46d04b
ignore flask cors issue with no fix 2024-05-02 13:24:37 -04:00
jasquat f5db660878
Perms for group navigate (#1470)
* wip related to giving access to groups when you have subgroups

* handle deny permissions and check normal permissions if pg parent method as well w/ burnettk

* reverted local dev perm file w/ burnettk

* a little test cleanup

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-30 14:11:51 -04:00
Kevin Burnett 98b87cde82
make sure init params are in include list (#1467)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-29 14:42:35 -07:00
jasquat 0d7a114c98
Config turn off threads (#1466)
* added config to turn off task execution with threads w/ burnettk

* do not run tasks in parallel if they have gateway children w/ burnettk

* remove debugging code w/ burnettk

* attempting to fix flakey test w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-29 16:50:20 -04:00
Kevin Burnett 48200283b5
bump spiff for feature/receive-message-correlations (#1454)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-29 13:04:33 -07:00
Kevin Burnett 23e147793a
make permissions on process group show more nuanced (#1460)
* if you have access to things in a group, allow navigating through group

* lint

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-29 13:03:46 -07:00
jasquat bd51222efe
allow specifying certain jwt options as configs w/ burnettk (#1459)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-26 14:36:36 -07:00
jasquat 00c2e85fee
Data store background fix (#1455)
* 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>
2024-04-26 10:14:26 -04:00
jasquat c6f0dd65e5
log original error when token decoding fails w/ burnettk 2024-04-25 12:19:45 -04:00
jasquat d76333065a
remove useless comment w/ burnettk 2024-04-24 15:51:53 -04:00
jasquat 1355c97b69
load-parent-task-data (#1447)
* load task data for the immediate completed parent and for cancelled tasks

* reverted query_tasks script

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
2024-04-24 14:08:31 -04:00
burnettk c2856be3bf
remove flake8 because ruff and bandit because it is in backend, fix long line 2024-04-24 12:59:20 -04:00
burnettk d197bf00a2
couple fixes to get current user finder script 2024-04-24 12:57:11 -04:00
jasquat ced3bffd69
pass task data from the db if data cannot be found on the expected task on the interstitial page (#1440)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-23 14:04:04 -07:00
burnettk 647133340d
bump spiff for message fix 2024-04-19 12:54:34 -04:00
burnettk e198c8c866
update spiff for #1415 fix, and update expectation for now-started subprocesses 2024-04-18 17:15:18 -04:00
jasquat 32141a238e
Reset task in call activity fix (#1417)
* 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>
2024-04-18 14:11:53 -04:00
jasquat 6643db9f2f
Pi file data on fs (#1403)
* 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>
2024-04-18 11:24:59 -04:00
jasquat a99c36964d
mi-task-show-fix (#1412)
* 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>
2024-04-17 11:53:10 -07:00
jbirddog 823bdd170b
Allow updating task data via a dictionary (#1414)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-04-17 14:20:51 -04:00
jasquat 94a60827e1
updated SpiffWorkflow to deepcopy task data (#1408)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-17 09:38:03 -04:00
dependabot[bot] 9891732515
Bump black from 24.3.0 to 24.4.0 (#1404)
* Bump black from 24.3.0 to 24.4.0

Bumps [black](https://github.com/psf/black) from 24.3.0 to 24.4.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.3.0...24.4.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* update black in backend as well for safety

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-16 10:57:15 -04:00
jasquat dc44cb28d5
fixed and ignored unfixable synk issues 2024-04-16 10:22:57 -04:00
jasquat 9147a8db8c
Use vite to build (#1390)
* some base updates for vite w/ burnettk

* i can log in w/ burnettk

* a couple more fixes w/ burnettk

* make sure selectedTabIndex has been set before using it w/ burnettk

* fixed active-users db issue, added type module to package json to fix prerender issues, and various other issues w/ burnettk

* fixed issues with building and running from compiled w/ burnettk

* pyl

* eslint fix is running and removed both inferno and navigationBar warnings

* vim likes the Dockerfile suffix by default

* use process.env.HOME

* probably do not need alias

* a little clean up and fixed font warnings w/ burnettk

* updated elements to remove warnings in the console w/ burnettk

* fixed es lint issues w/ burnettk

* update docker build in frontend w/ burnettk

* set the specific tag of nginx w/ burnettk

* build docker imgaes for this branch to test w/ burnettk

* added vitest and updated Dockerfile to be nginx w/ burnettk

* tests are passing w/ burnettk

* add prefresh and more keys

* added cypress-vite to attempt to get cypress working again

* some coderabbit suggestions

* hopefully there is no reason to use PUBLIC_URL at all when using vite

* use the correct location of the index file in the docker image

* spaces are fine in index.html file variable declaration

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-15 14:22:34 -04:00
jasquat dff34c7bfc
removed instruction from end event on new process model bpmn template 2024-04-15 10:23:10 -04:00
Kevin Burnett c091ae9f9e
bump spiff for PR 402, ensure parser knows about all namespaces (#1376)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-10 10:42:36 -07:00
Kevin Burnett f2c982a96c
Look for bad get_current_user scripts (#1370)
* 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>
2024-04-10 09:44:13 -07:00
jbirddog 9043a08a9e
Drop element units as a dependecy (#1366) 2024-04-10 11:22:52 -04:00
jasquat 293aa867a1
Auth for secrets (#1369)
* 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>
2024-04-09 13:44:47 -04:00
Kevin Burnett cce555b2ca
ignore venv, and ensure always sort group members to fix flaky test in postgres (#1357)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-04-08 11:26:07 -07:00
Kevin Burnett 2b6640f24c
Prevent duplicated path prefix elements in generated URLs take two (#1350)
* 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>
2024-04-08 08:50:55 -07:00
jasquat f6943cf059
load all task data when attempting to get the next task instruction w/ burnettk (#1355)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-08 07:40:52 -07:00
jasquat 01c749aa0b
Allow setting path prefix (#1344)
* 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>
2024-04-05 15:14:09 -04:00
dependabot[bot] 4ec824523d
Bump mypy from 1.8.0 to 1.9.0 in /spiffworkflow-backend (#1339)
Bumps [mypy](https://github.com/python/mypy) from 1.8.0 to 1.9.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.8.0...1.9.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-05 14:32:40 +00:00
jasquat 7ae81f47cf
Celery start timer fix (#1337)
* check if pi is enqueued to run in the future before running it in celery w/ burnettk

* only mark future tasks as complete if the corresponding task is complete w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-04 16:24:58 -04:00
dependabot[bot] 6789992a76
Bump typeguard from 4.1.5 to 4.2.1 in /spiffworkflow-backend (#1336)
Bumps [typeguard](https://github.com/agronholm/typeguard) from 4.1.5 to 4.2.1.
- [Release notes](https://github.com/agronholm/typeguard/releases)
- [Changelog](https://github.com/agronholm/typeguard/blob/master/docs/versionhistory.rst)
- [Commits](https://github.com/agronholm/typeguard/compare/4.1.5...4.2.1)

---
updated-dependencies:
- dependency-name: typeguard
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 15:21:05 +00:00
jasquat 927f150d4f
use backend url in local openid login page w/ burnettk 2024-04-03 16:52:25 -04:00
jasquat 12e7cecd97
local-openid-path-based-fix (#1332)
* use the backend url config for the well-known endpoint since request.host_url will not know about the path w/ burnettk

* attempting to fix run precommit in ci w/ burnettk

* fix constraints location w/ burnettk

* fix correct stanza w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-03 16:16:22 -04:00
dependabot[bot] f27455eeda
Bump prometheus-flask-exporter in /spiffworkflow-backend (#1324)
Bumps [prometheus-flask-exporter](https://github.com/rycus86/prometheus_flask_exporter) from 0.22.4 to 0.23.0.
- [Commits](https://github.com/rycus86/prometheus_flask_exporter/compare/0.22.4...0.23.0)

---
updated-dependencies:
- dependency-name: prometheus-flask-exporter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
2024-04-03 11:14:42 -07:00
jasquat b35ab336f5
Omit completed subprocesses (#1327)
* updates to avoid loading completed subprocesses when loading a processor w/ burnettk

* bpmn unit test generator in controller test is passing w/ burnettk

* most tests are passing again w/ burnettk

* tests are all passing now w/ burnettk

* added assertion to reset pi test to ensure task data does come back w/ burnettk

* removed debug benchmark stuff w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-03 12:17:14 -04:00
Kevin Burnett d7bd03bb69
simplify build with pip and poetry in one step and no pipx (#1323)
* simplify build with pip and poetry in one step and no pipx

* upgrade setuptools

* just in case

* debug w/ burnettk

* print pwd and ls whenever we call constraints w/ burnettk

* update safety and setuptools to fix ci errors w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-03 11:40:50 -04:00
jasquat 280240ca87
lookup 1000 groups when attempting to cache them so we are not restricted to 100 w/ burnettk (#1331)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-03 08:22:07 -07:00
jasquat b21a3b3ec7
Celery docs and debug (#1328)
* 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>
2024-04-02 16:13:18 -04:00
jasquat cef93033e8
do not store pi events when running migrations (#1310)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-04-01 12:24:02 -04:00
dependabot[bot] d3068ae07c
Bump types-pytz in /spiffworkflow-backend (#1316)
Bumps [types-pytz](https://github.com/python/typeshed) from 2022.7.1.2 to 2024.1.0.20240203.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pytz
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 14:52:18 +00:00
jasquat f24cdecf6d
add the pi id and task guid to errors in celery worker w/ burnettk 2024-03-29 13:56:26 -04:00
Kevin Burnett ef945c458c
log configured frontend url (#1304)
* log configured frontend url

* be more precise

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-03-29 08:53:07 -07:00
jasquat 4637caff81
some more changes to help with logging in celery (#1302)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-29 11:28:43 -04:00
dependabot[bot] 1da395a8d5
Bump typing-extensions from 4.9.0 to 4.10.0 in /spiffworkflow-backend (#1299)
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.9.0 to 4.10.0.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.9.0...4.10.0)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-29 14:56:02 +00:00
jasquat 13d7fa8968
celery logging (#1295)
* some initial code to handle celery logs better w/ burnettk

* some more work to get celery logs properly formatting w/ burnettk

* added logger setup for celery w/ burnettk

* added logger setup for celery w/ burnettk

* use the same logger setup method for both celery and the flask server w/ burnettk

* move the log formatter to own method w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-28 11:48:44 -07:00
dependabot[bot] 8fe75cd320
Bump pytz from 2023.4 to 2024.1 in /spiffworkflow-backend (#1293)
Bumps [pytz](https://github.com/stub42/pytz) from 2023.4 to 2024.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2023.4...release_2024.1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-28 14:58:24 +00:00
jasquat f508722b5b
do not queue a process instance for celery if the instance is currently locked w/ burnettk (#1288)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-27 14:06:12 -04:00
dependabot[bot] 4a373be939
Bump black from 23.1.0 to 24.3.0 (#1285)
* Bump black from 23.1.0 to 24.3.0

Bumps [black](https://github.com/psf/black) from 23.1.0 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.1.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fixed pre commit black issues w/ burnettk

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-27 14:05:49 -04:00
dependabot[bot] d32f86300f
Bump bandit from 1.7.7 to 1.7.8 in /spiffworkflow-backend (#1286)
Bumps [bandit](https://github.com/PyCQA/bandit) from 1.7.7 to 1.7.8.
- [Release notes](https://github.com/PyCQA/bandit/releases)
- [Commits](https://github.com/PyCQA/bandit/compare/1.7.7...1.7.8)

---
updated-dependencies:
- dependency-name: bandit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-27 15:28:34 +00:00
jasquat 37902277cc
added a debug endpoint to check celery backend and added return result to celery task w/ burnettk (#1280)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-26 17:31:01 -07:00
jasquat e724cc5856
added ability to retry getting a lock on task submit w/ burnettk (#1279)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-26 17:20:48 -04:00
dependabot[bot] 85e84e6e61
Bump types-pyyaml in /spiffworkflow-backend (#1257)
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.12 to 6.0.12.20240311.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-pyyaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
2024-03-26 13:04:47 -07:00
jasquat 930cfb720c
Handle pi lock from message service (#1278)
* handle process instance already locked in message service

* moved celery check to own method in message sevice w/ burnettk

* removed initial implementation w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-26 16:04:15 -04:00
jasquat aa7c2b587b
added an event to use when a process instance is forced to run w/ burnettk (#1277)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-26 11:44:41 -04:00
jbirddog e8d2396b38
Upsearch api (#1259)
* Run partial tests, add sqlite var

* Add upsearch api

* Getting ./bin/pyl to pass

* Getting ./bin/pyl to pass

* Clean up fixtures

* Revert this change

* PR feedback - use actual schema for api.yml

* Hopefully fix the permissions
2024-03-26 07:56:24 -07:00
jasquat a12d2883c1
Bpmn unit test from pi (#1262)
* added most of the code needed to generate a bpmn unit test from a process instance w/ burnettk

* pyl and tests are passing

* renamed some files and some clean up

* added api method to generate test case w/ burnettk

* debugging the generate test api w/ burnettk

* test case generator test case is now passing w/ burnettk

* added test for TaskMismatchError w/ burnettk

* added support for extension to create bpmn unit tests with the api w/ burnettk

* coderabbit and typeguard fixes w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-26 10:14:57 -04:00
jasquat b5b8031b44
fix-human-task-guid-fk (#1260)
* removed human_task_ibfk_5 from old migration file and updated task id removal migration to work with both mysql and postgres w/ burnettk

* use sqlalchemy error classes instead of mysql w/ burnettk

* mypy w/ burnettk

* remove deprecated cypress config w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-25 14:32:44 -04:00
jasquat ab9e823dcf
added public permissions to basic macro w/ burnettk 2024-03-22 12:00:00 -04:00
jasquat 0db1727a99
Bugfix/data object management (#1243)
* initial updates to prepare for data object data migration w/ burnettk

* added method to import bpmn_process_dict to the database w/ burnettk

* test to ensure we can import json is passing w/ burnettk

* added some more tests around importing bpmn process json w/ burnettk

* version 4 migration test is now passing w/ burnettk

* spiff lib back to main after its merge

* some coderabbit suggestions

* do not run version 3 and 4 migrations twice w/ burnettk

* build docker images for this branch w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-03-21 12:00:03 -04:00
jasquat 709a0c8492
Merge guest flow into unauth flow (#1233)
* removed some portions of the guest access flow in favor of the unauthed flow w/ burnettk

* removed guest access from auth flow in backend w/ burnettk

* updated frontend to use new public api for guest tasks

* fixed tests and updated get task url script to choose between public and non public urls

* removed old guest task support from frontend

* return 404 when a task cannot be found w/ burnettk

* fixed typo in group list tiles w/ burnettk

* added cypress tests for public formg w/ burnettk

* display metadata key for urls instead of values w/ burnettk

* updated permissions for acceptance testss w/ burnettk

* set up permissions for public group if it is in the list and login and logout admin user in ci to ensure permissions are set w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-19 11:52:27 -07:00
jasquat 9acd2954bb
Unauthed endpoint support (#1210)
* some basic updates for unauthed endpoints and the start of a test w/ burnettk

* added logic to create public access token if appropriate w/ burnettk

* updated message_form_show to return the rjs form w/ burnettk

* pyl w/ burnettk

* WIP: adding public routes to frontend w/ burnettk

* added public message form page to start a process instance w/ burnettk

* added api endpoint to submit message task data w/ burnettk

* allow switching rjsf themes in customform w/ burnettk

* we can submit a public message form w/ burnettk

* add message start submit to public exclusion list w/ burnettk

* run message submit in synchronous mode w/ burnettk

* a little refactoring to get ready for submitting unauthed tasks w/ burnettk

* created public controller w/ burnettk

* added api endpoint to submit additional public forms w/ burnettk

* added ability to submit a second form from the public web ui w/ burnettk

* some clean up and show markdown confirmation messages w/ burnettk

* added support for instructions and added a logout page for public users w/ burnettk

* support instructions for end user on the start message event as well w/ burnettk

* minor tweaks to public logout page w/ burnettk

* pyl w/ burnettk

* log unsupported form in custom form w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-14 15:55:37 -04:00
Dan Funk f8f64c3350
Allow deleting api keys after use. (#1206) 2024-03-14 10:43:14 -04:00
burnettk 420e9e32a8
let restricted script engine use random 2024-03-12 12:11:57 -04:00
jasquat 816d0607a2
run do engine steps for message start events even in async mode to ensure tasks are committed to the db properly w/ burnettk (#1191)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-11 17:26:37 -04:00
Dan Funk e2714fb5fd Fixing line endings on a markdown file. 2024-03-11 14:57:50 -04:00
Dan Funk 4a30b814fe just some updated docs. 2024-03-11 14:36:04 -04:00
Dan Funk 86b31d20cb
Messages as MicroServices (#1185)
* Purpose:  Allow the messages api endpoint to accept arbitrary JSON in it's body - and to respond with the latest task_data - this will allow you to create BPMN processes are that can function as microservices.

* Fixing a bug that prevented the synchronous execution of a message post.
* A message post directly uses the body of the post, do not specify it within a "payload".
* The message response is not just the process instance details, it now contains the "process_instance" and "task_data" at the top level of the returned json.
* The last completed task data is now returned as a part of a response to the message api endpoint, it is with the "task_data" attribute.

* CodeRabbit suggestions

* run_pyl fixes

* fix lint

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-03-11 11:24:31 -07:00
jbirddog 9c6c99db8e
Add min/max to the function allow list (#1187) 2024-03-11 10:18:37 -04:00
Dan Funk 137e8a8232
Docs/pycharm setup (#1169)
* Just some notes from getting my dev environnent set up again.

* fix readme link

* fixing black configuration.

* Black config settings in pre-commit.

* Update README.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update README.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update spiffworkflow-backend/docs/pycharm.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update spiffworkflow-backend/docs/pycharm.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update spiffworkflow-backend/docs/pycharm.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update spiffworkflow-backend/docs/pycharm.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-03-07 14:40:24 -05:00
jasquat bc3708bb00
async-support-on-message-start (#1173)
* 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>
2024-03-06 13:43:06 -08:00
jasquat a762efca33
remove unnecessary queue to celery when submitting a task w/ burnettk 2024-03-06 16:34:49 -05:00
jasquat f1abed13d6
remove unused arg from celery worker producer w/ burnettk 2024-03-06 15:48:24 -05:00
jasquat bc2852c984
added swagger docs to exclusion list (#1170)
* added swagger docs to exclusion list w/ burnettk

* added test for swagger docs w/ burnettk

* pyl w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-06 09:47:20 -05:00
jasquat 31b84c60e3
updated cryptography for security w/ burnettk 2024-03-05 14:43:55 -05:00
jasquat 0507f9cd8b
set request body schemas to open schemas rather than using incorrect ones w/ burnettk (#1168)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-05 11:35:30 -08:00
jasquat 2be7db73df
Feature/async support on pi run (#1161)
* added execution mode to task submit and pi run calls to run in async or sync mode w/ burnettk

* do not allow requesting async mode without celery w/ burnettk

* attempt to move queue checking for celery and async to same method to avoid confusing methods w/ burnettk

* if requesting synchronous mode then run with greedy as well w/ burnettk

* implemented some coderabbit suggestions w/ burnettk

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-05 08:20:54 -08:00
Kevin Burnett bcf0593ebc
bpmn unit test framework improvements for json issue (#1162)
* added the contents of script engine init to the process model test running init w/ burnettk

* get backend scripts

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-03-05 03:49:18 -08:00
Kevin Burnett 3416843329
spiff lib upgrade (#1139)
* wip spiff lib upgrade

* unit and script tests are now passing w/ burnettk

* tests and pre-commit are passing

* pass None in as external_context as named param instead of creating a variable w/ burnettk

* some extra debugging in case bpmn_xml_file_contents is empty w/ burnettk

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-04 12:29:37 -08:00
jasquat 4cebddb6c2
commit the db at the end of the save method in the processor to avoid race conditions between process instance and human task w/ burnettk (#1158)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-04 14:27:27 -05:00
jasquat a71af6e40f
Tcoz openai assist (#1138)
* 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.

* Implement basic tooltips

Uses MUI tooltip, as it behaves more predictably with existing styling, and enables top-level theme config.

Top-level configuration for all MUI components can be controlled via overriding the existing theme. See index.tsx. This could be done per user for customization, etc.

Enabling JSON module imports in tsconfig.json seemed to fix the error in ReactDiagramEditor

* Naive AI code editor implementation

A working starting point.

* Implement API to return if script assist should be enabled

Along with route and function, api config, etc.

* UI calls backend to see if script assist is enabled.

If it is, loads the related UI, otherwise it doesn't appear.

* Moving forward with service for message processing.

* Services scaffolded

* Open API called, prompt-engineered to get script only.

* Little cleanup work

* Enabled + process message working.

Had to find all the places permissions are enabled, etc.

* Cleanup, comments, etc.

* Env vars, styling, error cases, conditional display of script assist

Finishing touches for the most part.

REQUIRES TWO ENV VARS BE SET.

SPIFFWORKFLOW_SCRIPT_ASSIST_ENABLED=["True" | "true" | 1]  (anything else is false)
SECRET_KEY_OPENAI_API=[thekey]

The are retrieved in default.py. I run the app locally, so I just set them in the terminal.

NEW INSTALL: @carbon/colors (so we consistently use carbon palette etc.)

* Fix tooltips, clean up some styling.

Finishing it off.

* Add loader and error message

Complete UX stuff

* Update useScriptAssistEnabled.tsx

Remove log

* Update script_assist_controller.py

Add this tweak to avoid TMI.

* Some reasonable changes suggested by the build process

* Comments from PR.

* Update ProcessModelEditDiagram.tsx

Should (but I don't know how to tell yet) call the change handler that wasn't firing before.

* updated the permissions setting in authorization service w/ burnettk

* precommit now passes. tests are failing w/ burnettk

* pinned SpiffWorkflow to known working version and fixed tests. we will update spiff in a later pr w/ burnettk

* made changes based on coderabbi suggestions

* updated the error handling to be more inline with how we have handled other errors and some ui tweaks

* removed pymysql package w/ burnettk

* forgot to remove pymysql from lock file w/ burnettk

---------

Co-authored-by: Tim Consolazio <tcoz@tcoz.com>
Co-authored-by: Kevin Burnett <18027+burnettk@users.noreply.github.com>
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
2024-03-04 10:42:27 -05:00
Kevin Burnett e584d47205
support bpmn unit test method mocks (#1146)
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2024-03-03 06:50:38 -08:00