Commit Graph

111 Commits

Author SHA1 Message Date
Ho Ngoc Hai
0358ca255a feat: Thêm các tính năng quản lý admin cho Membership và Storage services, cùng với chức năng trao đổi tiền tệ và cập nhật cấu trúc ví trong Wallet service. 2026-01-15 19:12:32 +07:00
Ho Ngoc Hai
2fef02d04a feat: Thêm các unit test cho iam-service-net, cập nhật Dockerfile của merchant-service-net để tăng cường bảo mật và cải thiện quy trình build, đồng thời sửa đổi các unit test hiện có trong storage-service-net. 2026-01-15 18:58:04 +07:00
Ho Ngoc Hai
056d93d338 feat: Bổ sung unit test cho các mô hình miền AccessRequest và AccessRequestStatus trong IAM, đồng thời loại bỏ tệp docker-compose.yml của dịch vụ merchant. 2026-01-15 18:52:44 +07:00
Ho Ngoc Hai
8783588ec4 Thêm các bài kiểm tra chức năng và đơn vị cho quản lý vai trò trong dịch vụ IAM, đồng thời cập nhật cấu hình Docker, Traefik và các bài kiểm tra dịch vụ thành viên. 2026-01-15 18:50:50 +07:00
Ho Ngoc Hai
00cda92656 refactor: Loại bỏ các functional test không liên quan đến ủy quyền khỏi MembersControllerTests và thêm NSubstitute.ExceptionExtensions vào các unit test của StorageService. 2026-01-15 18:33:19 +07:00
Ho Ngoc Hai
753e2b9d95 feat: Bổ sung các bài kiểm tra đơn vị và chức năng mới cho Storage, IAM, Membership services, đồng thời thêm cấu hình thực thể cho MerchantService. 2026-01-15 18:30:47 +07:00
Ho Ngoc Hai
3cbf56ec36 feat: Triển khai các API quản lý cửa hàng và người bán trong MerchantService, đồng thời bổ sung các bài kiểm thử đơn vị và chức năng toàn diện cho các dịch vụ Storage, Membership và IAM. 2026-01-15 18:23:40 +07:00
Ho Ngoc Hai
580e074145 feat: Thêm dịch vụ MerchantService mới và cập nhật các tệp điều khiển thành viên trong MembershipService. 2026-01-15 18:14:13 +07:00
Ho Ngoc Hai
c921098788 feat: Khởi tạo cấu trúc dự án MerchantService mới bao gồm API, Domain, Infrastructure và các bài kiểm thử, đồng thời cập nhật các tệp liên quan trong MembershipService. 2026-01-15 18:03:00 +07:00
Ho Ngoc Hai
fe910a13bb feat: Triển khai hệ thống cấp độ và kinh nghiệm (EXP) cho thành viên, bao gồm LevelDefinition aggregate và tích hợp sự kiện lên cấp với Wallet Service. 2026-01-15 17:31:05 +07:00
Ho Ngoc Hai
bb0137289c refactor: Tinh gọn Membership Service để tập trung quản lý cấp độ và thông tin thành viên, chuyển hồ sơ người dùng chi tiết sang IAM Service. 2026-01-15 17:21:38 +07:00
Ho Ngoc Hai
0a3db83704 feat: Update Swagger configuration and launch settings for Membership Service API
- Downgraded Swashbuckle.AspNetCore.Annotations package to version 7.2.0 for compatibility.
- Enhanced Swagger documentation with detailed API description, features, and contact information.
- Added JWT Bearer security definition to improve API security.
- Updated launch settings to change the application URL from localhost:5000 to localhost:5003.
2026-01-15 16:49:44 +07:00
Ho Ngoc Hai
f17578594f feat: Update connection strings and JWT settings in appsettings files
- Modified connection strings in appsettings.json for membership and storage services to use the new database host and credentials.
- Updated Redis configuration with new host, port, and authentication details.
- Changed JWT secret key to enhance security and updated issuer and audience settings for consistency across services.
2026-01-14 23:14:51 +07:00
Ho Ngoc Hai
a68a3b976a feat: Enhance member profile management with gender and preferences
- Updated CreateMemberCommand and UpdateMemberProfileCommand to include optional gender and preferences fields.
- Modified Member entity to store gender and preferences, improving member data handling.
- Implemented validation for gender and preferences in command validators.
- Adjusted command handlers to support new fields during member creation and profile updates.
- Updated unit tests to verify new functionality for gender and preferences management.
2026-01-14 19:49:29 +07:00
Ho Ngoc Hai
79bc566b73 docs: Expand architecture documentation for IAM Service with new aggregates and event types
- Added detailed sections for Organization, Group, Access Request, Access Review, and Audit & Compliance aggregates in both English and Vietnamese.
- Included class diagrams and enumerations to enhance understanding of the new structures and their relationships.
- Updated the AuditEventType table to reflect 18 event types, improving clarity on event handling within the IAM Service.
2026-01-14 19:31:41 +07:00
Ho Ngoc Hai
8e87ddd4ea docs: Expand IAM Service documentation to include new API endpoints for Organizations, Groups, Access Requests, Access Reviews, Privileged Access, Audit, and Compliance
- Added detailed sections for new API endpoints in both English and Vietnamese, covering functionalities for managing organizations, groups, access requests, access reviews, privileged access, audit logs, and compliance reports.
- Enhanced documentation clarity and accessibility, reflecting the latest features introduced in the IAM Service.
2026-01-14 19:29:27 +07:00
Ho Ngoc Hai
f19a995b0d feat: Introduce new Access Management and Governance APIs in IAM Service
- Added Access Requests, Access Reviews, Privileged Access Management, Audit Log, and Compliance APIs to enhance access management and governance capabilities.
- Updated the DbContext to include new entities for AuditLog and ComplianceReport, improving data handling for compliance and auditing.
- Enhanced Dependency Injection to support new repositories for the added functionalities, streamlining service operations.
2026-01-14 19:26:26 +07:00
Ho Ngoc Hai
8b7db56b79 feat: Add Access Review and Privileged Access functionality to IAM Service
- Introduced new AccessReview and PrivilegedAccess entities in the DbContext to enhance access management capabilities.
- Updated Dependency Injection to include AccessReviewRepository and PrivilegedAccessRepository, improving service functionality for access reviews and privileged access management.
2026-01-14 16:02:34 +07:00
Ho Ngoc Hai
c041f3f7b2 feat: Add Access Request functionality to IAM Service
- Introduced new Access Request and Access Request Approver entities in the DbContext to support access management features.
- Updated Dependency Injection to include the AccessRequestRepository, enhancing the service's capabilities for handling access requests.
- Added example curl command for token retrieval using the test account, improving developer experience for testing authentication flows.
2026-01-14 15:51:16 +07:00
Ho Ngoc Hai
dfaf6b059b docs: Update IAM Service documentation to include new Organization, Group, User Profile, and Identity Verification APIs
- Added new sections for Organization & Group APIs, User Profile APIs, and Identity Verification APIs in both English and Vietnamese documentation, reflecting the features introduced in Phase 2.
- Revised the implementation roadmap to indicate the completion of Identity Management features, enhancing clarity on the current capabilities of the IAM Service.
- Updated the Dependency Injection and DbContext to include new repositories and database tables for the added functionalities.
2026-01-14 15:19:06 +07:00
Ho Ngoc Hai
74860caf75 chore: Remove deprecated files from organization service
- Deleted various outdated files including configuration, documentation, and source code related to the organization service.
- This cleanup enhances repository maintainability by removing obsolete components that are no longer in use.
2026-01-14 14:18:55 +07:00
Ho Ngoc Hai
8d9da25aaa chore: Remove obsolete IAM service files and configurations
- Deleted various outdated files related to the IAM service, including configuration files, documentation, and test scripts, to streamline the project structure.
- This cleanup helps maintain focus on current practices and ensures that only relevant and up-to-date information is retained in the repository.
2026-01-14 11:11:17 +07:00
Ho Ngoc Hai
7d6686c1a7 docs(api): Update README and architecture documentation for file handling and download URLs
- Expanded the API documentation to include detailed sections on file management endpoints, including upload, retrieval, sharing, and deletion.
- Added a comprehensive overview of pre-signed URLs and access levels, clarifying the differences between public, private, and shared file access.
- Introduced a new architecture section detailing the download URL generation flow and security considerations for pre-signed URLs.
- Enhanced the README with examples and explanations to improve developer understanding of file access and management processes.
2026-01-14 01:06:30 +07:00
Ho Ngoc Hai
9fb4379f3d feat(storage): Enhance object key generation with access level prefix
- Updated the GenerateObjectKey method to include a prefix based on the file access level (public, private, shared).
- Improved documentation for the method to clarify the path structure and its implications for file accessibility.
- Adjusted the UploadFileCommandHandler to utilize the new object key generation logic, ensuring proper file organization in storage.
2026-01-14 01:01:29 +07:00
Ho Ngoc Hai
9c648c2d35 feat(cdn): Add CDN URL retrieval for public files and enhance caching mechanisms
- Introduced a new endpoint to retrieve CDN URLs for public files, falling back to pre-signed URLs when necessary.
- Enhanced caching for file metadata retrieval in GetFileQueryHandler to improve performance.
- Updated file handling commands to invalidate relevant caches upon file operations.
- Added configuration settings for CDN in appsettings.json to manage CDN behavior.
- Implemented new data models for CDN URL responses and integrated them into the API response structure.
2026-01-14 00:20:31 +07:00
Ho Ngoc Hai
964e33bee6 feat(storage): Implement multipart upload functionality and caching for file operations
- Added multipart upload methods to the IStorageProvider interface and implemented them in the MinioStorageProvider and AliyunOssStorageProvider classes.
- Integrated Redis caching for user quota management in ConfirmUploadCommandHandler and DeleteFileCommandHandler to ensure updated quota values.
- Enhanced GetUserQuotaQueryHandler to utilize cache-aside pattern for improved performance.
- Updated Dependency Injection to register Redis cache service and configured related settings.
- Introduced database schema changes to support multipart uploads and their parts.
2026-01-13 23:42:35 +07:00
Ho Ngoc Hai
517bea32e7 docs(architecture): Add Multipart Upload architecture and endpoints for large files
- Introduced a new section detailing the Multipart Upload architecture for files larger than 100MB, including a comparison of upload methods.
- Documented the Multipart Upload flow with a sequence diagram illustrating the process from initiation to completion.
- Listed the relevant API endpoints for Multipart Upload, including initiation, part uploads, completion, and progress checking.
- Added a database schema section for tracking multipart uploads and their parts, enhancing clarity on data management.
2026-01-13 23:41:47 +07:00
Ho Ngoc Hai
3756fe6e35 feat(membership): Introduce Membership Service with IAM integration
- Added the Membership Service configuration to the local docker-compose.yml, replacing the previous Social Service setup.
- Implemented IAM Service client with caching and health check capabilities in the Membership Service.
- Created Dependency Injection for IAM Service settings and registered the HttpClient for communication.
- Removed the outdated docker-compose.yml for the previous Social Service.
- Enhanced IAM Service client functionality to validate users, retrieve roles, and manage permissions.
2026-01-13 23:40:59 +07:00
Ho Ngoc Hai
ecacde83ea docs(architecture): Revise documentation for Logical Folder Architecture and Data Sovereignty
- Updated the README and ARCHITECTURE documentation to emphasize the Logical Folder structure, clarifying that folders are a logical concept in the database rather than dependent on bucket structure.
- Highlighted the benefits of using UUID-based keys and a flat bucket structure, including improved performance, security, and scalability.
- Provided detailed examples of database schema, workflows, and performance comparisons to illustrate the advantages of the new approach over traditional methods.
- Enhanced explanations of folder management processes, including creation, renaming, and file uploads, to improve developer understanding and implementation.
2026-01-13 22:37:20 +07:00
Ho Ngoc Hai
1bcdfcccac docs(architecture): Revise documentation for Logical Folder architecture and Data Sovereignty principles
- Updated the architecture documentation to emphasize the Logical Folder structure and its alignment with Data Sovereignty principles.
- Introduced a clear distinction between logical and physical storage, highlighting the benefits of using UUID-based keys and a flat bucket structure.
- Provided detailed examples of database schema, workflows, and performance comparisons to illustrate the advantages of the new approach over traditional bucket-based methods.
- Enhanced explanations of folder creation, renaming, and file management processes to improve developer understanding and implementation.
2026-01-13 22:29:50 +07:00
Ho Ngoc Hai
5c8764f63a docs(architecture): Update documentation for direct upload architecture and API endpoints
- Enhanced the architecture documentation to recommend direct upload over legacy proxy upload for improved performance and scalability.
- Added detailed comparisons of upload patterns, including throughput, memory usage, and latency.
- Updated API endpoint documentation to reflect new direct upload methods and their benefits.
- Included examples for direct upload flow and bucket directory structure to aid developers in implementation.
2026-01-13 21:17:55 +07:00
Ho Ngoc Hai
8886585f48 docs(readme): Enhance inter-service communication section for Docker configuration
- Expanded the README documentation to include detailed instructions for Docker network configuration and JWT token issuer setup for inter-service communication.
- Added troubleshooting tips for common issues related to JWT issuer mismatch and container networking.
- Updated caching information and clarified available methods for the IIamServiceClient.
2026-01-13 20:16:20 +07:00
Ho Ngoc Hai
5363d9ca5e feat(identity): Configure fixed issuer URI for IdentityServer
- Added a fixed issuer URI for inter-service communication in the docker-compose.yml and appsettings.json.
- Updated DependencyInjection to utilize the new issuer URI, ensuring consistency across hosts and containers.
2026-01-13 20:05:50 +07:00
Ho Ngoc Hai
374f6904fe chore(docker): Update IAM and Storage Service Dockerfiles
- Added curl installation in the IAM service Dockerfile for improved functionality.
- Removed the deprecated docker-compose.yml for the Storage Service, consolidating service definitions.
- Ensured consistency in the build and publish commands for the Storage Service Dockerfile.
2026-01-13 19:57:51 +07:00
Ho Ngoc Hai
e07a294f2d chore(docker): Update IAM service base URL in docker-compose and IamServiceClient
- Changed the IAM service base URL from "http://iam-service:5001" to "http://iam-service-net:8080" in both the local docker-compose.yml and the IamServiceClient class to ensure consistency across configurations.
2026-01-13 19:51:59 +07:00
Ho Ngoc Hai
6fa2bdbded fix(users): Handle null values for email and status in UserDto
- Updated the UsersController to ensure that the Email field defaults to an empty string if null, and the Status field defaults to "Unknown" if not set. This improves the robustness of the user data returned in API responses.
2026-01-13 19:46:24 +07:00
Ho Ngoc Hai
7550929f50 refactor(authentication): Update authorization schemes to use "Bearer" for consistency
- Changed authorization schemes in AuthController, RolesController, and UsersController from JwtBearerDefaults.AuthenticationScheme to "Bearer" for uniformity across the application.
- Added new endpoints in UsersController to retrieve user roles and permissions by user ID, enhancing user management capabilities.
2026-01-13 19:43:16 +07:00
Ho Ngoc Hai
884520a766 chore(configuration): Add IdentityServer authority to appsettings.json
- Introduced IdentityServer configuration with Authority set to "http://localhost:5001" for local development.
2026-01-13 19:36:15 +07:00
Ho Ngoc Hai
312bf360ea chore(docker): Migrate IAM service configuration to main docker-compose file
- Added IAM service configuration to the local docker-compose.yml for streamlined deployment.
- Removed the separate docker-compose.yml file from the IAM service directory to consolidate service definitions.
2026-01-13 19:26:56 +07:00
Ho Ngoc Hai
aafa1ae839 feat(docs): Update README with new registration and email confirmation details
- Added phone number field to the registration example in the API documentation.
- Included detailed response structure for registration and email verification endpoints.
- Updated email confirmation example to use email instead of userId for clarity.
- Enhanced two-factor authentication response to include manual entry key and recovery codes.
2026-01-13 19:07:39 +07:00
Ho Ngoc Hai
7d4958ec92 feat(two-factor): Enhance recovery code generation in TotpTwoFactorService
- Updated recovery code generation to use 12 bytes for base64 conversion, ensuring sufficient characters.
- Implemented fallback padding to guarantee a minimum length of 8 characters for generated codes.
- Adjusted formatting to maintain readability with XXXX-XXXX structure.
2026-01-13 19:01:15 +07:00
Ho Ngoc Hai
a25c9f4ad5 chore(configuration): Update email settings in appsettings.json for IAM service
- Changed SMTP configuration to use specific credentials and sender details for the GoodGo IAM service.
- Updated sender email and name to reflect the new service branding.
2026-01-13 18:57:54 +07:00
Ho Ngoc Hai
38aaf72be2 chore(configuration): Update appsettings for development and production environments
- Modified logging levels in `appsettings.Development.json` to enhance log visibility.
- Added Serilog configuration for structured logging and console output.
- Updated Redis connection settings for improved security and performance.
- Introduced email configuration settings for SMTP integration.
- Added two-factor authentication settings and social login configurations for Google and Facebook.
- Updated the default connection string in `appsettings.json` to match the new database setup.
2026-01-13 18:56:59 +07:00
Ho Ngoc Hai
c23c35844e refactor(authentication): Remove legacy login functionality and related models
- Deleted the `Login` method and associated `LoginRequest` and `LoginResponse` models from `AuthController.cs` to streamline authentication processes.
- This change simplifies the codebase by removing unused components related to the Resource Owner Password Grant flow.
2026-01-13 18:44:31 +07:00
Ho Ngoc Hai
afb756681e feat(authentication): Integrate JWT Bearer authentication and Swagger enhancements
- Added JWT Bearer authentication configuration in `Program.cs` for IAM service integration.
- Updated Swagger setup to include JWT Bearer security definition and requirements.
- Introduced a new Swagger UI client for testing with resource owner password grant type in `Config.cs`.
- Included necessary package reference for `Microsoft.AspNetCore.Authentication.JwtBearer` in the project file.
2026-01-13 12:24:41 +07:00
Ho Ngoc Hai
c7ca541c5f feat(storage-service): Integrate Swagger for API documentation and versioning
- Added Swagger support in `Program.cs` to enhance API documentation and enable annotations.
- Updated project file to generate XML documentation for Swagger and included the `Swashbuckle.AspNetCore.Annotations` package.
- Modified `FilesController` and `QuotaController` to support API versioning and updated route attributes accordingly.
2026-01-13 10:07:26 +07:00
Ho Ngoc Hai
d7852cde79 fix(storage-service): Update application URL in launch settings for local development
- Changed the application URL in `launchSettings.json` from `http://localhost:5000` to `http://localhost:5002` to avoid port conflicts during local development.
2026-01-13 02:29:42 +07:00
Ho Ngoc Hai
0b59b7d219 feat(storage-service): Update storage configuration and enhance service initialization
- Changed the default bucket name in `appsettings.Development.json` from "storage" to "goodgo" and updated MinIO endpoint and credentials for improved access.
- Modified the service initialization in `Program.cs` to include the environment name, enhancing configuration flexibility.
- Added a missing namespace in `CustomWebApplicationFactory.cs` for better test setup.
- Removed obsolete unit test files for `CreateSampleCommandHandler` and `SampleAggregate`, streamlining the test suite.
2026-01-13 02:27:18 +07:00
Ho Ngoc Hai
ee3cd7c770 feat(storage-service): Update connection settings and remove unused sample commands
- Updated `appsettings.Development.json` to change the database connection string for the storage service.
- Added `Microsoft.EntityFrameworkCore.Design` package reference to the project file for design-time features.
- Removed obsolete command and handler files related to sample management, including `ChangeSampleStatusCommand`, `CreateSampleCommand`, `UpdateSampleCommand`, and their respective handlers.
- Cleaned up the `SamplesController` and related query and validation files to streamline the codebase.
2026-01-13 01:57:37 +07:00
Ho Ngoc Hai
71a5d8d4ed feat(deployments): Update local environment configuration for IAM service and Redis integration
- Modified local `.env` and `.env.local` files to include external Redis configuration and IAM service database connection details.
- Updated `docker-compose.yml` to disable local Redis service in favor of an external Redis instance.
- Added JWT configuration parameters for the IAM service, enhancing security and token management.
- Revised example environment file to reflect new configuration options for external services.
- Enhanced documentation to clarify setup instructions for local development with external dependencies.
2026-01-13 01:03:33 +07:00