Integration flows
Update
Introduction
Soffid provides a workflow to modify and/or delete a user in the final system. In it, we can see each of the steps of which this process is composed.
Diagram
Step by Step
In this document, we will explain the process that Soffid performs to modify a user for the SQL connector.
1. UpdateUser
First of all, Soffid checks if the user exists in Soffid and then checks the operation to perform, update or delete.
1.1. If the user does not exist in Soffid, the process finishes [10. End].
1.2. If the user exists in Soffid, the process continues [2. User to remove?].
2. User to remove?
2.1. If the user is marked for Deletion, Soffid will ask for user consent to continue with the flow or to cancel it. If the answer is Yes, the flow follows the branch of Yes, [3. Delete branch].
2.2. If the user is marked for Update, it continues with the flow following the branch of No, [4. Insert or Update branch].
3. Delete branch
3.1. When the operation to perform is to delete a user, first of all, Soffid has to check if the user exists in the target system. To do this, Soffid executes the property check of the Account or User object.
3.1.1. If the user does not exist, there are no actions to perform in the target system, so the process finishes [10. End].
3.1.2. If the user exists, the flow continues executing the Pre-delete triggers if there is anyone configured. More than one script can be configured. These scripts are executed just before the main action, remove the user, and the result (true or false) determines if the main action will be performed or not.
3.1.2.1. False: if the response is false for one or more of these triggers, the process finishes [10. End].
3.1.2.2.True: if the response is true for all of these triggers, Soffid continues the process.
3.1.3. Soffid remove the user. To do that, Soffid executes the property delete of the Account or User object.
3.1.3. Then Soffid executes the post-delete triggers if any. These triggers can be used to perform a specific action just after performing the remove user operation on the target object.
3.1.3. Then the process finishes [10. End].
4. Insert or Update branch
4.1. When the operation to perform is to update a user, first of all, Soffid generates the columns values. That is, Soffid creates an object with the mapping values.
4.2.Then Soffid asks if the user exists in the target system to decide if the action to execute will be an update or an insert. Soffid executes the property check of the Account or User object.
4.2.1. If the user does not exist in the target system, the process continues for the insert user branch.
4.2.1.1. Soffid executes the pre-insert triggers if there is anyone configured
4.2.1.1.1. False: if the response is false for one or more of these triggers, the process finishes [10. End] and the user is not created
4.2.1.1.2. True: if the response is true for all of these triggers, Soffid continues the process.
4.2.1.2. Soffid creates the user
4.2.1.3. Then Soffid executes post-insert triggers if any.
4.2.1.4. Then the process continues with [5. Account and grants]
4.2.2. If the user exists in the target system, the process continues for the update user branch.
4.2.2.1. Soffid fetches the current values of the user
4.2.2.2. Then compute delta changes ¿¿¿¿
4.2.2.3. And finally execute the pre-update triggers.
4.2.2.3.1. False: if the response is false for one or more of these triggers, the process finishes [10. End] and the user is not updated
4.2.2.3.2. True: if the response is true for all of these triggers, Soffid continues the process.
4.2.2.4. Soffid updates the user
4.2.2.5. Then Soffid executes the post-update triggers if any.
4.2.1.6. Then the process continues with [7. Account and grants]
5. Insert user branch
6. Update user branch
7. Account and grants
At this point, soffid .........................................
7.1. Generate account column value
7.2. Soffid Fetch current grants for
7.3. Parse grant rows
8. Grant to add
8.1. If there are No grants to add, the process goes to [9. Grant to Remove].
8.2. Yes, there are grants to add:
8.2.1. Generate grant column values
8.2.2. Soffid executes the pre-insert triggers if there is anyone configured:
8.2.2.1. False: if the response is false for one or more of these triggers, the process finishes [10. End] and the grant is not inserted
8.2.2.2. True: if the response is true for all of these triggers, Soffid continues the process.
8.2.3. If the result of the trigger is true, then Soffid creates the grant
8.2.4. Post-insert triggers
8.2.5. Flow goes to [8. Grant to add]
9. Grant to remove
9.1 No: If there are No grants to add, the process goes to [10. End].
9.2. Yes Yes
9.2.1. Pre-delete triggers
9.2.2.1. False: if the response is false for one or more of these triggers, the process finishes [10. End] and the grant is not deleted.
9.2.2.2. True: if the response is true for all of these triggers, Soffid continues the process.
9.2.2.Delete grant
Return false
9.2.3. Post-delete trigger
9.2.4. Flow goes to [9. Grant to remove].
10. End
The process finishes.
------
1. Th1. Th