Commit Graph

62 Commits

Author SHA1 Message Date
masoodafar-web 1c4beb5f05 chore: bump Protobuf NuGet package version to 0.0.178
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 7m45s
2026-02-16 01:39:49 +03:30
masoodafar-web 207f53ef80 refactor: remove PYMS microservice, use ZarinPal directly in CMS
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m26s
- Remove PYMSPaymentService.cs and PYMS proto files
- Remove 'pyms' case from DI ConfigureServices
- Remove PYMS config from appsettings
- Switch PaymentProvider to 'zarinpal' (direct integration)
- ZarinPalPaymentService handles sandbox/production, verify, errors
- PYMS deployment/service/ingress removed from K8s
2026-02-15 23:25:20 +03:30
masoodafar-web 2502cbbda2 feat: integrate PYMS payment gateway, add blog/sitepage/image services, local file manager
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m44s
Payment Gateway:
- Add PYMSPaymentService: IPaymentGatewayService via gRPC to PYMS microservice
- Add ZarinPalPaymentService: direct ZarinPal integration (backup)
- Register 'pyms' payment provider in DI ConfigureServices
- Add PYMS proto files (pyms_transaction.proto, pyms_public_messages.proto)
- Fix VerifyDiscountWalletCharge: pass 'OK' as status instead of Authority
- Update appsettings: PaymentProvider=pyms, sandbox mode, merchant ID

Blog System:
- Add BlogCategory, BlogPost, BlogPostImage entities and CQRS
- Add proto files and gRPC services for blog management
- Add Mapster profiles for blog responses

Content Management:
- Add SitePage entity and CQRS for static pages
- Add proto and gRPC service for site pages

Image/File Management:
- Add LocalFileManager with disk storage + base64 serving + FMS fallback
- Add ImagePathResolverInterceptor for gRPC responses
- Add ImageResolverService for explicit image resolution
- Add UploadsController for public file serving with FMS fallback
- Add PaymentCallbackController for discount order payment callbacks

Database:
- Add blog and content entity migrations
- Remove ImagePath MaxLength constraints
- Remove old FileManagementService (replaced by LocalFileManager)
2026-02-15 23:01:16 +03:30
masoodafar-web b42d9e141d feat: Implement file management and authorization features
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 3m9s
- Add RequiresPermissionAttribute for gRPC method access control.
- Create IFileManagementService interface for file upload and management.
- Implement AddProductImageCommand and handler for adding product images.
- Implement CreateNewProductsCommand and handler for creating new products with image uploads.
- Implement DeleteProductsCommand and handler for deleting products and their associations.
- Implement RemoveProductImageCommand and handler for removing product images from galleries.
- Implement UpdateProductsCommand and handler for updating product details and images.
- Create GetProductGalleryQuery and handler for retrieving product galleries.
- Implement PermissionService for role-based access control using JWT claims.
- Implement FileManagementService for handling file uploads and image optimization.
- Define gRPC service and messages for file management in fms.proto.
- Add FluentValidation for request validation in various commands.
- Create PermissionInterceptor for enforcing permissions on gRPC methods.
2026-02-10 22:04:54 +03:30
masoodafar-web 794dd01ac0 feat: update Protobuf definitions and add customer-facing APIs for various services 2026-02-01 22:16:36 +03:30
masoodafar-web 658d076bdf Complete FrontOffice BFF to CMS Migration
- Migrated all 9 services from FrontOffice.BFF to CMS architecture
- Enhanced user.proto with 7 additional Customer API endpoints:
  * UpdateCustomerProfile, GetCustomerProfile
  * ChangeCustomerPassword with validation
  * GetCustomerReferrals with commission stats
  * UploadCustomerAvatar with file validation
  * GetCustomerSettings, UpdateCustomerSettings
- All services now support Customer endpoints with /Customer/ prefix
- Mock implementations with realistic Persian data
- Fixed namespace conflicts and compilation issues
- Comprehensive testing completed for all endpoints
- Services migrated: Categories, City, UserCarts, Products, UserWallet,
  Transaction, UserOrder, Package, User (enhanced)
2026-01-30 08:53:09 +03:30
masoodafar-web 20280cf07f fix: proper restore and disable auto-push in CI
Build and Deploy to Kubernetes / publish-packages (push) Successful in 1m33s
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 1m7s
- Add restore step before build
- Add CI=true env to disable PushToFoursatNuget target
- Add --allow-insecure-connections to csproj push command
- Add Condition to skip push target in CI
2026-01-29 04:59:48 +03:30
masoodafar-web 52af1bfaad chore: تنظیم Nexus برای NuGet و Docker offline
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 11m13s
- Dockerfile: استفاده از Nexus Docker (194.5.195.53:32082)
- NuGet.config: استفاده از Nexus NuGet با HTTP و allowInsecureConnections
- workflow: حذف kubectl dependency، اضافه کردن 32082 به insecure-registries
- csproj: تغییر push آدرس به Nexus foursat-nuget-hosted
2026-01-29 02:56:14 +03:30
masoodafar-web ca9b02a902 chore: update Protobuf project version to 0.0.169
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 2m4s
2026-01-03 15:38:33 +03:30
masoodafar-web d3d021c007 feat(migrations): add ImageDocumentId column to ManualPayments table
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m36s
feat(mappings): implement DiscountCategoryProfile for mapping between application DTOs and protobuf responses
2026-01-03 07:37:45 +03:30
masoodafar-web bea43a0569 Add ImagePath column to ManualPayments table in CMS schema
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m52s
2026-01-02 02:13:57 +03:30
masoodafar-web 1cf501711f Implement Inventory Management Service with CRUD operations for warehouses and inventory items, stock operations, and bulk processing capabilities.
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m48s
2026-01-02 00:45:37 +03:30
masoodafar-web f0117eb1d5 Add migration for DiscountProductImages table
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m53s
- Created a new table `DiscountProductImages` in the CMS schema.
- Added columns for image details including `Title`, `AltText`, `ImagePath`, `ThumbnailPath`, `SortOrder`, `IsActive`, `Created`, `CreatedBy`, `LastModified`, `LastModifiedBy`, and `IsDeleted`.
- Established a foreign key relationship with the `DiscountProducts` table.
- Created indexes on `DiscountProductId` and a composite index on `DiscountProductId` and `SortOrder`.
2026-01-01 02:26:33 +03:30
masoodafar-web ed45a1759b feat: update user weekly balances model and mappings - Enhanced UserWeeklyBalanceModel with new properties and updated mappings in response DTO and profile
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m34s
2025-12-27 21:52:42 +03:30
masoodafar-web 02e2f8111f feat: implement Kavenegar SMS service and refactor system configurations to use static constants
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m38s
2025-12-26 09:04:27 +03:30
masoodafar-web 8940362575 fix: update MaxDepth validation range to allow values between 1 and 100 - Bump Protobuf version to 0.0.159
Build and Deploy to Production / build-and-deploy (push) Successful in 3m8s
2025-12-25 19:30:06 +03:30
masoodafar-web a9140bec04 chore: bump CMSMicroservice.Protobuf to 0.0.158
Build and Deploy to Production / build-and-deploy (push) Has been cancelled
2025-12-25 19:08:51 +03:30
masoodafar-web 17c2958b9c feat(AppVersion): Add version tracking system for frontend cache invalidation
Build and Deploy to Production / build-and-deploy (push) Successful in 1m37s
- Add AppVersion entity with CurrentVersion, MinRequiredVersion, RequiresFullCacheClear
- Add GetAppVersion query to check app version and compare with client version
- Add GetAllAppVersions query for admin panel
- Add UpdateAppVersion command to update/create app versions
- Add appversion.proto for gRPC communication
- Add AppVersionService for gRPC endpoints
- Add database migration for AppVersions table
2025-12-25 18:06:12 +03:30
masoodafar-web 25476ba120 feat: implement commission calculation strategy with ORM and SP options
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m43s
2025-12-20 03:15:28 +03:30
masoodafar-web ead0cf4235 feat: add geography entities with countries, states and cities 2025-12-18 00:43:55 +03:30
masoodafar-web 730e5a252b feat: add target week activation flag to network membership
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 5m28s
2025-12-14 03:35:40 +03:30
masoodafar-web cf75f14003 feat: add club membership filters and activation details to network tree
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m13s
2025-12-14 02:56:04 +03:30
masoodafar-web 6ae1b0cd70 feat: update commission payout model with user names and timestamps
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 4m11s
2025-12-12 19:31:32 +03:30
masoodafar-web 094846ce8b feat: add manual membership payment processing with wallet and order management
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 7m8s
2025-12-12 10:07:14 +03:30
masoodafar-web 3c7ac68eeb feat: enhance network membership response with detailed stats and hierarchy
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m14s
2025-12-12 06:07:23 +03:30
masoodafar-web bb6b7c709c feat: add search text filter for user query
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m40s
2025-12-12 03:18:18 +03:30
masoodafar-web 12749ccb01 chore: bump version to 0.0.146
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 11m40s
2025-12-12 01:41:48 +03:30
masoodafar-web aa66ca10c8 feat: add Mapster mapping and update network tree request
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 2m11s
2025-12-08 04:10:46 +03:30
masoodafar-web 217ef147dd feat: Implement manual payment system with gRPC service and related commands/queries 2025-12-05 17:26:58 +03:30
masoodafar-web abda623519 chore: Bump CMSMicroservice.Protobuf version to 0.0.142 2025-12-04 05:21:25 +03:30
masoodafar-web f0f48118e7 Add validators and services for Product Galleries and Product Tags
- Implemented Create, Delete, Get, and Update validators for Product Galleries.
- Added Create, Delete, Get, and Update validators for Product Tags.
- Created service classes for handling Discount Categories, Discount Orders, Discount Products, Discount Shopping Cart, Product Categories, Product Galleries, and Product Tags.
- Each service class integrates with CQRS for command and query handling.
- Established mapping profiles for Product Galleries.
2025-12-04 02:40:49 +03:30
masoodafar-web 8d31a8c026 feat: Add GetClubStatistics and GetNetworkStatistics APIs with corresponding request and response messages 2025-12-01 16:43:53 +03:30
masoodafar-web 199e7e99d1 feat: Add monitoring alerts skeleton and enhance worker with notifications 2025-11-30 20:18:10 +03:30
masoodafar-web 2bb8c2a13c feat: Add gRPC API Layer - Phase 6 Integration
Added Protobuf definitions and gRPC services for all CQ layers:

Protobuf Files (4):
- configuration.proto: 2 Commands + 3 Queries (5 RPCs)
- clubmembership.proto: 3 Commands + 3 Queries (6 RPCs)
- networkmembership.proto: 3 Commands + 3 Queries (6 RPCs)
- commission.proto: 5 Commands + 4 Queries (9 RPCs)

gRPC Services (4):
- ConfigurationService: SetConfigurationValue, Deactivate, GetByKey, GetAll, GetHistory
- ClubMembershipService: Activate, Deactivate, AssignFeature, Get, GetAll, GetHistory
- NetworkMembershipService: Join, Move, Remove, GetPosition, GetTree, GetHistory
- CommissionService: Calculate+Process+Withdraw (5 commands), Get queries (4)

Features:
- HTTP transcoding enabled via google.api.http annotations
- Auto-registration via ConfigureGrpcEndpoints
- MetaData pagination support
- Request/Response DTOs for all endpoints
- Integration with MediatR CQRS handlers

Total: 4 proto files, 4 service classes, 26 RPC endpoints
Build:  Successful (0 errors)
2025-11-29 04:45:27 +03:30
masoodafar-web 8f77097278 Bump version to 0.0.139 in CMSMicroservice.Protobuf 2025-11-28 14:44:49 +03:30
masoodafar-web a3c7033d95 Add CategoryId filter to product query and proto 2025-11-28 11:00:36 +03:30
masoodafar-web ce2bf3f1f0 Make amount, user_id and address_id optional in user order update 2025-11-28 04:02:00 +03:30
masoodafar-web 84f08f11e4 Make package_id optional in user order proto and command 2025-11-28 02:47:27 +03:30
masoodafar-web b706e02d4f Update payment date filter to use greater than or equal comparison 2025-11-27 18:58:28 +03:30
masoodafar-web 38ce54d367 Fix PaymentStatus comparison in order filter query 2025-11-27 18:49:01 +03:30
masoodafar-web 32b7cb3238 Add delivery tracking fields to UserOrder entity 2025-11-27 06:39:47 +03:30
masoodafar-web dcb3ce69a8 update1 2025-11-25 04:59:50 +03:30
masoodafar-web 88f38f5d8e update 2025-11-25 03:04:00 +03:30
masoodafar-web 1b146b338f update 2025-11-25 02:08:28 +03:30
masoodafar-web a2d293ed01 update 2025-11-25 00:39:31 +03:30
masoodafar-web 43202d6106 Bump version to 0.0.124 2025-11-20 23:19:13 +03:30
masoodafar-web a1c934c2de update 2025-11-20 23:12:17 +03:30
masoodafar-web b7493f0dd1 bump version to 0.0.122 2025-11-20 00:54:13 +03:30
masoodafar-web 7840f3b463 update 2025-11-20 00:40:28 +03:30
masoodafar-web f6dcd43346 update 2025-11-18 22:38:50 +03:30