68 Commits

Author SHA1 Message Date
=
37f6e00fa2 Feat: make home route redirect to dashboard 2026-05-29 11:53:56 +00:00
6ff2b803bb
Merge pull request #1 from subhajit9328/feature/test-saml-integration
Feature/test saml integration
2026-05-29 11:41:02 +05:30
=
8a41ae6ac1 Feat: assigned user status change, search, pagination and notification
- Added activity logs for ticket status changes, comments, and ticket views.
- Implemented `TicketStatusChangedNotification` to notify users of status updates.
- Enhanced ticket list filtering with pagination, search, and status filters.
- Updated UI to better handle ticket assignments, status updates, and comment notifications.
- Extended tests for activity logs, unauthorized actions, status change notifications, and filtering functionalities.
2026-05-28 13:22:36 +00:00
=
df4a84b970 Feat: introduce Microsoft Entra ID federation configuration
- Added `MicrosoftGraphCredentialsData` and `FederatedIdpMfaBehaviorEnum` for managing Entra ID integration.
- Implemented `MicrosoftGraphService` to handle federation setup, domain management, and token authentication.
- Created UI for managing Microsoft Graph Federation, including connection and disconnection flows.
- Extended tests to validate Microsoft Graph Federation functionality.
2026-05-28 12:43:17 +00:00
=
f61acb8907 add email address claims in XML 2026-05-27 13:10:51 +00:00
=
a37b6a91be Feat: Show Immutable Id field if user has a SAML App
- added a ImmuatableId field in manage roles
- Generate ImmutableId using user Id if not available
2026-05-27 10:43:44 +00:00
=
4849736c60 Feat: add intials SAML SSO compatibility.
- SAML public certificate generation
- Authentication using SAML
2026-05-27 05:49:36 +00:00
=
04c62145b5 Feat: notify all administrators when a ticket is raised
- Updated `TicketService` to trigger notifications to all administrators upon ticket creation.
- Added test to verify administrator notifications when a support ticket is raised.
- Minor formatting adjustments in `Ticket` model's imports for consistency.
2026-05-26 07:14:31 +00:00
=
67002d6979 Feat: add ticket assignment, comments, and notifications
- Added migration for ticket assignment and comments (`assigned_user_id` and `ticket_replies` table).
- Implemented `TicketAssignedNotification` and `TicketCommentedNotification`.
- Created `ReplyData`, `TicketListData`, and `PostReplyRequest` data classes.
- Introduced `ResolveNotificationRouteController` for modular notification redirection.
- Updated UI to support assigning users and posting comments on tickets.
- User is navigated to comments page when clicked on the ticket, upon navigation ticket details modal is opened.
- Extended tests to cover assignments, comments, status transitions, and notifications.
2026-05-26 07:01:18 +00:00
=
cac5f4905b WIP: implement ticketing system with support for notifications and attachments
- Added database migrations for tickets, statuses, roles, users, and related associations.
- Introduced models and enums for ticket status, permissions, and notifications.
- Implemented `TicketService` for ticket management and notification handling.
- Created Livewire form and UI for raising tickets with file attachments and routing options.
- Added tests covering ticket creation, validation, notifications, and file uploads.
2026-05-25 13:04:43 +00:00
=
c826ffbfcb Merge remote-tracking branch 'origin/feature/#113205-permission-manager' into feature/#113205-permission-manager 2026-05-25 10:14:48 +00:00
=
2a19940635 Feat: implement role-based priority restrictions and permission manager
- Added `priority`-based access logic to restrict role and user management actions.
- Introduced `Permission Manager` UI and routes for permission access control.
- Updated `RoleService` and `AppRoleService` to include `visible` scope for priority filtering.
- Enhanced seeding to assign priorities to default roles and ensure proper hierarchy.
- Updated sidebar, routes, and data structure to handle new permission enums and resource segmentation.
- Improved UI components to dynamically restrict visibility and actions based on role priority.
2026-05-25 10:14:28 +00:00
=
dcb5bd2790 Feat: implement role-based priority restrictions and permission manager
- Added `priority`-based access logic to restrict role and user management actions.
- Introduced `Permission Manager` UI and routes for permission access control.
- Updated `RoleService` and `AppRoleService` to include `visible` scope for priority filtering.
- Enhanced seeding to assign priorities to default roles and ensure proper hierarchy.
- Updated sidebar, routes, and data structure to handle new permission enums and resource segmentation.
- Improved UI components to dynamically restrict visibility and actions based on role priority.
2026-05-25 10:12:42 +00:00
=
d024308c2e Feat: add ConnectedAppFactory, MockDataSeeder, and role-app connection logic
- Introduced `ConnectedAppFactory` for generating connected app data.
- Added `MockDataSeeder` to create sample roles, users, and apps with dynamic role-app assignments.
- Extended `RoleAndAppsPermissionEnum` with `ConnectApps` permission.
- Updated access-manager UI to handle app-connection actions with proper authorization.
- Integrated app-role connection logic in Livewire component and updated `roles-and-apps` view for permissions-based actions.
2026-05-25 07:01:45 +00:00
=
cd29191c7b Feat: add role priority management
- Added `priority` column to `roles` table with migration and model updates.
- Introduced priority management methods in `RoleService` and validation logic for updates.
- Enhanced access-manager UI to display and edit role priorities via a modal.
- Updated related data classes and views to support and handle the new priority field.
2026-05-25 06:35:21 +00:00
=
d7c2491fed Refactor: consolidate and replace permission enums for streamlined access management
- Replaced `AccessManager`, `Apps`, and `Settings` enums with modular enums like `RoleAndAppsPermissionEnum`, `AppPermissionEnum`, etc.
- Updated route, view, Livewire components, and tests to use new modular enums.
- Enhanced `DefaultRoleWithPermissionSeeder` and `PermissionSeeder` with updated enums.
- Added README in the Enums/Permissions directory to explain usage and naming conventions.
- Refactored dashboard sidebar and route definitions for better enum-based permission handling.
- Improved test coverage to validate new permission enums functionality.
2026-05-25 06:18:09 +00:00
=
4fe1765525 Feat: add "Select All" and "Revoke All" permissions functionality in user access management
- Introduced methods `selectAllPermissions` and `revokeAllPermissions` in Livewire component.
- Updated permissions section UI with buttons for selecting and revoking all permissions.
- Enhanced user experience by simplifying bulk permission management.
2026-05-22 13:20:30 +00:00
=
42737a6a2f Feat: integrate reusable confirmation logic across components
- Applied `Confirmation` trait to multiple Livewire components for unified confirmation handling.
- Replaced inline confirmation modals with `requireConfirmation` method for streamlined interaction.
- Updated button styles and added reusable confirmation prompts for delete/detach actions.
- Enhanced `AppRoleService` and `ConnectionProviderService` to support deletion with confirmation.
2026-05-22 12:59:12 +00:00
=
5eca6d3602 Feat: add confirmation modal component and Livewire support
- Introduced `Confirmation` trait for reusable confirmation modal logic in Livewire components.
- Added `ConfirmationModal` Livewire component for handling confirmation prompts with customizable title, subtitle, description, and styling.
- Updated `captainhook.json` to increase `subjectLength` limit.
- Integrated confirmation modal in the sidebar layout with `<livewire:confirmation-modal/>`.
2026-05-22 11:37:31 +00:00
=
2956d03001 Feat: add role and permission middleware to routes 2026-05-22 11:36:51 +00:00
=
0fd2848475 Refactor: update auth page design and favicon
- Updated login and registration forms with improved layout and new components for better user experience.
- Removed unused favicon and replaced references with updated logo image.
2026-05-22 09:02:16 +00:00
=
ec26c0a205 Refactor: user in dashboard topbar and fix binding
- Centralized user data retrieval in `dashboard-topbar.blade.php` by introducing `$user` variable.
- Enhanced topbar dropdown with user details (name, email) and improved styling.
- Fixed Livewire binding in roles-and-apps view by replacing `model` with `wire:model`.
2026-05-21 13:20:27 +00:00
=
8079b878a1 Feat: add dynamic topbar with role-based display
- Updated `dashboard-topbar.blade.php` to show "Admin Panel" only for users with the Admin role.
- Introduced user initials avatar with logout functionality via dropdown menu.
2026-05-21 11:50:04 +00:00
=
0ca7361a22 Feat: user dashboard with active services
- Added `UserAppAccessService` for retrieving active services by user with detailed role and permission validation.
- Created `ServiceAppDto` to standardize service data for UI rendering.
- Enhanced user dashboard layout and Livewire component with computed services, role-based restricted access, and expiring service warnings.
- Updated dashboard blade views for improved user experience and dynamic active services display.
2026-05-21 11:44:57 +00:00
=
060526172f Fix: broken Apps in User list
- make `ConnectedAppPermissionEnum` nullable and enhance role display formatting
2026-05-21 10:48:05 +00:00
=
f02caef80c Feat: add role seeding, dashboard routing
- Added `DefaultUserRole` and permissions enums (`AccessManager`, `Apps`, `Settings`) for centralizing role and permission constants.
- Implemented `DashboardRoute` helper to resolve routes dynamically based on user roles.
- Introduced seeders for default roles (`DefaultRoleWithPermissionSeeder`, `PermissionSeeder`, `ExampleUserWithRoleSeeder`) with role-permission assignments.
- Created `EnumExtractor` utility for parsing enums and generating permissions.
- Customized dashboard routes with role-based redirection logic.
- Updated sidebar navigation to display role-based menu items with permission checks.
2026-05-21 10:24:57 +00:00
=
fd57ac57e1 Feat: refactor app role duration to validity date
- Replaced `duration` (integer, days) with `validUpto` (datetime) in role-app assignments.
- Updated `AssignAppsToRoleData`, `AppRole` model, and Livewire forms to adopt the new `validUpto` field.
- Adjusted database migrations and UI components to reflect the change in validity representation.
- Enhanced validity date inputs with support for "Unlimited" roles using toggles.
2026-05-21 06:38:05 +00:00
=
1e5c084855 Deps: add LaraDumps and test:arch
- Added `laradumps/laradumps` for enhanced debugging.
- Introduced `test:arch` command in Composer for architecture testing.
- Updated `captainhook.json` with `composer test:arch` action.
- Improved `.gitignore` to exclude `laradumps.yaml`.
2026-05-20 13:08:54 +00:00
=
07d1b235cc Feat: add user access management components
- Added `RestrictedUserPermission` migration and model for managing user-role-permission restrictions.
- Introduced `UserService`, `RoleService`, and related DTOs for handling user access, role assignments, and permission restrictions.
- Created new Livewire components and Blade views for user management, including role/permission assignment modals.
- Updated navigation and routing to include the "Users" section under "Access Manager."
- Enhanced `RoleService` with methods for retrieving permissions and managing role-user interactions.
- Improved UI with permission toggles and streamlined selection features for better user-role management.
2026-05-20 13:07:28 +00:00
=
562b4a220d Fix: Associate App Permission with Roles
- 'Use' permission of apps now synced with Role
- Added `PermissionData` DTO for standardized permission transformation.
- Expanded `AppsPermissionService` with `getAllPermissions` method for retrieving connected app permissions.
- Updated `AppRoleService` with methods for assigning and revoking app permissions to roles (`assignAppPermissionsRole`, `removeAppPermissionsRole`).
- Introduced `AppPermission::type` method for extracting permission type from names.
- Refined role and app interaction logic, including proper slug generation and app-role association.
2026-05-20 09:06:55 +00:00
=
5a593ffdb5 Feat: assign users to role and show users on list
- Added DTOs (`AssignUsersToRoleData`, `RoleUserData`, `UserSelectData`) for user-role operations and UI data mapping.
- Updated `RoleService` and `AppRoleService` with methods for user-role assignment, detachment, retrieval, and search.
- Enhanced Blade views and Livewire components to support user-role management in "Roles and Apps."
- Adjusted `Role`, `User`, and related models to incorporate Spatie roles and permissions support.
- Improved UI with search and selection capabilities for assigning users to roles.
2026-05-19 12:24:42 +00:00
=
c680c1ae6e Feat: implement role and app management
- Added services (`RoleService`, `AppRoleService`, `AppsPermissionService`) to handle role creation, app assignments, and permissions.
- Introduced new Livewire forms for creating roles and assigning apps (`CreateRoleForm`, `AssignAppToRoleForm`).
- Built dynamic Blade views for role and app management, including modals and reusable components.
- Removed outdated `fluxui-development` skill documentation.
2026-05-19 11:13:35 +00:00
=
495c0ea2d8 Feat: add app roles management and relationships
- Added `app_roles` migration to manage role assignments for connected apps, supporting role duration and indexing.
- Introduced `AppRole` pivot model for managing `ConnectedApp` and `Role` relationships.
- Updated `ConnectedApp` and `Role` models with `BelongsToMany` relationships for role associations.
- Adjusted `permission` config to use custom `Role` model.
2026-05-19 07:16:17 +00:00
=
a2dbd0713c Merge branch 'chore/add-captain-hook' into dev 2026-05-18 09:51:57 +00:00
=
d63489ea33 refactor: replace flux components with maryUI equivalents and update Blade templates
- Replaced deprecated `flux` components with `maryUI` counterparts (`flux:input` → `x-mary-input`, `flux:button` → `x-mary-button`, etc.).
- Removed unused partials (`settings-heading.blade.php`) and outdated structures from Blade files.
- Adjusted Livewire modal, form, and button implementations for consistency with `maryUI`.
- Streamlined layout and theme styling for improved maintainability and readability.
2026-05-18 09:49:14 +00:00
=
34a3663bfd Deps: add captainhook for Git hooks
Configure pre-commit linting and static analysis checks.commit-msg actions
2026-05-16 10:04:43 +00:00
=
3d086b2821 revert: add Blade directive for rendering user initials
- Introduced `DirectiveServiceProvider` to register custom Blade directives.
- Added `@initials` directive to generate and display uppercase initials from a given string.
- Registered the service provider in `bootstrap/providers.php`.
2026-05-16 09:50:00 +00:00
=
9b6af8135d refactor: remove unused UI components and factories for cleanup
- Deleted obsolete components (`Choices`, `Input`, `ListItem`, `Table`) and trait (`HasAttributeHelpers`) from the `App\View\Components` namespace.
- Removed `ConnectedAppFactory` as it is no longer utilized in the current workflow.
2026-05-16 09:44:54 +00:00
=
0de768e924 docs: add ConnectionProviderService guidelines and enable detailed activity logging
- Added comprehensive documentation for `ConnectionProviderService`, outlining architectural design, coding standards, and operational flows.
- Enhanced `ConnectionProvider` and `ConnectedApp` models with Spatie activity logging configuration for detailed CRUD activity tracking.
- Updated delete methods in service classes to include audit logs and cascade behavior refinement.
- Revised activity log migration schema for stricter typing and method structure.
2026-05-15 13:02:58 +00:00
=
0a2786165e deps: add spatie/laravel-activitylog for activity logging. Publish migration and config. 2026-05-15 11:56:14 +00:00
=
3c6e4bf4bd feat: add delete confirmation modal for ConnectionProviders
- Introduced a Livewire-powered confirmation modal for deleting connection providers.
- Updated `delete` method to support selected provider deletion and modal interaction.
- Added `connectedApps` relationship to `ConnectionProvider` model for mass soft-deletes.
- Refactored delete logic to handle associated connected apps during provider deletion.
- Updated UI to include modal trigger and actions for enhanced user safety.
2026-05-15 11:52:31 +00:00
=
1c5ab498d7 feat: soft delete and rename service-related models, tables, and columns to connection-focused terms
- Renamed models, migration files, and database tables for greater consistency (e.g., `service_protocols` to `connection_protocols`, `service_providers` to `connection_providers`).
- Enabled `SoftDeletes` trait on core models, including `User`, `ConnectionProvider`, `ConnectedApp`, and others.
- Updated migration schemas to include `softDeletes()` and adjusted `down()` methods accordingly.
- Enhanced indexing in `connected_apps` to optimize query performance.
2026-05-15 10:13:21 +00:00
=
bc69ea2f95 refactor: fix the update validation role to exclude the current provider 2026-05-15 09:35:26 +00:00
=
48d2c1a47e feature: ConnectionProvider integration
- Added `ConnectionProviderData`, `NavItemData`, and `NavSubItemData` DTOs for structured data handling.
- Implemented CRUD operations for `ConnectionProviderService`, including transaction-safe create, update, and delete methods.
- Introduced Livewire components for ConnectionProvider list, edit, and create pages with dynamic and reusable UI elements.
- Refactored routes to consolidate paths under the `apps` prefix and updated navigation to dynamically include new sections for providers.
- Enhanced sidebar with structured submenu for ConnectionProviders and Settings using dynamic collections.
- Updated existing Create and Edit templates to use consistent route naming and validation handling.
- Replaced hardcoded navigation items with dynamically generated structures leveraging the `NavItemData` collection.
2026-05-15 09:18:40 +00:00
=
bbb00c12b0 chore: add larastan 2026-05-15 09:17:27 +00:00
=
092ee0083e feature: add Livewire configuration and extend ConnectedApp management with delete, create, and enhanced UI integration
- Introduced `livewire.php` for customizable Livewire configuration.
- Enhanced ConnectedApp management by adding delete functionality and dynamic navigation handling (`goBack()`).
- Updated forms (`create`, `edit`) with `maryUI` components (`mary-form`, `mary-button`, `mary-input`, `mary-choices`).
- Consolidated provider imports and refactored UI for reusability and improved styling.
- Improved exception handling and validation rules in `ConnectedAppService` and Livewire components.
2026-05-15 05:45:31 +00:00
=
c0086ddb6a feature: implement ConnectedApp management with creation and editing support
- Added `ConnectedAppData` DTO for structured data representation.
- Implemented Livewire components for ConnectedApp list (`index`) and edit (`edit`).
- Integrated `ConnectedAppService` with CRUD operations.
- Updated routing to include ConnectedApp management paths.
- Enhanced UI with reusable components and dynamic dropdowns for protocols, providers, and statuses.
2026-05-14 14:03:53 +00:00
=
7bff74a039 refactor: extract connection status UI into reusable component and update ConnectedApps template 2026-05-14 14:03:31 +00:00
=
7d6f6010f4 refactor: remove DirectiveServiceProvider and its directives from application bootstrap 2026-05-14 14:03:02 +00:00
=
bdffb30b12 feature: add ConnectionProvider creation flow
- Introduced `HandlesOperations` trait for reusable error handling with toasts and logging.
- Added `StoreConnectionProviderForm` Livewire component with validation and slug uniqueness check.
- Implemented `StoreConnectionProviderRequestData` DTO for structured data handling.
- Updated `ConnectionProviderService` to include `create()` method using database transactions.
- Registered new routes for creating connection providers.
- Enhanced `ConnectionProvider` model with `Fillable` attribute for `name` and `slug`.
2026-05-14 10:32:19 +00:00