868 Commits

Author SHA1 Message Date
Dan
8c673c4fb6 BPMN.io -- Just show the message names not the ids - to assure we are only exposing the names.
SpiffWorkflow -
    - start_messages function should return message names, not ids.
    - don't catch external thrown messages within the same workflow process
    - add an expected value to the Correlation Property Model so we can use this well defined class as an external communication tool (rather than building an arbitrary dictionary)
    - Added a "get_awaiting_correlations" to an event, so we can get a list of the correlation properties related to the workflows currently defined correlation values.
    - workflows.waiting_events() function now returns the above awaiting correlations as the value on returned message events
 Backend
    - Dropping MessageModel and MessageCorrelationProperties - at least for now.  We don't need them to send / receive messages though we may eventually want to track the messages and correlations defined across the system - these things (which are ever changing) should not be directly connected to the Messages which may be in flux - and the cross relationships between the tables could cause unexpected and unceissary errors.  Commented out the caching logic so we can turn this back on later.
    - Slight improvement to API Errors
    - MessageInstances are no longer in a many-to-many relationship with Correlations - Each message instance has a unique set of message correlations specific to the instance.
    - Message Instances have users, and can be linked through a "counterpart_id" so you can see what send is connected to what recieve.
    - Message Correlations are connected to  recieving message instances.  It is not to a process instance, and not to a message model.  They now include the expected value and retrieval expression required to validate an incoming message.
    - A process instance is not connected to message correlations.
    - Message Instances are not always tied to a process instance (for example, a Send Message from an API)
    - API calls to create a message use the same logic as all other message catching code.
    - Make use of the new waiting_events() method to check for any new recieve messages in the workflow (much easier than
    churning through all of the tasks)
    - One giant mother of a migration.
2023-02-23 13:53:03 -05:00
Dan
7b16625cff run_pyl 2023-02-20 12:34:42 -05:00
Dan
5171e53240 * SpiffWorkflow event_definitions wanted to return a message event's correlation properties mested within correlation keys. But messages are directly related to properties, not to keys - and it forced a number of conversions that made for tricky code. So Messages now contain a dictionary of correlation properties only.
* SpiffWorkflow did not serialize correlations - so they were lost between save and retrieve.

* When comparing Correlation Property values - we are storing these values as strings in the database and can't convert them back to integers later, so I'm changing everying everywhere to compare after conversion to a string.  Don't feel great about this one.
* By using an SQL Alchemy join table, there is a lot of db queries we don't need to write.
* A few handy fucntions on db models to make it easier to work with correlations.
* Updated tests because I changed some of the BPMN models we were testing against.
* Database migration to use the new constraint names with the alternate form of the join table between correlation mesages to instance messages.
2023-02-20 11:50:35 -05:00
Dan
6e7f36e55f Allow people to run commands like "flask db upgrade" without setting specific environment variables like FLASK_SESSION_SECRET_KEY everytime - they just need to add in their own /instance/config.py with their local configuration. 2023-02-19 10:37:00 -05:00
Dan
28ac9ef872 * Re-work message tests so I could wrap my simple head around what was happening - just needed an example that made sense to me.
* Clear out complex get_message_instance_receive how that many-to-many works.
* Create decent error messages when correlations fail
* Move correlation checks into the MessageInstance class
* The APIError could bomb out ugly if it hit a workflow exception with not Task Spec.
2023-02-18 13:09:58 -05:00
Dan
4958dbf895 failing test. 2023-02-17 12:10:32 -05:00
Dan
50d3ee544b Merge branch 'main' into feature/message_fixes 2023-02-17 12:01:38 -05:00
Dan
948deb97bc work in progress -
* Link between message instance and correlations is now a link table and many-to-many relationships as recommended by SQLAlchemy
* Use the correlation keys, not the process id when accepting api messages.
2023-02-17 10:45:01 -05:00
jasquat
bf6052d2cb
put the env vars in the env section of the github action configs w/ burnettk 2023-02-16 15:19:01 -05:00
jasquat
311a5b060d
added test for quickstart guide w/ burnettk 2023-02-16 15:05:55 -05:00
jasquat
012396b01e
pyl 2023-02-16 14:38:19 -05:00
jasquat
c48bb712e8
Merge remote-tracking branch 'origin/main' into feature/support_local_openid_in_cypress_tests 2023-02-16 14:25:51 -05:00
burnettk
6f0c977f7e
use _GIT_SOURCE_BRANCH instead of _GIT_BRANCH 2023-02-16 14:10:31 -05:00
burnettk
af45ca4301
fix unprefixed config 2023-02-16 13:56:48 -05:00
burnettk
93da627b24
update configs for publish feature 2023-02-16 13:47:26 -05:00
jasquat
5342b50bac
added some support for using the backend openid server for cypress tests w/ burnettk 2023-02-16 12:09:44 -05:00
burnettk
9a88dc2d81
add new uses and delete ppg.ba.sme1 2023-02-16 11:53:08 -05:00
jasquat
f004db1562
the equal sign is not apart of the env var w/ burnettk 2023-02-16 11:18:50 -05:00
jasquat
1fd086f055
updated terraform deployed env config name w/ burnettk 2023-02-16 10:51:05 -05:00
jasquat
59a166ddf6
more config updates w/ burnettk 2023-02-16 10:21:02 -05:00
jasquat
e1b71d5267
cleaned up the default config file a bit 2023-02-16 09:05:40 -05:00
jasquat
bb0ac42fe5
pyl 2023-02-16 08:33:39 -05:00
jasquat
fb5d902ce4
fixed some env vars for ci 2023-02-16 07:59:51 -05:00
jasquat
1f2a5e2ddf
pyl 2023-02-16 07:39:40 -05:00
jasquat
47807a6a0c
Merge remote-tracking branch 'origin/main' into feature/update_configs_with_prefix 2023-02-16 07:17:39 -05:00
burnettk
78fee35028
remove unused import 2023-02-16 06:34:03 -05:00
burnettk
84c77395d4
all tests pass w/ spiff lib upgrade, thanks for the help elizabeth 2023-02-15 22:56:12 -05:00
burnettk
608efeb565
format 2023-02-15 22:35:55 -05:00
jasquat
3abd4c92c6
updated remaining configs manually w/ burnettk 2023-02-15 17:21:37 -05:00
jasquat
78360de25f
updated secret config names as well w/ burnettk 2023-02-15 17:17:47 -05:00
jasquat
497389ceb9
updated configs to use the prefix using the script w/ burnettk 2023-02-15 17:07:12 -05:00
jasquat
f9a7e40488
updated default user group var name for better prefix w/ burnettk 2023-02-15 16:43:40 -05:00
jasquat
a6a1f06941
save task data to spiff step details when copmleting a user task as well w/ burnettk jbirddog 2023-02-15 15:34:51 -05:00
jasquat
3a00f09baa append OPEN_ID to TENANT_SPECIFIC_FIELDS for clarification on what it is from w/ burnettk 2023-02-15 11:12:30 -05:00
jasquat
c8801094a5 do not remove the default user group when refreshing permissions w/ burnettk 2023-02-15 11:09:04 -05:00
Dan
66eba786af Merge branch 'main' of github.com:sartography/spiff-arena into main 2023-02-14 19:39:46 -05:00
Dan
c1c5d02547 The aud in a json web token can be a string or an array -- so also deal with the case that it is an array 2023-02-14 19:39:35 -05:00
jasquat
4f7b2bdc8a updates to user import scripts w/ burnettk 2023-02-14 17:39:42 -05:00
jasquat
18a1b83e60 commit user if it has changed any attributes w/ burnettk 2023-02-14 15:08:25 -05:00
jasquat
f7f7b60eb6 fix for mypy on python 3.9 w/ burnettk 2023-02-14 11:34:45 -05:00
jasquat
386f1c926d give some leeway to iat when validating auth w/ burnettk 2023-02-14 10:51:11 -05:00
jasquat
6e49fcc975 add in debug logging when failing to login to help debug auth failures 2023-02-14 09:59:29 -05:00
jbirddog
2eab56525a
Don't try to complete a ready task to move the process instance diagram to the next yellow. (#136) 2023-02-13 18:52:06 -05:00
Dan Funk
4e27d5c6e7
Merge pull request #137 from sartography/failing_test
Check the End Event to fix the failing test
2023-02-13 17:04:32 -05:00
jasquat
c3713e6d94 allow overriding keycloak url in add user script w/ burnettk 2023-02-13 16:16:43 -05:00
jasquat
047605a282 updated add test users script to use realm admin w/ burnettk 2023-02-13 16:04:57 -05:00
Jon Herron
1c95d2f234 The End Event has a spiff step 2023-02-13 14:13:34 -05:00
jasquat
b06929ec08 added script to import users w/ burnettk 2023-02-13 12:15:00 -05:00
jasquat
a39ae63bde added api endpoint to allow logging in for the first time with an openid access_token w/ burnettk 2023-02-13 11:57:31 -05:00
Dan Funk
69f85aad6b
Merge pull request #135 from sartography/bug/len
This should fix the len issue - though there may be better ways to fix
2023-02-13 10:38:32 -05:00