Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Creating a workflow for an admin panel with distinct roles for requesting and approving actions involves defining a series of steps and permissions. Below is a basic outline of the workflow, along with the roles and their respective responsibilities. Keep in mind that the actual implementation may vary depending on your specific requirements and the technology stack you are using.

Roles:

  1. Requester Role:

    • Can initiate actions or requests.

    • Submits necessary information for the requested action.

    • Limited permissions, primarily focused on initiating requests.

  2. Approver Role:

    • Reviews and approves/rejects requested actions.

    • Has broader permissions to manage approvals.

Workflow:

  1. Request Initiation:

    • The Requester logs into the admin panel.

    • Navigate to the section for initiating actions or requests.

    • Fills out a request form, providing all necessary details.

    • Submit the request.

  2. Request Review:

    • The system logs the request and notifies the Approver role.

    • The Approver logs into the admin panel.

    • Navigate to the pending requests section.

    • Review the details of the request.

  3. Approval Process:

    • The Approver has the option to approve or reject the request.

    • If approved, the system proceeds with the requested action.

    • If rejected, the system notifies the Requester with a reason for rejection.

  4. Action Execution:

    • If the request is approved, the system executes the requested action.

    • This may involve database updates, changes in configurations, or other relevant operations.

  5. Status Updates:

    • The system updates the status of the request to reflect whether it was approved, rejected, or is still pending.

  6. Notification:

    • Both the Requester and Approver receive notifications on the status of the request.

    • Notifications may be in-app alerts, emails, or any other preferred communication method.

Additional Considerations:

  • Logging and Auditing:

    • Maintain detailed logs of all actions, including who initiated requests and who approved them.

    • This helps with accountability and auditing.

  • Role-Based Access Control (RBAC):

    • Ensure that permissions are well-defined for each role to prevent unauthorized access.

  • User Interface:

    • Design a user-friendly interface that indicates the status of requests and provides necessary information for both roles.

  • Security:

    • Implement proper security measures to protect sensitive data and actions.

  • Scalability:

    • Design the system to scale as the number of requests and users increases.

  • Customization:

    • Allow for customization of approval workflows based on specific business needs.

Customize this basic outline according to your specific requirements, and consider involving stakeholders and end-users in the design process to ensure the workflow meets their needs effectively.

Workflow nodes

New Workflow:

Screenshot from 2024-01-14 18-43-40.png
  • Edit name for Workflow

  • Workflow JSON : …..

  • Select ‘Workflow Initial Component’ : ….

  • + Add param
    - Key:
    - Data type:

  • 'Enabled' toggle

1. userDecision [Flexible user decision]

Screenshot from 2024-01-14 18-56-57.png
  • Component: Web Component Selection

    Assignee User:
    Selection of the person to whom the task will be assigned by choosing a task solution in the Workflow -> openTasks section. Only this user will see the creation of the task. You can choose only one: Assignee User | Assignee Role | Assignee Permission

    Assignee Role:
    Only users with the selected role will be assigned to choose a solution for a task in the Workflow -> openTasks section. You can choose only one: Assignee User | Assignee Role | Assignee Permission

    Assignee Permission:
    Only users with selected access will be assigned to select a solution for a task in the Workflow -> openTasks section. You can choose only one: Assignee User | Assignee Role | Assignee Permission

    Params Key:
    Specify the key in which the data will be displayed when choosing a solution to the problem. By default, it is initialData

    Out port N:
    An option for solving the given problem that will lead to the next node in the chain

    • Name: The name of the solution

    • Primary: The button will be painted in the basic color of the platform (oriented towards a positive decision)

    • Danger: The button will be painted in red (oriented towards request rejection)

    +Add Out Port:
    Adding additional options for solving the problem

    In: This signifies the connection of the previous node and the transfer of data regarding the task.

    Out Port: This port is where the request will depart to the next connected node or exit. Multiple ports may exist, depending on the created options for problem resolution.

  1. actionCall [Call any action of any service]

Screenshot from 2024-01-14 19-07-20.png
  • Action: Functionality available in the GraphQL noise of the project, to be called with the passed parameters.

    Params Key: The key containing the data passed to the function call. Default is initialData.

    Result Key: A key containing data resulting from the function—standard result.

    In: Connects the previous node and transfers data.

    Success: Connects to the next node upon successful execution of the function.

    Error: Connects to the next node when execution fails.

  1. CheckPermissions [Check permissions]

Screenshot from 2024-01-14 19-10-50.png
  • Params Key: Specifies the key containing the permissions of the user whose access needs to be checked. The default is initialMeta.permissions

    Permissions: Selection of permissions that will determine the transition to the true port.

    In: Connects the previous node and transfers data.

    True: Connects to the next node if the selected accesses match the selected user's access.

    False: Connects to the next node if the selected accesses do not match the selected user's access.

  1. checkRoles [Check roles]

Screenshot from 2024-02-21 12-49-29.png
  • Params Key: Specifies the key containing the ID of the user whose roles need to be checked. The default is initialMeta.user.id

    Roles: Selection of roles that will determine the transition to the true port.

    In: Connects the previous node and transfers data.

    True: Connects to the next node if the selected roles match the role of the selected user.

    False: Connects to the next node if the selected roles do not match the selected user's role.

  1. copy [Copy data]

Screenshot from 2024-02-21 12-51-02.png
  • From: The key containing the data to be copied.

    To: The key where the data to be copied will be located.

    +Add Copy action: Creates additional keys whose data will be copied to other keys.

    In: Connects the previous node and transfers data.

    Out: Connects to the next node and transmits data.

  1. delete [Delete values]

Screenshot from 2024-02-21 12-56-00.png
  • Delete Item: A key with a value that will be deleted and passed on without this data.

    Add Delete action: Adds fields where the key for deleting data will be specified.

    In: Connects the previous node and transfers data.

    Out: Connects to the next node and transmits data.

  1. if [If condition]

Screenshot from 2024-01-14 19-38-00.png
  • Condition: Description of the condition under which the connection of the next node will be directed through the true output. For example, wallets.length > 0.

    In: Connects the previous node and transfers data.

    True: Connects to the next node and transfers data when the specified condition is met.

    False: Connects to the next node and transfers data if the specified condition is not fulfilled.

  1. set [Set values]

Screenshot from 2024-02-21 12-56-40.png
  • Key: The identifier where the transferred data in the Value field will be stored.

    Type: The data type to be saved:

    • String

    • Number

    • Boolean

    • Expression

    When selecting ‘Expression’, - concatenate strings with values to return a string type. For example, "Create a new currency: " + initialData.id, where initialData.id represents the ID of the new currency. The resulting value might be, for instance, "Create a new currency: USDT".

    Value: The data to be saved.

    Add Set action: Adds another block for setting data.

    In: Connects the previous node and transfers data.

    Out: Connects to the next node and transmits data.

  1. startNode [Starting point of any workflow]

Out: Establishes the connection to the next node and facilitates the transfer of data.

  1. endNode [End point of workflow]

In: Connects the previous node and completes the Workflow execution.


Workflows

  1. Admin Deposit

Conditions for nodes:


Conditions for permissions:
Requester Role:
Approver Role:

Audit logs:

  1. Admin Withdraw
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  2. Turn off user 2 FA
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  3. User soft ban
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  4. Create / Update Currency
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  5. Create / Update Market
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  6. User KYC
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  7. Operations with error / Cancel order
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  8. Create / Update referrals groups
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  9. Blockchains configuration
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  10. Create / Update Workflow
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  11. Create / Update Manual rates
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  12. Create / Update roles
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  13. Create / Update Privileged Users
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:

  14. Soft ban / Soft unban all users
    Conditions for nodes:

    Conditions for permissions:
    Requester Role:
    Approver Role:

    Audit logs:


    _______________________________________

  • No labels