diff --git a/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj b/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj
index c07bc07..fd03f97 100644
--- a/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj
+++ b/src/CMSMicroservice.Protobuf/CMSMicroservice.Protobuf.csproj
@@ -64,8 +64,8 @@
-
-
+
+
diff --git a/src/CMSMicroservice.WebApi/Services/CategoryService.cs b/src/CMSMicroservice.WebApi/Services/CategoryService.cs
index 33d9231..d3b1d1d 100644
--- a/src/CMSMicroservice.WebApi/Services/CategoryService.cs
+++ b/src/CMSMicroservice.WebApi/Services/CategoryService.cs
@@ -98,8 +98,11 @@ public class CategoryService : CategoryContract.CategoryContractBase
return response;
}
+ #region [ARCHIVED] GetCategoryByIdForCustomer — تکراری: GetCategory (admin) + GetAllCategoriesForCustomer کافی است
+ [Obsolete("ARCHIVED: Use GetCategory or GetAllCategoriesForCustomer instead")]
public override async Task GetCategoryByIdForCustomer(GetCategoryByIdForCustomerRequest request, ServerCallContext context)
{
+ // [ARCHIVED] duplicate — GetCategory + GetAllCategoriesForCustomer cover this
var query = new GetCategoryQuery { Id = request.Id };
var result = await _sender.Send(query, context.CancellationToken);
@@ -118,4 +121,5 @@ public class CategoryService : CategoryContract.CategoryContractBase
}
};
}
+ #endregion
}
diff --git a/src/CMSMicroservice.WebApi/Services/CityService.cs b/src/CMSMicroservice.WebApi/Services/CityService.cs
index 4156424..8649fe8 100644
--- a/src/CMSMicroservice.WebApi/Services/CityService.cs
+++ b/src/CMSMicroservice.WebApi/Services/CityService.cs
@@ -177,6 +177,8 @@ public class CityService : CityContract.CityContractBase
};
}
+ #region [ARCHIVED] UpdateCity & DeleteCity — شهرها seed data هستند، ویرایش/حذف دستی باعث خرابی آدرسها میشود
+ [Obsolete("ARCHIVED: Cities are seed data — manual edit/delete breaks user addresses")]
public override async Task UpdateCity(
UpdateCityRequest request, ServerCallContext context)
{
@@ -195,6 +197,7 @@ public class CityService : CityContract.CityContractBase
return new Empty();
}
+ [Obsolete("ARCHIVED: Cities are seed data — manual delete breaks user addresses")]
public override async Task DeleteCity(
DeleteCityRequest request, ServerCallContext context)
{
@@ -206,6 +209,7 @@ public class CityService : CityContract.CityContractBase
await _context.SaveChangesAsync(context.CancellationToken);
return new Empty();
}
+ #endregion
#endregion
}
diff --git a/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs b/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs
index 8a096aa..b2e4c7f 100644
--- a/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs
+++ b/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs
@@ -154,18 +154,22 @@ public class ConfigurationService : ConfigurationContract.ConfigurationContractB
throw new RpcException(new Status(StatusCode.FailedPrecondition, "تنظیمات سیستم فقط خواندنی هستند. تغییر از طریق کد انجام میشود"));
}
+ #region [ARCHIVED] DeactivateConfiguration & GetConfigurationHistory — SystemConstants ثابت هستند، این RPCها بیمعنی
[RequiresPermission(PermissionNames.SettingsManageConfiguration)]
+ [Obsolete("ARCHIVED: SystemConstants are read-only — deactivation is meaningless")]
public override Task DeactivateConfiguration(DeactivateConfigurationRequest request, ServerCallContext context)
{
- _logger.LogWarning("DeactivateConfiguration called but SystemConstants are read-only. Key: {Key}", request.Key);
+ _logger.LogWarning("[ARCHIVED] DeactivateConfiguration called but SystemConstants are read-only. Key: {Key}", request.Key);
throw new RpcException(new Status(StatusCode.FailedPrecondition, "تنظیمات سیستم فقط خواندنی هستند. غیرفعالسازی از طریق کد انجام میشود"));
}
+ [Obsolete("ARCHIVED: SystemConstants have no history — always returns empty")]
public override Task GetConfigurationHistory(GetConfigurationHistoryRequest request, ServerCallContext context)
{
- // چون constant هستند، تاریخچهای وجود نداره
+ // [ARCHIVED] چون constant هستند، تاریخچهای وجود نداره
return Task.FromResult(new GetConfigurationHistoryResponse());
}
+ #endregion
#region Private Helpers
diff --git a/src/CMSMicroservice.WebApi/Services/HealthService.cs b/src/CMSMicroservice.WebApi/Services/HealthService.cs
index 4f7f3e5..4b896c6 100644
--- a/src/CMSMicroservice.WebApi/Services/HealthService.cs
+++ b/src/CMSMicroservice.WebApi/Services/HealthService.cs
@@ -25,9 +25,11 @@ public class HealthService : HealthContract.HealthContractBase
return result.Adapt();
}
+ #region [ARCHIVED] GetServiceHealth — تکراری: GetSystemHealth کل سیستم را برمیگرداند، فیلتر client-side کافی است
+ [Obsolete("ARCHIVED: Use GetSystemHealth + client-side filter by service name")]
public override async Task GetServiceHealth(GetServiceHealthRequest request, ServerCallContext context)
{
- // For now, just return system health filtered by service name
+ // [ARCHIVED] duplicate — GetSystemHealth returns all, client can filter
var systemHealthQuery = new GetSystemHealthQuery();
var systemHealth = await _mediator.Send(systemHealthQuery, context.CancellationToken);
@@ -45,4 +47,5 @@ public class HealthService : HealthContract.HealthContractBase
CheckedAt = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(DateTime.UtcNow)
};
}
+ #endregion
}
\ No newline at end of file
diff --git a/src/CMSMicroservice.WebApi/Services/UserOrderService.cs b/src/CMSMicroservice.WebApi/Services/UserOrderService.cs
index 0dfd15d..e8c9e53 100644
--- a/src/CMSMicroservice.WebApi/Services/UserOrderService.cs
+++ b/src/CMSMicroservice.WebApi/Services/UserOrderService.cs
@@ -497,7 +497,9 @@ public class UserOrderService : UserOrderContract.UserOrderContractBase
};
}
+ #region [ARCHIVED] GetOrdersByDateRange — تکراری: GetAllUserOrderByFilter همین قابلیت + فیلترهای بیشتر دارد
[RequiresPermission(PermissionNames.ReportsView)]
+ [Obsolete("ARCHIVED: Use GetAllUserOrderByFilter instead — has date range + more filters")]
public override async Task GetOrdersByDateRange(GetOrdersByDateRangeRequest request, ServerCallContext context)
{
var pageNumber = request.PageNumber > 0 ? request.PageNumber : 1;
@@ -551,6 +553,7 @@ public class UserOrderService : UserOrderContract.UserOrderContractBase
Orders = { orders }
};
}
+ #endregion
[RequiresPermission(PermissionNames.OrdersUpdate)]
public override async Task ApplyDiscountToOrder(ApplyDiscountToOrderRequest request, ServerCallContext context)
@@ -624,17 +627,21 @@ public class UserOrderService : UserOrderContract.UserOrderContractBase
// ============= Customer-specific Methods =============
+ #region [ARCHIVED] CreateNewOrderForCustomer & SubmitOrderForCustomer — Stub خالی: مسیر سفارش مشتری از SubmitShopBuyOrder میگذرد
+ [Obsolete("ARCHIVED: Empty stub — customer order flow uses SubmitShopBuyOrder")]
public override async Task CreateNewOrderForCustomer(CreateNewUserOrderRequest request, ServerCallContext context)
{
- // For now, return empty response - will be implemented properly later
+ // [ARCHIVED] Empty stub — مسیر سفارش مشتری از SubmitShopBuyOrder میگذرد
return new CreateNewUserOrderResponse();
}
+ [Obsolete("ARCHIVED: Empty stub — customer order flow uses SubmitShopBuyOrder")]
public override async Task SubmitOrderForCustomer(SubmitShopBuyOrderRequest request, ServerCallContext context)
{
- // For now, return empty response - will be implemented properly later
+ // [ARCHIVED] Empty stub — مسیر سفارش مشتری از SubmitShopBuyOrder میگذرد
return new SubmitShopBuyOrderResponse();
}
+ #endregion
public override async Task GetCustomerOrders(GetAllUserOrderByFilterRequest request, ServerCallContext context)
{