diff options
Diffstat (limited to 'BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs')
-rw-r--r-- | BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs b/BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs index 54b9c7c9..d6fa0c84 100644 --- a/BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs +++ b/BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs @@ -1,6 +1,10 @@ using System; +using System.Collections.Generic; +using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; using Timeline.Auth; +using Timeline.Services.Mapper; using Timeline.Services.User; namespace Timeline.Controllers.V2 @@ -23,6 +27,28 @@ namespace Timeline.Controllers.V2 return GetOptionalAuthUserId() ?? throw new InvalidOperationException(Resource.ExceptionNoUserId); } #endregion + + #region mapper + protected IGenericMapper GetMapper() + { + return HttpContext.RequestServices.GetRequiredService<IGenericMapper>(); + } + + protected async Task<T> MapAsync<T>(object o) + { + return await GetMapper().MapAsync<T>(o, Url, User); + } + + protected async Task<List<T>> MapListAsync<T>(IEnumerable<object> o) + { + return await GetMapper().MapListAsync<T>(o, Url, User); + } + + protected T AutoMapperMap<T>(object o) + { + return GetMapper().AutoMapperMap<T>(o); + } + #endregion } } |