aboutsummaryrefslogtreecommitdiff
path: root/src/Services/DevHive.Services/Configurations/Mapping/UserMappings.cs
diff options
context:
space:
mode:
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..5a39f73
--- /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.User;
+
+namespace DevHive.Services.Configurations.Mapping
+{
+ public class UserMappings : Profile
+ {
+ public UserMappings()
+ {
+ CreateMap<UserServiceModel, User>();
+ CreateMap<RegisterServiceModel, User>()
+ .ForMember(dest => dest.PasswordHash, src => src.MapFrom(p => p.Password));
+ CreateMap<FriendServiceModel, User>()
+ .ForMember(dest => dest.Friends, src => src.Ignore());
+ CreateMap<UpdateUserServiceModel, User>()
+ .ForMember(dest => dest.Friends, src => src.Ignore());
+ 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(dest => dest.ProfilePictureURL, src => src.MapFrom(p => p.ProfilePicture.PictureURL));
+ CreateMap<User, FriendServiceModel>();
+
+ CreateMap<UserServiceModel, UpdateUserServiceModel>();
+ CreateMap<UserServiceModel, UpdateFriendServiceModel>();
+ }
+ }
+}