#115 prevent transfering owership of comments to unverified signups

This commit is contained in:
Hamid Reza Mohammadi 2021-05-14 12:18:46 +04:30
parent 7530296d2d
commit fb1629fce9
7 changed files with 57 additions and 25 deletions

View File

@ -38,7 +38,8 @@ namespace RMuseum.Models.GanjoorAudio.ViewModels
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
};
GanjoorAudioId = src.GanjoorAudioId;
GanjoorPostId = src.GanjoorPostId;

View File

@ -2309,7 +2309,8 @@ namespace RMuseum.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
};
@ -2432,7 +2433,8 @@ namespace RMuseum.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
};
RUserNoteViewModel viewModel
@ -2608,7 +2610,8 @@ namespace RMuseum.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
};
RUserNoteViewModel model
@ -2751,7 +2754,8 @@ namespace RMuseum.Services.Implementation
Status = user.Status,
NickName = user.NickName,
Website = user.Website,
Bio = user.Bio
Bio = user.Bio,
EmailConfirmed = user.EmailConfirmed
}
};
return new RServiceResult<GanjoorLinkViewModel>(viewModel);
@ -2808,7 +2812,8 @@ namespace RMuseum.Services.Implementation
Status = link.SuggestedBy.Status,
NickName = link.SuggestedBy.NickName,
Website = link.SuggestedBy.Website,
Bio = link.SuggestedBy.Bio
Bio = link.SuggestedBy.Bio,
EmailConfirmed = link.SuggestedBy.EmailConfirmed
}
}
);

View File

@ -48,16 +48,20 @@ namespace RMuseum.Services.Implementation
try
{
RMuseumDbContext context = _context as RMuseumDbContext;
var comments = await context.GanjoorComments.Where(c => c.AuthorEmail == email.ToLower()).ToListAsync();
if (comments.Count > 0)
var user = (await FindUserByEmail(email)).Result;
if(user.EmailConfirmed)
{
var user = (await FindUserByEmail(email)).Result;
foreach (var comment in comments)
var comments = await context.GanjoorComments.Where(c => c.AuthorEmail == email.ToLower()).ToListAsync();
if (comments.Count > 0)
{
comment.UserId = user.Id;
foreach (var comment in comments)
{
comment.UserId = user.Id;
}
_context.UpdateRange(comments);
await _context.SaveChangesAsync();
}
_context.UpdateRange(comments);
await _context.SaveChangesAsync();
}
}
catch

View File

@ -1165,7 +1165,8 @@ namespace RMuseum.Services.Implementationa
Status = p.User.Status,
NickName = p.User.NickName,
Website = p.User.Website,
Bio = p.User.Bio
Bio = p.User.Bio,
EmailConfirmed = p.User.EmailConfirmed
},
UserId = p.UserId,
Name = p.Name,
@ -1202,7 +1203,8 @@ namespace RMuseum.Services.Implementationa
Status = p.User.Status,
NickName = p.User.NickName,
Website = p.User.Website,
Bio = p.User.Bio
Bio = p.User.Bio,
EmailConfirmed = p.User.EmailConfirmed
},
UserId = p.UserId,
Name = p.Name,
@ -1254,7 +1256,8 @@ namespace RMuseum.Services.Implementationa
Status = defProfile.User.Status,
NickName = defProfile.User.NickName,
Website = defProfile.User.Website,
Bio = defProfile.User.Bio
Bio = defProfile.User.Bio,
EmailConfirmed = defProfile.User.EmailConfirmed
},
UserId = defProfile.UserId,
Name = defProfile.Name,
@ -1436,7 +1439,8 @@ namespace RMuseum.Services.Implementationa
Status = p.User.Status,
NickName = p.User.NickName,
Website = p.User.Website,
Bio = p.User.Bio
Bio = p.User.Bio,
EmailConfirmed = p.User.EmailConfirmed
},
UserId = p.UserId,
Name = p.Name,
@ -1521,7 +1525,8 @@ namespace RMuseum.Services.Implementationa
Status = p.User.Status,
NickName = p.User.NickName,
Website = p.User.Website,
Bio = p.User.Bio
Bio = p.User.Bio,
EmailConfirmed = p.User.EmailConfirmed
},
UserId = p.UserId,
Name = p.Name,

View File

@ -94,6 +94,11 @@ namespace RSecurityBackend.Models.Auth.ViewModels
/// </summary>
public string Website { get; set; }
/// <summary>
/// email verified
/// </summary>
public bool EmailConfirmed { get; set; }
}
}

View File

@ -1315,6 +1315,11 @@
web site
</summary>
</member>
<member name="P:RSecurityBackend.Models.Auth.ViewModels.PublicRAppUser.EmailConfirmed">
<summary>
email verified
</summary>
</member>
<member name="T:RSecurityBackend.Models.Auth.ViewModels.PublicRUserSession">
<summary>
a safe subset of RUserSession

View File

@ -139,7 +139,8 @@ namespace RSecurityBackend.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
},
Token = userToken.Result,
SecurableItem = securableItems.Result
@ -221,7 +222,8 @@ namespace RSecurityBackend.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
},
Token = userToken.Result,
SecurableItem = securableItems.Result
@ -357,7 +359,8 @@ namespace RSecurityBackend.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
});
}
catch (Exception exp)
@ -397,7 +400,8 @@ namespace RSecurityBackend.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
});
}
return new RServiceResult<PublicRAppUser[]>(lstPublicUsersInfo.ToArray());
@ -443,7 +447,8 @@ namespace RSecurityBackend.Services.Implementation
Status = rUserSession.RAppUser.Status,
NickName = rUserSession.RAppUser.NickName,
Website = rUserSession.RAppUser.Website,
Bio = rUserSession.RAppUser.Bio
Bio = rUserSession.RAppUser.Bio,
EmailConfirmed = rUserSession.RAppUser.EmailConfirmed
},
ClientAppName = rUserSession.ClientAppName,
ClientIPAddress = rUserSession.ClientIPAddress,
@ -723,7 +728,8 @@ namespace RSecurityBackend.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
});
}
}
@ -1446,7 +1452,8 @@ namespace RSecurityBackend.Services.Implementation
Status = appUser.Status,
NickName = appUser.NickName,
Website = appUser.Website,
Bio = appUser.Bio
Bio = appUser.Bio,
EmailConfirmed = appUser.EmailConfirmed
});
}
catch(Exception exp)