467 Commits

Author SHA1 Message Date
barsa
3af18af502 Fix error handling in GlobalAuthGuard to allow public route access without session validation. Simplified catch block to ignore errors, enhancing user experience on public endpoints. 2025-12-23 15:19:47 +09:00
barsa
4573b94484 Enhance WHMCS Integration and Add Internet Cancellation Features
- Introduced WhmcsAccountDiscoveryService to streamline client account discovery processes.
- Expanded WhmcsCacheService to include caching for subscription invoices and client email mappings, improving data retrieval efficiency.
- Updated WhmcsClientService to utilize caching for client ID lookups by email, enhancing performance.
- Implemented new internet cancellation features in SubscriptionsController, allowing users to preview and submit cancellation requests for internet services.
- Added validation schemas for internet cancellation requests, ensuring data integrity and user guidance during the cancellation process.
- Refactored various components and services to integrate new cancellation functionalities, improving user experience and operational flow.
2025-12-23 15:19:20 +09:00
barsa
4d645adcdd Refactor Account Checkout Container and Enhance Eligibility Handling
- Replaced multiple conditional AlertBanner components with a new CheckoutStatusBanners component to streamline eligibility status display.
- Integrated eligibility handling logic into the CheckoutStatusBanners for improved readability and maintainability.
- Updated the resolveOrderType method in CheckoutParamsService to normalize order types more effectively, enhancing the checkout process.
- Modified the normalizeOrderType function in the schema to handle non-string inputs, improving robustness.
2025-12-23 14:01:51 +09:00
barsa
d5ad8d3448 Remove Checkout Registration Module and Simplify Checkout Flow
- Deleted the CheckoutRegistrationModule and its associated components, streamlining the checkout process to require user authentication before proceeding.
- Updated the app.module.ts and router.config.ts to remove references to the CheckoutRegistrationModule.
- Refactored the checkout flow to utilize the AccountCheckoutContainer for handling user registration and checkout in a single-page flow.
- Enhanced the checkout store to eliminate guest info and registration states, focusing solely on authenticated user data.
- Standardized order types to PascalCase across the application for consistency.
- Updated relevant schemas and documentation to reflect the removal of guest checkout and the new authentication-first approach.
2025-12-23 13:21:29 +09:00
barsa
cfb4afac27 Refactor Notification Handling and Improve User Engagement
- Updated the NotificationsModule to enhance notification management for user actions and events.
- Improved integration with the CheckoutRegistrationService to streamline SIM order notifications.
- Refactored CatalogCdcSubscriber to ensure timely creation of notifications for account status changes.
- Enhanced frontend components to better display notification alerts, improving user experience and accessibility.
2025-12-23 11:37:34 +09:00
barsa
2b183272cf Implement Notifications Feature and Enhance BFF Modules
- Introduced a new Notification model in the Prisma schema to manage in-app notifications for users.
- Integrated the NotificationsModule into the BFF application, allowing for the handling of notifications related to user actions and events.
- Updated the CatalogCdcSubscriber to create notifications for account eligibility and verification status changes, improving user engagement.
- Enhanced the CheckoutRegistrationService to create opportunities for SIM orders, integrating with the new notifications system.
- Refactored various modules to include the NotificationsModule, ensuring seamless interaction and notification handling across the application.
- Updated the frontend to display notification alerts in the AppShell header, enhancing user experience and accessibility.
2025-12-23 11:36:44 +09:00
barsa
d9734b0c82 Enhance Signup Workflow and Update Catalog Components
- Refactored the SignupWorkflowService to throw a DomainHttpException for legacy account conflicts, improving error handling.
- Updated the SignupForm component to include initialEmail and showFooterLinks props, enhancing user experience during account creation.
- Improved the AccountStep in the SignupForm to allow users to add optional details, such as date of birth and gender, for a more personalized signup process.
- Enhanced the PasswordStep to include terms acceptance and marketing consent options, ensuring compliance and user engagement.
- Updated various catalog views to improve layout and user guidance, streamlining the onboarding process for new users.
2025-12-22 18:59:38 +09:00
barsa
f5cde96027 Refactor User Authentication and Enhance Catalog Views
- Improved the LoginForm component to support dynamic redirection post-login, enhancing user navigation.
- Updated PublicInternetConfigure and PublicSimConfigure views to implement modals for user authentication, reducing full-page redirects.
- Enhanced button labels in PublicInternetPlans and PublicSimPlans views for better clarity and consistency.
- Refactored plan configuration views to present detailed plan information, encouraging users to create accounts or log in, thus streamlining the onboarding process.
2025-12-19 18:15:24 +09:00
barsa
90fa9443d4 Enhance Authentication Flow in Catalog Views
- Added redirect functionality to the LoginForm component, allowing for dynamic redirection after login.
- Updated PublicInternetConfigure and PublicSimConfigure views to utilize modals for user authentication, improving user experience by avoiding full-page redirects.
- Enhanced PublicInternetPlans and PublicSimPlans views with updated button labels for clarity and consistency.
- Refactored plan configuration views to display detailed plan information and prompt users for account creation or login, streamlining the onboarding process.
2025-12-19 16:33:53 +09:00
barsa
ab429f91dc Enhance Internet Eligibility Features and Update Catalog Integration
- Added new fields for internet eligibility in the environment validation schema to support Salesforce integration.
- Updated CatalogCdcSubscriber to extract and handle additional eligibility details from Salesforce events.
- Refactored InternetEligibilityController to return detailed eligibility information, improving user experience.
- Enhanced CatalogCacheService with a new method for setting eligibility details, optimizing cache management.
- Updated InternetCatalogService to retrieve and process comprehensive eligibility data, ensuring accurate service availability checks.
- Improved public-facing components to reflect the new eligibility status and provide clearer user guidance during the checkout process.
2025-12-19 15:15:36 +09:00
barsa
7ab5e12051 Add Residence Card Submission and Verification Features
- Introduced ResidenceCardSubmission model to handle user submissions of residence cards, including status tracking and file management.
- Updated User model to include a relation to ResidenceCardSubmission for better user data management.
- Enhanced the checkout process to require residence card submission for SIM orders, improving compliance and verification.
- Integrated VerificationModule into the application, updating relevant modules and routes to support new verification features.
- Refactored various components and services to utilize the new residence card functionality, ensuring a seamless user experience.
- Updated public-facing views to guide users through the residence card submission process, enhancing clarity and accessibility.
2025-12-18 18:12:20 +09:00
barsa
7cfac4c32f Enhance Checkout Process with Internet Availability Step
- Added an availability confirmation step in the checkout process for internet orders, ensuring users verify service eligibility before proceeding to payment.
- Updated the CheckoutWizard component to conditionally include the new AvailabilityStep based on the order type.
- Refactored AddressStep to navigate to the AvailabilityStep for internet orders, improving user flow.
- Enhanced the checkout store to track internet availability requests and updated the state management for better handling of checkout steps.
- Updated relevant schemas and documentation to reflect the new checkout flow and requirements.
2025-12-17 18:47:59 +09:00
barsa
9d2c4ff921 Add Internet Eligibility Features and Update Catalog Module
- Introduced InternetEligibilityController to handle user eligibility checks for internet services.
- Enhanced InternetCatalogService with methods for retrieving and requesting internet eligibility.
- Updated catalog.module.ts to include the new InternetEligibilityController.
- Refactored various components and views to utilize the new eligibility features, improving user experience and service accessibility.
- Adjusted routing paths and links to align with the new catalog structure, ensuring seamless navigation for users.
2025-12-17 17:59:55 +09:00
barsa
4edf0e801e Refactor Account Portal Components and Update Routing
- Further refined the account portal structure by updating existing components and enhancing their functionality.
- Improved routing paths to ensure better navigation and accessibility within the account portal.
- Enhanced user experience by integrating additional features and optimizing existing ones for seamless interaction.
2025-12-17 15:45:11 +09:00
barsa
963e30e817 Implement Account Portal Restructuring and Component Updates
- Introduced a new plan for restructuring the account portal, resulting in over 60 file operations including the addition of new components and the deletion of outdated routes.
- Updated various components to enhance user experience, including the addition of AccountRouteGuard and AccountDashboardPage.
- Refactored routing paths to align with the new account structure, ensuring seamless navigation across billing, orders, and support sections.
- Enhanced the checkout process by integrating new components and improving error handling for better user feedback.
- Updated public-facing features to streamline contact and support functionalities, improving accessibility for users.
2025-12-17 15:44:46 +09:00
barsa
3fe74b72dd Enhance pre-commit hook for improved linting and type checking
- Added commands to stage modified tracked files and run lint-staged for auto-fixing issues.
- Included a type check step to ensure code quality before commits.
2025-12-17 14:10:22 +09:00
barsa
ce42664965 Add Checkout Registration Module and Enhance Public Contact Features
- Integrated CheckoutRegistrationModule into the application for handling checkout-related functionalities.
- Updated router configuration to include the new CheckoutRegistrationModule for API routing.
- Enhanced SalesforceAccountService with methods for account creation and email lookup to support checkout registration.
- Implemented public contact form functionality in SupportController, allowing unauthenticated users to submit inquiries.
- Added rate limiting to the public contact form to prevent spam submissions.
- Updated CatalogController and CheckoutController to allow public access for browsing and cart validation without authentication.
2025-12-17 14:07:22 +09:00
barsa
5367678557 Refactor component styles and update color tokens for enhanced consistency
- Updated various components to utilize the latest color tokens, improving visual coherence across the application.
- Enhanced error and status messaging styles for better user feedback and clarity.
- Streamlined layout components to align with the new design tokens, ensuring a unified look and feel.
- Improved overall styling consistency by adopting standardized color usage in key components.
2025-12-17 11:36:17 +09:00
barsa
a2e81798ef Refactor color tokens across components for improved consistency and clarity
- Removed legacy color aliases from globals.css to streamline design tokens.
- Updated various components, including Badge, Button, Checkbox, and Input, to utilize new color tokens for error states.
- Enhanced error messaging styles in components like ErrorBoundary and AlertBanner for better visual coherence.
- Standardized color usage in billing and subscription components to align with updated design tokens.
- Improved overall styling consistency across the application by adopting the new color system.
2025-12-16 18:12:12 +09:00
barsa
666129191a Refactor global styles and component tokens for improved consistency and clarity
- Updated globals.css to streamline design tokens and enhance semantic color usage across the application.
- Refined error and loading components to utilize new color tokens for better visual coherence.
- Adjusted various components, including AppShell, Header, and Sidebar, to align with updated design tokens and improve styling consistency.
- Enhanced utility classes in utilities.css to reflect the consolidated color system and improve component styling.
- Improved documentation in tokens.css to clarify the purpose and structure of design tokens.
2025-12-16 17:43:02 +09:00
barsa
c13e2df55f Refactor billing components for improved styling and consistency
- Updated InvoiceStatusBadge to include iconColor for better visual representation of statuses.
- Enhanced BillingSummary and PaymentMethodCard components with consistent color tokens and improved layout.
- Refined DataUsageChart to standardize color usage for data thresholds and loading states.
- Updated SubscriptionDetails and SubscriptionStatusBadge for consistent text colors and improved user feedback.
- Adjusted CardBadge styles to align with new design tokens for better visual coherence.
2025-12-16 17:11:43 +09:00
barsa
1f7f77775b Update dashboard components and styles for improved functionality and consistency
- Refactored DashboardView to integrate new TaskList, QuickStats, and ActivityFeed components for enhanced task management and user engagement.
- Updated global styles in tokens.css to standardize color usage and improve accessibility across the application.
- Adjusted color tokens for better visual coherence, including updates to brand and semantic colors.
- Enhanced loading states and skeleton screens for a smoother user experience during data fetching.
2025-12-16 17:10:14 +09:00
barsa
9d6c7dcde0 Refactor UI components for improved styling and consistency
- Updated global styles to enhance color usage and contrast across the application.
- Refined input components for better accessibility and visual feedback.
- Enhanced layout components with consistent padding and margins for a cleaner look.
- Improved card and button styles to align with the new design tokens.
- Standardized text colors and hover effects for better user interaction.
2025-12-16 16:08:17 +09:00
barsa
b5c917be33 Remove unnecessary husky pre-commit script lines to streamline linting process 2025-12-16 13:54:51 +09:00
barsa
b99799c2fe Refactor UI components and enhance styling consistency across the portal
- Updated various components to use consistent color tokens, improving visual coherence.
- Refactored layout components to utilize the new PublicShell for better structure.
- Enhanced error and status messaging styles for improved user feedback.
- Standardized button usage across forms and modals for a unified interaction experience.
- Introduced new UI design tokens and guidelines in documentation to support future development.
2025-12-16 13:54:31 +09:00
barsa
540c0ba10c Update dependencies and clean up package configurations
- Upgraded `@eslint/js` and `eslint` to version 9.39.2 for improved linting capabilities.
- Updated `zod` to version 4.2.0 in various dependencies to ensure compatibility and access to the latest features.
- Standardized quotes in `pnpm-lock.yaml` and `pnpm-workspace.yaml` for consistency.
- Removed obsolete `~$MPLETE-GUIDE.docx` file from the documentation directory.
2025-12-15 17:55:54 +09:00
barsa
f1c88b6017 Refactor PersonalInfoCard and useProfileData for improved user profile management
- Updated type definitions in PersonalInfoCard to use UserProfile instead of ProfileDisplayData, enhancing clarity.
- Simplified onChange function to restrict fields to "email" and "phonenumber".
- Modified UI to indicate that first and last names cannot be changed from the portal.
- Adjusted useProfileData hook to focus on email management, removing firstname and lastname from state and update logic, streamlining profile updates.
2025-12-15 17:29:48 +09:00
barsa
545e62b8a1 Enhance user profile management and signup process
- Added support for custom fields in WHMCS, including customer number, gender, and date of birth, to the environment validation schema.
- Updated the signup workflow to handle new fields for date of birth and gender, ensuring they are included in the client creation process.
- Implemented email update functionality in the user profile service, allowing users to change their email while ensuring uniqueness across the portal.
- Enhanced the profile edit form to include fields for date of birth and gender, with appropriate validation.
- Updated the UI to reflect changes in profile management, ensuring users can view and edit their information seamlessly.
- Improved error handling and validation for user profile updates, ensuring a smoother user experience.
2025-12-15 17:29:28 +09:00
barsa
0d43e0d0b9 Add Portal Guides section to documentation
- Introduced a new "Portal Guides" section in the README and docs/README.md to provide high-level overviews and detailed explanations of various portal functionalities, including accounts, catalog, orders, billing, subscriptions, and support cases.
- Updated the main README to link to the new portal guides for better navigation and user guidance.
2025-12-15 14:13:08 +09:00
barsa
ad6fadb015 Implement DomainHttpException for stable error handling and refactor exception filter
- Introduced `DomainHttpException` to standardize HTTP error responses with explicit domain error codes.
- Refactored `UnifiedExceptionFilter` to extract detailed exception information, including optional explicit error codes.
- Updated `WhmcsErrorHandlerService` to utilize `DomainHttpException` for better error normalization and handling.
- Removed deprecated error pattern matching logic to enforce explicit error codes in the system.
- Enhanced logging in `WhmcsHttpClientService` to differentiate between expected business outcomes and actual errors.
2025-12-15 13:32:42 +09:00
barsa
c13a327a07 chore: stop tracking generated Plesk image checksum files 2025-12-15 12:01:22 +09:00
barsa
22c9428c77 Enhance real-time event handling and configuration in BFF application
- Updated environment validation to enable Salesforce events by default, improving real-time cache invalidation.
- Modified `CatalogCdcSubscriber` to conditionally subscribe to CDC channels based on the new configuration, enhancing flexibility for high-volume scenarios.
- Improved message serialization in `RealtimeService` to ensure valid JSON for browser EventSource.
- Adjusted cache control headers in `CatalogController` to prevent browser caching, ensuring real-time data accuracy.
- Enhanced `RealtimeController` with connection limiting and improved logging for better monitoring of real-time streams.
- Updated health check endpoint in production management script for consistency.
2025-12-15 11:55:55 +09:00
barsa
e1bdae08bd Refactor imports and update type definitions in Realtime module
- Removed unnecessary import of `MessageEvent` from `@nestjs/common` in `realtime.types.ts`.
- Updated `realtime.pubsub.ts` to import `OnModuleDestroy` and `OnModuleInit` as types, improving clarity and consistency in type usage.
- Added a note in `realtime.types.ts` to clarify the non-generic nature of `MessageEvent` in the current setup, ensuring better understanding of shared type definitions.
2025-12-15 11:11:17 +09:00
barsa
e1c8b6c15e Integrate Realtime module and enhance event handling across various services
- Added `RealtimeModule` and `RealtimeApiModule` to the BFF application for improved real-time capabilities.
- Updated `CatalogCdcSubscriber` and `OrderCdcSubscriber` to utilize `RealtimeService` for publishing catalog and order updates, ensuring instant notifications across connected clients.
- Enhanced `OrderEventsService` to leverage `RealtimeService` for order event subscriptions, improving reliability across multiple BFF instances.
- Introduced `AccountEventsListener` in the portal layout to handle real-time account updates.
- Removed stale time and garbage collection settings from several hooks to streamline data fetching processes.
2025-12-15 11:10:50 +09:00
barsa
9764ccfbad Update .gitignore to include SHA256 checksum files and refresh address handling in hooks
- Added '*.tar.gz.sha256' to .gitignore to exclude SHA256 checksum files from version control.
- Updated SHA256 checksums for the latest portal backend and frontend tar.gz files to reflect new builds.
- Enhanced address handling in `useAddressEdit`, `useProfileData`, and `AddressConfirmation` components to invalidate catalog queries upon address updates, ensuring accurate server-personalized results.
- Introduced new query key for catalog queries in the API to streamline cache management.
2025-12-15 10:32:07 +09:00
barsa
b193361a72 Refactor API endpoint for SSO link creation and update related function
- Updated the `useCreatePaymentMethodsSsoLink` function to use the new API endpoint `/api/auth/sso-link` for SSO link creation, ensuring alignment with the latest API structure.
2025-12-15 10:30:47 +09:00
barsa
90e80c648b Update API endpoint for SSO link creation in billing hook
- Changed the API endpoint from `/auth/sso-link` to `/api/auth/sso-link` in the `useCreatePaymentMethodsSsoLink` function to align with the updated API structure.
2025-12-12 18:56:26 +09:00
barsa
4b5d0d0e5e Update .gitignore and enhance environment validation for Salesforce private key handling
- Added 'dist2/' to .gitignore to exclude additional build outputs.
- Updated environment validation schema to include optional support for Salesforce private key in base64 format, improving flexibility in configuration.
2025-12-12 18:44:51 +09:00
barsa
ff099525ca Update SHA256 checksums, enhance BFF development scripts, and improve Salesforce connection handling
- Updated SHA256 checksums for the latest portal backend and frontend tar.gz files to reflect new builds.
- Introduced a new development script (`dev-watch.sh`) for the BFF application to streamline TypeScript building and aliasing during development.
- Refactored the `package.json` scripts in the BFF application to improve development workflow and added new watch commands.
- Enhanced the Salesforce connection service to support private key handling via environment variables, improving security and flexibility in configuration.
2025-12-12 18:44:26 +09:00
barsa
a176f5d6ce Update SHA256 checksums and enhance Dockerfile configurations
- Updated SHA256 checksums for the latest portal backend and frontend tar.gz files to reflect new builds.
- Modified Dockerfile in both BFF and Portal applications to include additional TypeScript configuration files, improving build accuracy and consistency.
- Enhanced the docker-entrypoint.sh script to utilize the updated Prisma configuration for migrations, ensuring compatibility with the latest Prisma CLI changes.
- Improved error handling in Salesforce connection service to validate private key formats more robustly, enhancing security during JWT assertion creation.
2025-12-12 16:42:54 +09:00
barsa
3d56f2895f Update health check endpoints and refine TypeScript configuration
- Changed health check endpoint from `/api/health` to `/_health` in Dockerfile and docker-compose.yml for consistency.
- Removed the now obsolete health check route file from the API.
- Updated TypeScript configuration to exclude the `.next` directory, improving build performance and clarity.
- Enhanced documentation in proxy.ts to reflect the updated health check endpoint.
2025-12-12 16:02:21 +09:00
barsa
2266167467 Enhance JWT handling and authentication flow
- Introduced support for previous JWT secrets in the environment configuration to facilitate key rotation.
- Refactored the JoseJwtService to manage multiple signing and verification keys, improving security during token validation.
- Updated the AuthTokenService to include family identifiers for refresh tokens, enhancing session management and security.
- Modified the PasswordWorkflowService and SignupWorkflowService to return session metadata instead of token strings, aligning with security best practices.
- Improved error handling and token revocation logic in the TokenBlacklistService and AuthTokenService to prevent replay attacks.
- Updated documentation to reflect changes in the authentication architecture and security model.
2025-12-12 15:29:58 +09:00
barsa
88b9ac0a19 Enhance authentication and CSRF protection mechanisms
- Introduced optional JWT issuer and audience configurations in the JoseJwtService for improved token validation.
- Updated CSRF middleware to streamline token validation and enhance security measures.
- Added new environment variables for JWT issuer and audience, allowing for more flexible authentication setups.
- Refactored CSRF controller and middleware to improve token handling and security checks.
- Cleaned up and standardized cookie paths for access and refresh tokens in the AuthController.
- Enhanced error handling in the TokenBlacklistService to manage Redis availability more effectively.
2025-12-12 15:00:11 +09:00
barsa
3f7fa02b83 Refactor ESLint configuration and update TypeScript dependencies for improved type safety
- Enhanced ESLint configuration to better support TypeScript file patterns and added centralized dependency versions using pnpm catalogs.
- Updated TypeScript configurations across applications to utilize new file structure and improved type inference with Zod.
- Refactored domain modules to replace deprecated type inference methods, ensuring better type safety and consistency.
- Cleaned up package.json files to standardize dependency versions and improve overall project maintainability.
2025-12-12 14:50:12 +09:00
barsa
ece89de49a Update TypeScript and ESLint configurations for improved type safety and compatibility
- Modified ESLint configuration to support file patterns for TypeScript files.
- Updated TypeScript configurations across multiple applications to use ES2024 and enable composite builds.
- Refactored type inference in domain modules to utilize Zod's infer type for better type safety.
- Enhanced utility functions to handle various data types more robustly, improving overall code quality.
2025-12-12 14:35:19 +09:00
barsa
776cf3eeeb Refactor authentication module and update package dependencies
- Removed Passport.js integration from the authentication module, replacing it with a custom implementation for local and JWT authentication.
- Introduced a new `JoseJwtService` for handling JWT operations, enhancing security and flexibility.
- Updated the Dockerfile and entrypoint scripts to streamline Prisma client generation and migration commands.
- Cleaned up package.json files by removing unused dependencies and ensuring consistency across applications.
- Enhanced SFTP configuration with optional host key fingerprint for improved security.
- Updated test files to reflect changes in the authentication logic and added necessary imports for Jest.
2025-12-12 13:10:29 +09:00
barsa
5981ed941e Update security hardening and prune test/auth tooling
- Remove Passport-based auth; use jose-only guards
- Remove Jest/Istanbul toolchain and switch to node --test
- Stop runtime prisma dlx downloads; run migrations via bundled prisma
- Remove glob override and tighten Next.js config
2025-12-12 11:47:17 +09:00
barsa
8b1b402814 Update ESLint configuration and package dependencies
- Added support for Next.js ESLint plugin and React Hooks in the ESLint configuration.
- Updated package.json to include the latest versions of Next.js and related dependencies.
- Removed outdated ESLint configuration files from the BFF and Portal applications.
- Enhanced .gitignore to exclude additional TypeScript build info files.
- Cleaned up pnpm workspace configuration for better package management.
2025-12-12 11:02:59 +09:00
barsa
17d6b91727 Update environment configuration and improve health checks in Docker
- Added .stack.env to .gitignore for better environment management.
- Updated health check commands in docker-compose.yml to use Node.js fetch for improved reliability.
- Introduced env.example file for clearer environment variable setup in Portainer.
- Updated README to reflect changes in environment variable management.
2025-12-11 18:51:13 +09:00
barsa
6e3626eff0 Enhance environment configuration and update package scripts
- Added .env.development to .gitignore for better environment management.
- Introduced new dev script in package.json for streamlined application development.
- Updated Prisma migration commands in docker-entrypoint.sh for improved schema handling.
- Enhanced logging configuration in logging.module.ts to support pretty logs based on environment.
- Refactored app.config.ts to prioritize environment file loading for better configuration management.
- Removed outdated test files and configurations to clean up the project structure.
2025-12-11 18:47:24 +09:00