36 Commits

Author SHA1 Message Date
=
0b77f69818 Feat: Add modular OIDC app creation with logo support
- Introduced new components and services for OIDC app creation, enabling dynamic handling of app types, URIs, and user roles.
- Added support for uploading and managing logos for connected apps.
- Implemented `ClientCreationFactory` and related factories for modular OIDC client generation.
- Updated UI to enhance app creation flow with post-creation credential display and improved validations.
- Refactored backend with `OidcService` for streamlined OIDC app creation and management.
2026-06-18 13:35:23 +00:00
=
e791c08ce1 Feat: (UI) Replace connected-app creation with modular OIDC service and components
- Removed the old `connected-apps.create` implementation and components, simplifying the codebase.
- Introduced modular OIDC integration using reusable components and traits, such as `WithSearchableChoices` and `WithRepeaterFields`.
- Added `StoreOIDCAppForm` for handling OpenID Connect app-specific fields and validation.
- Updated `choices.blade.php` and related components to leverage configuration-driven, dynamic multi-select functionality.
- Updated routes to support new OIDC app creation under distinct connection protocol namespaces.
- Enhanced app creation flow with support for dynamic fields like URIs (`repeater-input`) and scoped user roles.
2026-06-18 09:48:07 +00:00
=
66ae0bad37 Refactor: UI Changes in App services
- make the button bigger and active color
- remove unnecessary info from UI
- Removed redundant validation calls and improved permission handling for `ConnectApps`.
2026-06-11 10:17:59 +00:00
=
aaa258903c Feat: Add enhanced SAML configuration and attribute mapping support
- Implemented `EnumMorphsToOptionsContract` interface to enable enums with options and labels for dropdowns.
- Created `SamlNameIdFormatEnum` and `SamlNameIdSourceEnum` for standardized SAML NameID configuration.
- Added reusable `SAML Configuration` Blade component for easier integration into connected app forms.
- Enabled custom SAML Attribute mapping with dynamic add/remove functionality and validation.
- Improved `SamlIdpController` to enforce ACS URL matching and user authorization checks.
- Refactored SAML-related tests and added scenarios for role-based SAML access and custom configurations.
2026-06-08 12:56:28 +00:00
=
1a7134419c Refactor: Improve dependency injection for dashboard components and enhance SAML logging
- Removed inline data definitions from multiple dashboard components for roles, users, and connected apps, replacing them with service-based computed properties.
- Added comprehensive debug and error-level logging throughout `SamlIdpService` and related controllers to improve traceability of SAML flows.
- Cleaned up and centralized SAML-related logic, improving maintainability and error handling consistency.
- Deleted unused `hr-permission.blade.php` component to reduce code redundancy.
2026-06-01 13:05:59 +00:00
=
57f0a4590c Feat: Add comprehensive support for SAML SSO integration
- Introduced `ddev` configuration for Laravel-based SAML SSO setup.
- Added detailed technical specifications for SAML 2.0 integration, including endpoints, flows, and cryptographic signing.
- Created extensive unit tests to validate `SamlIdpController` and `SamlIdpService` functionalities.
- Enhanced metadata generation, SAML request parsing, and cryptographic signing of responses.
- Implemented models, services, and tests to standardize IdP interactions with Service Providers.
2026-06-01 11:04:16 +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
=
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
=
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
=
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
=
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
=
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
=
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
=
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
=
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
=
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
=
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
=
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
=
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
=
db8e34b622 feat: integrate maryUI and update ConnectedApps handling
- Added `mary.php` configuration file for customizable component and route prefixes.
- Upgraded `livewire/livewire` to v4.3 and added `robsontenorio/mary` v2.8 for maryUI support.
- Updated `ConnectedApps` component to fetch data dynamically via `ConnectedAppService`.
- Replaced static services with computed properties and streamlined data mappings in templates.
- Enhanced frontend styling with `daisyUI` and TailwindCSS v4.3 integration.
- Improved user feedback in `ConnectedAppForm` with success/error toasts.
2026-05-14 08:47:23 +00:00
=
6f07068b1d Refactor: change name of external apps from ConnectedService to ConnectedApp 2026-05-13 10:30:35 +00:00
=
6ddde416cf feature: introduce Choices component and service management entities
- Added `Choices` component for dropdowns with search and multi-selection functionality.
- Implemented foundational classes for service connection:
  - `ConnectServiceData`
  - `ConnectedServiceFactory`
  - `ConnectedServicesService`
- Added `ConnectServiceForm` Livewire component for managing service connections.
- Introduced shared utility traits (`HasAttributeHelpers`) and error components.
- Added components for generic use: `Input` and `ListItem`.
2026-05-13 09:52:03 +00:00
=
77b6008150 chore: component refactoring - badeg, button, card
- fix text truncation in badge component
- simplify tag rendering in button component
- remove padding in card component add space in actions
2026-05-13 09:48:54 +00:00
=
5cadfcc959 feature: add role and permission management functionality
- Implemented migrations to create permission, role, and related pivot tables.
- Added models for `ServiceProtocol`, `ServiceProvider`, `ServiceStatus`, and `ConnectedService`.
- Introduced `spatie/laravel-permission` for managing roles and permissions.
- Created data seeders for `ServiceProtocols` and `ServiceStatuses`.
- Refactored `ConnectionTechTypes` to `ConnectionProtocols` and added Enum utilities.
- Updated `ConnectedService` component to use revised enums and model-backed data.
2026-05-11 13:23:38 +00:00
=
c8e950bb79 feature: add user assignments component
- add title, placeholder and subtitle in avatar component
- add role collection in users dto
- make show empty text on table by default
2026-05-11 09:44:59 +00:00
=
9443ac181c chore: format and refactor the Connected Service component to use dto collection 2026-05-11 07:42:09 +00:00
=
ca628fb009 feature: add role permission table for HR Manager
- Add TableHeader DTO
- Refactor Toggle component to have checked prop, as wire:model does not work
- add null collasing for php 8.5 strict compatibility in scope directive
- refactor card component so that actions stay on the right
- make button component scaled small on active and change color on hover
2026-05-11 07:17:03 +00:00
=
ede0064b54 refactor: simplify data objects and improve role management components
- Removed redundant custom collections and `Wireable` trait from DTOs.
- Replaced custom collection properties with `DataCollection`.
- Updated role management views to use improved components, including avatars and toggle.
- Refined Blade directives for scoped slots.
- Minor cleanup in configuration and dependencies.
2026-05-11 05:51:25 +00:00
=
105123bb74 chore: introduce role management functionality with DTOs and Livewire components
- Added Role and User DTOs for dynamic role handling.
- Implemented table and badge components for displaying role data.
- Registered a Blade directive for scoped slots in `ScopeServiceProvider`.
- Updated dashboard views to include role management section.
2026-05-08 13:15:00 +00:00
kushal-saha
4a5436a3b4 chore: restructure views and add Livewire components for dashboard functionality
- remove flux dashboard
- add DTOs for the connecter services

Deps:
- spatie/laravel-data
- blade-icons (lucide-icons)
- tailwind-merge
2026-05-08 07:20:59 +00:00
kushal-saha
04d7b13543 inital commit 2026-05-06 12:58:53 +00:00