60 Commits

Author SHA1 Message Date
burnettk
a9a01f33c6
slam migrations file one last-ish time, increase task_name column length 2023-02-27 22:03:42 -05:00
jasquat
45b634a6df
recreated all migrations to resolve postgres migration failures w/ burnettk 2023-02-27 17:27:53 -05:00
jasquat
24ee23f28c
fixed conflict with db migrations w/ burnettk 2023-02-27 14:33:55 -05:00
jasquat
3cc0ad1fb8
Merge remote-tracking branch 'origin/main' into feature/script_get_last_user_completing_task 2023-02-27 14:28:23 -05:00
jasquat
9ce870274c
script to get last user completing a task is working w/ burnettk 2023-02-27 12:08:07 -05:00
burnettk
610fd2e777
wip for get_last_user_completing_task script task 2023-02-25 23:31:23 -05:00
Dan
d9ab0fde32 # SpiffWorkflow:
1) Type Safe checking on correlation properties (no more str())
2) A running workflows Correlations are once again at the key level.

# Backend
1) Both send and receive messages can have correlation_keys - and we compare these to each other to quickly assure a match (if they both exist - otherwise we fall back to comparing the properties on the receive to the sending messages payload)
2) Cleaned up the migrations to just one file
2023-02-24 14:53:22 -05:00
Dan
3a03b92ff0 BPMN Parser was returning all retrieval expressions, rather than the ones specific to a correlation property, as was intended.
Adding a correlation cache - so we have a reference of all the messages and properties (though still lacking a description of keys)
Adding yet another migration, maybe should squash em.
2023-02-23 16:36:32 -05:00
Dan
0b6596cad4 Adding Migration. 2023-02-23 14:42:00 -05:00
Dan
aa8c5022ea run_pyl 2023-02-23 14:17:22 -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
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
d99598f5c0 tasks and subprocesses can are setting the task states properly now when getting task data w/ burnettk jbirddog 2023-02-09 15:29:45 -05:00
jasquat
03d163b1e0 updated controller to use spiff step details to find correct task data to show w/ burnettk 2023-02-08 17:31:20 -05:00
jasquat
22dad8ac8a added additional columns to spiff_step_details w/ burnettk jbirddog 2023-02-08 12:43:30 -05:00
burnettk
a9f00ce1a7 if there are tenant specific fields in the config, transfer them from openid token to db 2023-02-04 00:03:32 -05:00
jasquat
7ca6a703f2 removed uniqueness constraint from human task so we can loopback to a previous task with a gateway w/ burnettk 2023-01-24 11:03:55 -05:00
jasquat
3f692ab1cb added locking system for process instances so hopefully background jobs will not take instances currently being run by the user w/ burnettk 2023-01-23 16:45:07 -05:00
jasquat
bc8dd80d99 added uniqueness constraint to spiff step details w/ burnettk 2023-01-23 11:03:17 -05:00
jasquat
a36f8a581a delete human tasks when process instance is deleted w/ burnettk 2022-12-28 14:02:39 -05:00
burnettk
0c5e4500c1 lint and regen schema 2022-12-22 21:15:10 -05:00
jasquat
b51f9ba5a1 merged in main and resolved conflicts w/ burnettk 2022-12-20 15:06:34 -05:00
jasquat
9687c3d1ea some initial changes to refactor report filters w/ burnettk 2022-12-20 11:16:06 -05:00
jasquat
5b11804f5f renamed active task to human task since we are no longer deleting them w/ burnettk 2022-12-19 16:23:02 -05:00
jasquat
bade105e7f merged in main and resolved conflicts w/ burnettk 2022-12-19 14:51:54 -05:00
jasquat
e68d19d8b3 added updated and created at columns on user w/ burnettk 2022-12-19 11:25:21 -05:00
jasquat
4369df1f84 added completed column to active task w/ burnettk 2022-12-16 16:51:49 -05:00
Dan
ec88ed92f9 Updated migrations. 2022-12-15 14:43:09 -05:00
Dan
6ca754f8a4 When loading permissions and the user does not exist, add records to the UserGroupAssignmentWaiting table that can be picked up later.
Request "profile" scope over OpenID so we can get a few more bits of information when avilable.
Add a "clear_perissions" script
Add an "add_permissions" script
Add an "add_permissions" script
When logging in for the first time, check for any awaiting permissions and assign them.
Add "enumerate" as a whitelisted function to React Schema
Add a "display_name" to the user table

Add a test for adding a new permission
Add a test for adding a user to group
Adding a test for deleting all permissions.
Adding a display name for the user table
2022-12-15 14:40:31 -05:00
Dan
552229110c Removing two fields from user table that were not used (uid, name)
Request email from open id clients, as this would provide a handy way to uniquely reference users when assigning to groups.
During Login do a lookup on email if possible -- so that permissions assignments based on email can be connected when sigining in through openid.
Don't use "open_id" for the service name on user accounts, use the iss string provided through open id,  this will allow us to support more than one open id platform.
Update the KeyCloak configuration so it is able to return email addresses for users -- which will make permission assignment easier in the future.
Removed several unused commands in the user_service class.
2022-12-12 15:43:19 -05:00
Dan
d80e4b3456 Merge branch 'main' into feature/create_containers 2022-12-06 18:06:09 -05:00
Dan
7e3daaab3d A little cleanup of the ui
Don't check authorization on static assets
Do not require unique username on user table (uniqueness check is on the service and service id composite.)
2022-12-01 12:12:37 -05:00
jasquat
258b478954 added api to get list of process report columns 2022-11-29 17:32:29 -05:00
jasquat
d12e606c84 added script to save process instance metadata and fixed permissions issue w/ burnettk cullerton 2022-11-28 15:26:50 -05:00
burnettk
37fcc547f7 remove column 2022-11-24 12:28:53 -05:00
burnettk
f8e78d352d start adding display name and removing garbage 2022-11-24 11:51:31 -05:00
burnettk
a49990337e Merge commit '9275b67b0dddac9628342741278c89f6f2bd3620' 2022-11-20 19:55:00 -05:00
mike cullerton
cf09b2258b precommit 2022-11-18 15:50:20 -05:00
Dan
de198940dd Fixing a bug in SpiffWorkflow (new version in poetry.lock)
Don't explode when back-filling process models and hitting and error
Assure processes are executable when setting them as the default primary process.
The SpecReferenceCache now uses a unique constraint across two fields. (requires a new db)
2022-11-15 14:50:41 -05:00
Dan
2b300d0d4e Merge remote-tracking branch 'origin/main' into feature/call_activity_selection 2022-11-15 09:55:02 -05:00
Dan
055824b778 Adding a very simple api endpoint that just returns a list of every process known to the system. 2022-11-14 21:54:13 -05:00
jasquat
dfeb0f534a refactored pagination table to allow prefixing page options w/ burnettk 2022-11-14 16:29:04 -05:00
Dan
7d1d72290d Mostly a name change from BpmnProcessIdLookup to SpecReferenceCache. I landed on this unfortunate name because:
1. It's not just processes, it contains the list of all DMN Decisions as well.
2. It is closely linked to the SpecReference object that can be generated by looking through all the Spec files to find the processes and decisions they contain.
3. It is a cache of information, the file system is the source of truth.  Seems likely we will cache more things in the future -- so setting things up this way made sense.
2022-11-14 15:23:37 -05:00
Dan
195c609d58 Adding a display name to the BPMN Process ID Lookup Table
Removing (very nearly, except for script unit tests) all the XML Parsing we were doing, see related PR on SpiffWorkflow
Moved the Custom Parser into its own file to solve some circular import issues
2022-11-12 12:36:07 -05:00
mike cullerton
9679720b5a Delete groups now checks for running instances in nested models
also, pyl
2022-11-10 16:44:27 -05:00
jbirddog
1382b25d37
Bulk insert spiff logs and step details (#26) 2022-11-09 15:43:12 -05:00
jasquat
75f9e259da fixed some acceptance tests w/ burnettk cullerton 2022-11-08 17:20:17 -05:00
jbirddog
fc7bf31670
First pass at custom report/perspective for Process Instance List (#23) 2022-11-08 09:26:42 -05:00
jbirddog
76fac5fb6d
From the logs, allow viewing a diagram in a previous state (#15)
Co-authored-by: Elizabeth Esswein <elizabeth.esswein@gmail.com>
2022-11-02 14:34:59 -04:00
jasquat
1579fb177d Merge commit '95d9dbf036f09b62054c04a64d5c7a9e3002173c' 2022-11-02 14:17:16 -04:00