aboutsummaryrefslogtreecommitdiff
path: root/src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
committertranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
commit98e17766b203734a1817eed94338e2d25f4395f7 (patch)
tree1266385a56cba56fd55c7faf661dd844bbdf5705 /src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs
parent1ab34accfda22ee3ce5c7700e3b97ff3e932d649 (diff)
downloadDevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar.gz
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.zip
Project Restructure P.1
Diffstat (limited to 'src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs')
-rw-r--r--src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs b/src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs
new file mode 100644
index 0000000..2b0f4ed
--- /dev/null
+++ b/src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs
@@ -0,0 +1,31 @@
+using DevHive.Data.Models;
+using AutoMapper;
+using DevHive.Services.Models.Identity.User;
+using DevHive.Common.Models.Misc;
+using DevHive.Data.RelationModels;
+
+namespace DevHive.Services.Configurations.Mapping
+{
+ public class UserMappings : Profile
+ {
+ public UserMappings()
+ {
+ CreateMap<UserServiceModel, User>();
+ CreateMap<RegisterServiceModel, User>();
+ CreateMap<FriendServiceModel, User>()
+ .ForMember(dest => dest.Friends, src => src.Ignore());
+ CreateMap<UpdateUserServiceModel, User>()
+ .ForMember(dest => dest.Friends, src => src.Ignore())
+ .AfterMap((src, dest) => dest.PasswordHash = PasswordModifications.GeneratePasswordHash(src.Password));
+ CreateMap<UpdateFriendServiceModel, User>();
+
+ CreateMap<User, UserServiceModel>()
+ .ForMember(dest => dest.ProfilePictureURL, src => src.MapFrom(p => p.ProfilePicture.PictureURL))
+ .ForMember(dest => dest.Friends, src => src.MapFrom(p => p.Friends));
+ CreateMap<User, UpdateUserServiceModel>()
+ .ForMember(x => x.Password, opt => opt.Ignore())
+ .ForMember(dest => dest.ProfilePictureURL, src => src.MapFrom(p => p.ProfilePicture.PictureURL));
+ CreateMap<User, FriendServiceModel>();
+ }
+ }
+}