aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-04-12 21:06:26 +0800
committercrupest <crupest@outlook.com>2022-04-12 21:06:26 +0800
commit7715ddd0d70efc32bf3d04d2b2c356c333328344 (patch)
tree836ed52c1738cf7bfbd3e120c466ec8eab18c8f8 /BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs
parent281ae3c3458bf022a659b04e0f269c0f0d21d34b (diff)
downloadtimeline-7715ddd0d70efc32bf3d04d2b2c356c333328344.tar.gz
timeline-7715ddd0d70efc32bf3d04d2b2c356c333328344.tar.bz2
timeline-7715ddd0d70efc32bf3d04d2b2c356c333328344.zip
...
Diffstat (limited to 'BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs')
-rw-r--r--BackEnd/Timeline/Controllers/V2/V2ControllerBase.cs26
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
}
}