Index: ChapterX.Application/PermissionLevel/Queries/GetAllHandler.cs
===================================================================
--- ChapterX.Application/PermissionLevel/Queries/GetAllHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/PermissionLevel/Queries/GetAllHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
@@ -0,0 +1,24 @@
+using ChapterX.Domain.Repositories;
+using MediatR;
+using Microsoft.Extensions.Logging;
+
+namespace ChapterX.Application.PermissionLevel.Queries
+{
+    public class GetAllHandler : IRequestHandler<GetAllRequest, GetAllResponse>
+    {
+        private readonly IPermissionLevelRepository _permissionLevelRepository;
+        private readonly ILogger<GetAllHandler> _logger;
+
+        public GetAllHandler(IPermissionLevelRepository permissionLevelRepository, ILogger<GetAllHandler> logger)
+        {
+            _permissionLevelRepository = permissionLevelRepository;
+            _logger = logger;
+        }
+
+        public async Task<GetAllResponse> Handle(GetAllRequest request, CancellationToken cancellationToken)
+        {
+            var permissionLevels = await _permissionLevelRepository.GetAllAsync(cancellationToken);
+            return new GetAllResponse(permissionLevels);
+        }
+    }
+}
Index: ChapterX.Application/PermissionLevel/Queries/GetAllRequest.cs
===================================================================
--- ChapterX.Application/PermissionLevel/Queries/GetAllRequest.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/PermissionLevel/Queries/GetAllRequest.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
@@ -0,0 +1,6 @@
+using MediatR;
+
+namespace ChapterX.Application.PermissionLevel.Queries
+{
+    public record GetAllRequest() : IRequest<GetAllResponse>;
+}
Index: ChapterX.Application/PermissionLevel/Queries/GetAllResponse.cs
===================================================================
--- ChapterX.Application/PermissionLevel/Queries/GetAllResponse.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/PermissionLevel/Queries/GetAllResponse.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
@@ -0,0 +1,8 @@
+using ChapterX.Domain.Entities;
+
+namespace ChapterX.Application.PermissionLevel.Queries
+{
+    using PermissionLevelEnum = ChapterX.Domain.Entities.PermissionLevel;
+
+    public record GetAllResponse(IEnumerable<PermissionLevelEnum> PermissionLevels);
+}
Index: ChapterX.Application/PermissionLevel/Queries/GetHandler.cs
===================================================================
--- ChapterX.Application/PermissionLevel/Queries/GetHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/PermissionLevel/Queries/GetHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
@@ -0,0 +1,24 @@
+using ChapterX.Domain.Repositories;
+using MediatR;
+using Microsoft.Extensions.Logging;
+
+namespace ChapterX.Application.PermissionLevel.Queries
+{
+    public class GetHandler : IRequestHandler<GetRequest, GetResponse>
+    {
+        private readonly IPermissionLevelRepository _permissionLevelRepository;
+        private readonly ILogger<GetHandler> _logger;
+
+        public GetHandler(IPermissionLevelRepository permissionLevelRepository, ILogger<GetHandler> logger)
+        {
+            _permissionLevelRepository = permissionLevelRepository;
+            _logger = logger;
+        }
+
+        public async Task<GetResponse> Handle(GetRequest request, CancellationToken cancellationToken)
+        {
+            var permissionLevel = await _permissionLevelRepository.GetByIdAsync(request.Id, cancellationToken);
+            return new GetResponse(permissionLevel);
+        }
+    }
+}
Index: ChapterX.Application/PermissionLevel/Queries/GetRequest.cs
===================================================================
--- ChapterX.Application/PermissionLevel/Queries/GetRequest.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/PermissionLevel/Queries/GetRequest.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
@@ -0,0 +1,6 @@
+using MediatR;
+
+namespace ChapterX.Application.PermissionLevel.Queries
+{
+    public record GetRequest(int Id) : IRequest<GetResponse>;
+}
Index: ChapterX.Application/PermissionLevel/Queries/GetResponse.cs
===================================================================
--- ChapterX.Application/PermissionLevel/Queries/GetResponse.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/PermissionLevel/Queries/GetResponse.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
@@ -0,0 +1,6 @@
+namespace ChapterX.Application.PermissionLevel.Queries
+{
+    using PermissionLevelEnum = ChapterX.Domain.Entities.PermissionLevel;
+
+    public record GetResponse(PermissionLevelEnum? PermissionLevel);
+}
