Add role membership workflow handlers

This commit is contained in:
Tomaž Jerman
2021-07-30 10:25:10 +02:00
parent 8ccaa76d87
commit 3f36a0f865
13 changed files with 1311 additions and 2 deletions
@@ -0,0 +1,7 @@
users:
u1: u1@example.tld
u2: u2@example.tld
roles:
r1: Role1
r2: Role2
@@ -0,0 +1,74 @@
workflows:
role-members:
enabled: true
trace: true
triggers:
- enabled: true
stepID: 10
steps:
# Adding membership
- stepID: 10
kind: function
ref: rolesAddMember
arguments:
- { target: role, type: Handle, value: r1 }
- { target: user, type: Handle, value: u1 }
- stepID: 11
kind: function
ref: rolesAddMember
arguments:
- { target: role, type: Handle, value: r2 }
- { target: user, type: Handle, value: u1 }
# Get current state
- stepID: 20
kind: function
ref: rolesSearchMembers
arguments:
- { target: lookup, type: Handle, value: r1 }
results:
- { target: usersPre_r1, expr: "users" }
- { target: totalPre_r1, expr: "total" }
- stepID: 21
kind: function
ref: rolesSearchMembers
arguments:
- { target: lookup, type: Handle, value: r2 }
results:
- { target: usersPre_r2, expr: "users" }
- { target: totalPre_r2, expr: "total" }
# Removing membership
- stepID: 30
kind: function
ref: rolesRemoveMember
arguments:
- { target: role, type: Handle, value: r1 }
- { target: user, type: Handle, value: u1 }
# Get final state
- stepID: 40
kind: function
ref: rolesSearchMembers
arguments:
- { target: lookup, type: Handle, value: r1 }
results:
- { target: usersPost_r1, expr: "users" }
- { target: totalPost_r1, expr: "total" }
- stepID: 41
kind: function
ref: rolesSearchMembers
arguments:
- { target: lookup, type: Handle, value: r2 }
results:
- { target: usersPost_r2, expr: "users" }
- { target: totalPost_r2, expr: "total" }
paths:
- { parentID: 10, childID: 11 }
- { parentID: 11, childID: 20 }
- { parentID: 20, childID: 21 }
- { parentID: 21, childID: 30 }
- { parentID: 30, childID: 40 }
- { parentID: 40, childID: 41 }
@@ -0,0 +1,7 @@
users:
u1: u1@example.tld
u2: u2@example.tld
roles:
r1: Role1
r2: Role2
@@ -0,0 +1,115 @@
workflows:
user-membership:
enabled: true
trace: true
triggers:
- enabled: true
stepID: 10
steps:
# Adding membership
- stepID: 10
kind: function
ref: rolesAddMember
arguments:
- { target: role, type: Handle, value: r1 }
- { target: user, type: Handle, value: u1 }
- stepID: 11
kind: function
ref: rolesAddMember
arguments:
- { target: role, type: Handle, value: r2 }
- { target: user, type: Handle, value: u1 }
# Get current state
- stepID: 20
kind: function
ref: usersSearchMembership
arguments:
- { target: lookup, type: Handle, value: u1 }
results:
- { target: rolesPre_u1, expr: "roles" }
- { target: totalPre_u1, expr: "total" }
- stepID: 21
kind: function
ref: usersSearchMembership
arguments:
- { target: lookup, type: Handle, value: u2 }
results:
- { target: rolesPre_u2, expr: "roles" }
- { target: totalPre_u2, expr: "total" }
- stepID: 22
kind: function
ref: usersCheckMembership
arguments:
- { target: user, type: Handle, value: u1 }
- { target: role, type: Handle, value: r1 }
results:
- { target: memberPre_u1, expr: "member" }
- stepID: 23
kind: function
ref: usersCheckMembership
arguments:
- { target: user, type: Handle, value: u2 }
- { target: role, type: Handle, value: r1 }
results:
- { target: memberPre_u2, expr: "member" }
# Removing membership
- stepID: 30
kind: function
ref: rolesRemoveMember
arguments:
- { target: role, type: Handle, value: r1 }
- { target: user, type: Handle, value: u1 }
# Get final state
- stepID: 40
kind: function
ref: usersSearchMembership
arguments:
- { target: lookup, type: Handle, value: u1 }
results:
- { target: rolesPost_u1, expr: "roles" }
- { target: totalPost_u1, expr: "total" }
- stepID: 41
kind: function
ref: usersSearchMembership
arguments:
- { target: lookup, type: Handle, value: u2 }
results:
- { target: rolesPost_u2, expr: "roles" }
- { target: totalPost_u2, expr: "total" }
- stepID: 42
kind: function
ref: usersCheckMembership
arguments:
- { target: user, type: Handle, value: u1 }
- { target: role, type: Handle, value: r1 }
results:
- { target: memberPost_u1, expr: "member" }
- stepID: 43
kind: function
ref: usersCheckMembership
arguments:
- { target: user, type: Handle, value: u2 }
- { target: role, type: Handle, value: r1 }
results:
- { target: memberPost_u2, expr: "member" }
paths:
- { parentID: 10, childID: 11 }
- { parentID: 11, childID: 20 }
- { parentID: 20, childID: 21 }
- { parentID: 21, childID: 22 }
- { parentID: 22, childID: 23 }
- { parentID: 23, childID: 30 }
- { parentID: 30, childID: 40 }
- { parentID: 40, childID: 41 }
- { parentID: 41, childID: 42 }
- { parentID: 42, childID: 43 }