39 Commits

Author SHA1 Message Date
barsa
0f6bae840f feat: add eligibility check flow with form, OTP, and success steps
- Implemented FormStep component for user input (name, email, address).
- Created OtpStep component for OTP verification.
- Developed SuccessStep component to display success messages based on account creation.
- Introduced eligibility-check.store for managing state throughout the eligibility check process.
- Added commitlint configuration for standardized commit messages.
- Configured knip for workspace management and project structure.
2026-01-15 11:28:25 +09:00
barsa
bde9f706ce feat: add VPN services and call history management features
- Implemented VpnServicesService for managing VPN plans and activation fees.
- Created SimCallHistoryFormatterService for formatting call history data.
- Developed SimCallHistoryParserService to parse call history CSV files.
- Added AnimatedContainer and AnimatedBackground components for UI animations.
- Introduced BentoServiceCard, FloatingGlassCard, GlowButton, and ValuePropCard components for landing page.
- Implemented useCountUp hook for animated number counting.
- Added cancellation months utility functions for subscription management.
2026-01-13 16:19:39 +09:00
barsa
f447ba1800 Refactor codebase: eliminate duplication, standardize patterns, resolve circular deps
Phase 1: Portal Duplication Cleanup
- Delete apps/portal/src/lib/ directory (12 duplicate files)
- Update imports to use canonical locations (core/, shared/)

Phase 2: Domain Package Standardization
- Add contract.ts to notifications and checkout modules
- Update billing schema to derive enums from contract

Phase 3: BFF Error Handling
- Remove hardcoded test SIM number from SimValidationService
- Use ConfigService for TEST_SIM_ACCOUNT env variable

Phase 4: Circular Dependency Resolution
- Create VoiceOptionsModule to break FreebitModule <-> SimManagementModule cycle
- Remove forwardRef usage between these modules
- Move SimVoiceOptionsService to new voice-options module

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:25:14 +09:00
tema
4712463919 Adjust sim management layout and clean billing hook 2026-01-05 15:57:50 +09:00
barsa
74d469ce22 Refactor API Client Error Handling and Update Date Formatting
- Enhanced error handling in various API client services by integrating `redactForLogs` for sensitive data protection in logs.
- Updated date formatting across multiple components and services to utilize `formatIsoDate` and `formatIsoRelative`, improving consistency and readability.
- Removed unused imports and optimized code structure for better maintainability.
- Streamlined retry logic in the Freebit and WHMCS services to improve resilience and error management during API requests.
2025-12-29 17:17:36 +09:00
barsa
a55967a31f Refactor Error Handling and Improve Service Consistency
- Introduced `mapHttpStatusToErrorCode` function in the domain to standardize error code mapping from HTTP status codes, enhancing error handling across the application.
- Updated various services and controllers to utilize the new error mapping function, ensuring consistent error responses and improved clarity in logging.
- Refactored error handling in the BillingController and other modules to align with the updated practices, promoting maintainability and clarity in API responses.
- Cleaned up unused imports and optimized code structure for better maintainability across the BFF modules.
2025-12-29 15:44:01 +09:00
barsa
03eccd1db2 Enhance Error Handling and Logging Consistency Across Services
- Replaced instances of `getErrorMessage` with `extractErrorMessage` in various services to ensure consistent error handling and improve clarity in logging.
- Updated error logging in the Whmcs, Salesforce, and subscription services to utilize the new error extraction method, enhancing maintainability and debugging capabilities.
- Adjusted ESLint configuration to prevent the use of `console.log` in production code, promoting the use of a centralized logging solution.
- Refactored error handling in the Agentforce widget and other components to align with the updated logging practices, ensuring a consistent approach to error management across the application.
- Cleaned up unused imports and optimized code structure for better maintainability.
2025-12-29 15:07:11 +09:00
barsa
fb682c4c44 Refactor Error Handling Utilities and Update Service Implementations
- Renamed `getErrorMessage` to `extractErrorMessage` for clarity and to avoid confusion with the domain's `getMessageForErrorCode`.
- Introduced a deprecation notice for `getErrorMessage` to maintain backward compatibility.
- Updated various services and controllers to utilize the new `extractErrorMessage` function, ensuring consistent error handling across the application.
- Enhanced error handling in the `BillingController`, `SubscriptionsService`, and other modules to improve maintainability and clarity in API responses.
2025-12-26 18:17:37 +09:00
barsa
9e27380069 Update TypeScript configurations, improve module imports, and clean up Dockerfiles
- Adjusted TypeScript settings in tsconfig files for better alignment with ESNext standards.
- Updated pnpm-lock.yaml to reflect dependency changes and improve package management.
- Cleaned up Dockerfiles for both BFF and Portal applications to enhance build processes.
- Modified import statements across various modules to include file extensions for consistency.
- Removed outdated SHA256 files for backend and frontend tarballs to streamline project structure.
- Enhanced health check mechanisms in Dockerfiles for improved application startup reliability.
2025-12-10 16:08:34 +09:00
barsa
f30dcc0608 Refactor pre-commit script and enhance Freebit integration
- Disabled linting in the pre-commit hook during active development, with a reminder to re-enable it before production.
- Simplified the import of `tsconfig-paths` in `main.ts` for better readability.
- Updated exception filter to cast status to `HttpStatus` for TypeScript compatibility.
- Refactored Freebit module imports to streamline dependency management.
- Re-exported SIM management types in Freebit API type definitions for better integration.
- Improved type handling in Freebit operations service by specifying the type for `voiceOptionsService`.
- Cleaned up unused code in SIM management service and added optional fields in SIM schema for enhanced functionality.
2025-12-10 13:38:33 +09:00
tema
f49e5d7574 Enhance SIM management features and introduce new cancellation and plan change flows
- Added new models and request types for enhanced SIM cancellation and plan change functionalities.
- Implemented full cancellation flow with email notifications and confirmation handling.
- Introduced enhanced plan change request with Salesforce product mapping and scheduling.
- Updated UI components for better user experience during SIM management actions.
- Improved error handling and validation for cancellation and plan change requests.
2025-11-29 18:27:58 +09:00
barsa
f6659e363a Enhance FreebitOperationsService to improve entry cleanup and error handling
- Updated logic to prevent cleanup of entries with a cancellation, ensuring proper handling of account states.
- Enhanced error handling to fail fast on non-404 errors, optimizing resource usage during API requests.
- Improved comments for clarity on the cleanup process and error handling behavior.
2025-11-26 17:03:31 +09:00
barsa
e228f9342f Implement stale entry cleanup in FreebitOperationsService to prevent memory leaks
- Added a method to periodically clean up stale operation timestamps, ensuring efficient memory usage.
- Introduced rate limiting for cleanup operations to minimize performance overhead.
- Enhanced the getOperationWindow method to invoke cleanup, maintaining optimal state of operation timestamps.
- Included validation to ensure at least one feature is specified during updates, improving error handling.
2025-11-26 16:58:49 +09:00
barsa
b7f6c204e2 Refactor FreebitOperationsService to enforce API constraints on voice features and network type changes
- Updated logic to prevent simultaneous updates of voice features and network type, ensuring compliance with Freebit API requirements.
- Introduced error handling to guide users on proper sequencing of operations using SimManagementQueueService.
- Improved code clarity by removing outdated comments and consolidating operation handling.
2025-11-26 16:51:54 +09:00
tema
9c796f59da Enhance Freebit integration and improve error handling
- Added FreebitMapperService to facilitate account normalization and improve code organization.
- Updated FreebitAuthService to streamline error handling and response parsing, replacing custom exceptions with standard error messages.
- Enhanced FreebitClientService to ensure proper URL construction and improved logging for API errors.
- Refactored FreebitOperationsService to include new request types and validation, ensuring better handling of SIM operations.
- Updated FreebitOrchestratorService to utilize the new mapper for account normalization across various methods.
- Improved SIM management features in the portal, including better handling of SIM details and usage information.
- Refactored components to enhance user experience and maintainability, including updates to the ChangePlanModal and SimActions components.
2025-11-21 18:41:14 +09:00
barsa
2611e63cfd Enhance caching and response handling in catalog and subscriptions controllers
- Added Cache-Control headers to various endpoints in CatalogController and SubscriptionsController to improve caching behavior and reduce server load.
- Updated response structures to ensure consistent caching strategies across different API endpoints.
- Improved overall performance by implementing throttling and caching mechanisms for better request management.
2025-10-29 13:29:28 +09:00
barsa
9f8d5fe4f1 Enhance error handling and response structure across filters and services
- Updated error response structures in AuthErrorFilter, HttpExceptionFilter, and ZodValidationExceptionFilter to include detailed information such as timestamp and request path.
- Replaced generic error messages with domain-specific exceptions in Freebit and WHMCS services to improve clarity and maintainability.
- Improved logging and error handling in various services to provide better context for failures and enhance debugging capabilities.
- Refactored JWT strategy to include explicit expiration checks for improved security and user feedback.
2025-10-28 13:43:45 +09:00
barsa
e5ce4e166c Refactor mappers and services for improved type safety and code clarity
- Updated export statements in user and mapping mappers for consistency.
- Enhanced FreebitAuthService to explicitly define response types for better type inference.
- Refactored various services to improve error handling and response structure.
- Cleaned up unused code and comments across multiple files to enhance readability.
- Improved type annotations in invoice and subscription services for better validation and consistency.
2025-10-22 10:58:16 +09:00
barsa
6567bc5907 Enhance TypeScript configurations and improve error handling in services
- Updated tsconfig.json to include test files for better type checking.
- Refined type annotations in FreebitAuthService for improved clarity and type safety.
- Enhanced currency index extraction logic in WhmcsCurrencyService for better type inference.
- Improved utility functions in whmcs-client.utils.ts to handle various value types more robustly.
- Simplified user creation logic in WhmcsLinkWorkflowService by removing unnecessary type conversions.
- Updated RequestWithCookies type in auth.controller.ts and global-auth.guard.ts to allow optional cookies.
- Refactored OrderFulfillmentOrchestrator to utilize a more specific mapping result type for better type safety.
- Added error logging enhancements in UsersService for improved traceability.
- Updated catalog contract tests to ensure response validation aligns with new schemas.
- Improved InvoiceTable component to handle payment and download actions more cleanly.
2025-10-22 10:23:56 +09:00
barsa
cd0f5cb723 Refactor architecture to achieve 100% clean architecture by centralizing DB mappers and removing redundant transformer services. Streamlined Freebit and WHMCS integrations to utilize domain mappers directly, enhancing maintainability and consistency across all integrations. Updated documentation and module exports to reflect the new structure, ensuring clear separation of concerns and comprehensive guidance for future developers. 2025-10-08 13:03:31 +09:00
barsa
0740846560 Refactor integration services and update import paths to align with the new domain structure, enhancing type safety and maintainability. Streamline Freebit and Salesforce integration by utilizing updated provider methods and removing deprecated types. Improve organization and consistency in data handling across various modules, including catalog and billing services, by adopting new schemas and types from the updated domain package. 2025-10-08 10:33:33 +09:00
barsa
6e49b7f372 Refactor user and address handling across the application to align with the new domain structure. Update User model in Prisma schema to remove unnecessary fields and clarify authentication state. Streamline user mapping utilities to focus on authentication data only, deprecating old methods. Enhance WHMCS integration services by updating client detail retrieval methods to return Customer types, improving consistency in data handling. Update address management in various modules to reflect new address structure, ensuring better validation and organization. 2025-10-07 17:38:39 +09:00
barsa
c206598615 Refactor Freebit integration services to enhance type safety and maintainability by utilizing updated provider methods and removing deprecated types. Update authentication and mapping logic to align with the new domain structure, improving data handling consistency across services. Introduce new response transformation methods for Freebit authentication, ensuring robust error handling and streamlined integration. 2025-10-03 17:13:02 +09:00
barsa
12c3dc976f Refactor integration services and update import paths to align with the new domain structure, enhancing type safety and maintainability. Streamline Freebit integration by utilizing updated provider methods and removing deprecated types. Improve organization and consistency in data handling across various modules, including catalog and billing services. 2025-10-03 17:08:42 +09:00
barsa
69aa47ad59 Refactor import paths in user mapping and authentication modules to align with the new domain structure, enhancing type safety and maintainability. Remove deprecated Freebit types and streamline integration services by utilizing updated provider methods for improved organization and consistency in data handling. 2025-10-03 16:37:52 +09:00
barsa
71df9add8a Refactor import paths across various services and controllers to align with the new domain structure, enhancing type safety and maintainability. Update Freebit integration to utilize provider methods for account normalization and schema validation. Streamline order-related services by importing types from the updated domain package, improving organization and consistency in data handling. 2025-10-03 15:09:19 +09:00
barsa
9740814c10 Refactor integration services to utilize updated import paths from the domain package, enhancing type safety and maintainability. Replace direct imports with provider methods for Freebit and WHMCS services, streamlining data transformation processes. Update various service files to reflect new structure and improve organization across the application. 2025-10-03 15:05:46 +09:00
barsa
faea4a6f29 Refactor ESLint configuration to enforce layered type system architecture, preventing direct imports from domain and contracts package internals. Update TypeScript configurations in BFF and Portal applications to align with new import paths. Enhance integration services by dynamically importing and validating schemas, improving type safety and maintainability. Update documentation to reflect the new architecture and integration patterns. 2025-10-03 14:26:55 +09:00
barsa
93e28fc20d Update TypeScript configurations and refactor SIM management services to utilize shared contracts. Add new package references for contracts and schemas, enhancing type safety across the application. Streamline SIM-related interfaces and services by importing types from the contracts package, improving maintainability and consistency in data handling. Remove deprecated validation logic and integrate new transformation methods for invoice and subscription entities. 2025-10-03 13:19:26 +09:00
barsa
b6c77b5b75 Remove deprecated environment configuration files and clean up documentation related to Zod implementation. Update pnpm-lock.yaml for consistency in package versions. Refactor BFF and portal components to enhance type consistency, error handling, and maintainability across various services. Streamline import paths and remove unused code to improve overall project organization. 2025-09-26 18:28:47 +09:00
barsa
29366d6ae6 Refactor BFF and portal components to enhance type consistency and error handling. Update type definitions across Freebit, WHMCS, and invoice management services, improving maintainability and clarity. Streamline service methods and import paths, while cleaning up unused code to ensure better organization throughout the project. 2025-09-25 18:59:07 +09:00
barsa
ec69e3dcbb Refactor Freebit and WHMCS integrations to enhance maintainability and error handling. Update type definitions and streamline service methods across various modules. Improve import paths and clean up unused code to ensure better organization and clarity in the project structure. 2025-09-25 17:42:36 +09:00
barsa
b9c24b6dc5 Refactor Freebit integration by removing the csurf dependency and updating related type definitions. Enhance Freebit API request handling with improved error management and logging. Update data structures for traffic and quota history responses to streamline data processing. Adjust service methods for better clarity and maintainability. 2025-09-25 17:01:47 +09:00
barsa
7703392f58 Refactor Freebit integration by removing the legacy FreebitService and updating module structure to utilize FreebitOrchestratorService. Streamline service dependencies and improve maintainability across various modules. Update import paths and clean up unused code to enhance overall organization. 2025-09-25 16:38:21 +09:00
barsa
9fafd227b9 Refactor WHMCS integration to enhance invoice management capabilities. Introduce methods for creating, updating, and capturing payments for invoices, while removing legacy transformer services. Update type definitions for invoice-related API interactions and improve error handling across invoice operations. Streamline service dependencies and ensure consistent logging for better maintainability. 2025-09-25 16:23:24 +09:00
barsa
065e2f9acf Refactor import paths for AlertBanner, AsyncBlock, and other components in the portal to enhance module structure and maintainability. Remove unused components and streamline imports across various views and features, ensuring consistent file organization. 2025-09-25 15:54:54 +09:00
barsa
c5de063a3e Refactor portal components and services for improved structure and consistency. Replace DashboardLayout with AppShell in authenticated pages, streamline loading states by removing deprecated components, and enhance validation imports across various forms. Update type definitions and clean up unused code to ensure better maintainability and adherence to the new design system. 2025-09-25 15:11:28 +09:00
barsa
47a3de6919 Refactor error handling in various services to improve consistency and maintainability. Update user role management across authentication and user services, ensuring proper type definitions. Enhance validation schemas and streamline import/export practices in the domain and validation modules. Remove deprecated files and clean up unused code in the Salesforce integration and catalog services. 2025-09-25 13:21:11 +09:00
T. Narantuya
a95ec60859 Refactor address management and update related services for improved clarity and functionality
- Updated address retrieval in user service to replace billing info with a dedicated address method.
- Adjusted API endpoints to use `PATCH /api/me/address` for address updates instead of billing updates.
- Enhanced documentation to reflect changes in address management processes and API usage.
- Removed deprecated types and services related to billing address handling, streamlining the codebase.
2025-09-17 18:43:43 +09:00