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.
18 lines
623 B
C#
18 lines
623 B
C#
namespace CMSMicroservice.Application.Common.Authorization;
|
|
|
|
/// <summary>
|
|
/// سرویس بررسی مجوز کاربر بر اساس نقشهای JWT
|
|
/// </summary>
|
|
public interface IPermissionService
|
|
{
|
|
/// <summary>
|
|
/// دریافت نقشهای کاربر فعلی از JWT Claims
|
|
/// </summary>
|
|
Task<IReadOnlyList<string>> GetUserRolesAsync(CancellationToken cancellationToken);
|
|
|
|
/// <summary>
|
|
/// بررسی اینکه آیا کاربر فعلی مجوز مشخصی دارد
|
|
/// </summary>
|
|
Task<bool> HasPermissionAsync(string permission, CancellationToken cancellationToken);
|
|
}
|