DEV Community

Gerardo Andrés Ruiz Castillo
Gerardo Andrés Ruiz Castillo

Posted on • Originally published at geanruca.gitvlg.com

Empowering Superadmins: Streamlining User and Tenant Management

In the realm of multi-tenant applications, efficient management of tenants and users is paramount. The devlog-ist/landing project, designed to provide a landing page solution, has recently undergone enhancements to empower superadmins with greater control over these critical resources.

The updates focus on providing superadmins with the ability to seamlessly delete both tenants and users directly from Filament resources, simplifying administrative tasks and improving overall system management.

Enhanced Deletion Capabilities

Previously, superadmins may have faced limitations in directly deleting tenants or users through the Filament interface. The recent changes introduce the following improvements:

  • canDelete and canDeleteAny Enabled: Superadmins now have the canDelete and canDeleteAny permissions enabled on both TenantResource and UserResource. This unlocks the ability to remove individual records or perform bulk deletions.
  • Delete Actions with Confirmation: Delete actions have been added to the tables, providing a clear and intuitive way to initiate the deletion process. Confirmation prompts are included to prevent accidental data loss.
  • Bulk Delete Support: Superadmins can now efficiently remove multiple tenants or users simultaneously through bulk delete actions, saving time and effort.

Streamlined Workflow

With these enhancements, the workflow for managing tenants and users is significantly streamlined. Superadmins can now perform the following actions directly from the Filament interface:

  1. Navigate to the TenantResource or UserResource.
  2. Select the tenants or users to be deleted.
  3. Initiate the delete action.
  4. Confirm the deletion to permanently remove the selected records.

Example

Imagine a scenario where a superadmin needs to remove several inactive user accounts. Previously, this might have involved complex database queries or manual intervention. With the new enhancements, the superadmin can simply select the inactive users in the UserResource table, initiate a bulk delete action, and confirm the deletion. This simple and efficient process saves valuable time and reduces the risk of errors.

// Example: Deleting a user from the UserResource
func DeleteUser(userID int) error {
  // Code to delete the user from the database
  // Includes confirmation step to prevent accidental deletion
  return nil
}
Enter fullscreen mode Exit fullscreen mode

Conclusion

By enabling canDelete and canDeleteAny permissions, adding delete actions with confirmation prompts, and introducing bulk delete support, the devlog-ist/landing project has significantly improved the efficiency and ease of tenant and user management for superadmins. These enhancements empower administrators to maintain a clean and organized system, reducing administrative overhead and improving overall system performance.

Top comments (0)