// *********************************************************************** // // AgileWebs // // *********************************************************************** using Core.Thalos.Adapters; using Core.Thalos.Domain.Contexts.Onboarding.Request; using Microsoft.AspNetCore.Http; using MongoDB.Bson; using System.Security.Claims; namespace Core.Thalos.Domain.Contexts.Onboarding.Mappers { /// /// Handles mappings between /// , /// and /// public static class ModuleMapper { /// /// Maps the permissionRequest to ModuleAdapter. /// /// The Module to be mapped. /// A representing /// the asynchronous execution of the service. public static ModuleAdapter ToAdapter(this ModuleRequest newModule, IHttpContextAccessor httpContextAccessor) { return new ModuleAdapter { Id = ObjectId.GenerateNewId().ToString(), Name = newModule.Name, Description = newModule.Description, Icon = newModule.Icon, Route = newModule.Route, Order = newModule.Order, Application = newModule.Application, CreatedAt = DateTime.UtcNow, CreatedBy = httpContextAccessor.HttpContext?.User?.FindFirst(ClaimTypes.Email)?.Value ?? string.Empty, }; } } }