From 7715ddd0d70efc32bf3d04d2b2c356c333328344 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 12 Apr 2022 21:06:26 +0800 Subject: ... --- .../Timeline/Controllers/V2/V2ControllerBase.cs | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs') 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(); + } + + protected async Task MapAsync(object o) + { + return await GetMapper().MapAsync(o, Url, User); + } + + protected async Task> MapListAsync(IEnumerable o) + { + return await GetMapper().MapListAsync(o, Url, User); + } + + protected T AutoMapperMap(object o) + { + return GetMapper().AutoMapperMap(o); + } + #endregion } } -- cgit v1.2.3