b42d9e141d
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.
16 lines
543 B
C#
16 lines
543 B
C#
namespace CMSMicroservice.Application.Common.Authorization;
|
|
|
|
/// <summary>
|
|
/// Attribute برای مشخص کردن مجوز لازم برای دسترسی به یک متد gRPC
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
|
|
public sealed class RequiresPermissionAttribute : Attribute
|
|
{
|
|
public RequiresPermissionAttribute(string permission)
|
|
{
|
|
Permission = permission ?? throw new ArgumentNullException(nameof(permission));
|
|
}
|
|
|
|
public string Permission { get; }
|
|
}
|