public async Task <ReportViewModel> PostReport(CreatePostReportRequest request) { User currentUser = Feature.CurrentUser(httpContextAccessor, userRepository); Post post = await postRepository.GetByIdAsync(ObjectId.Parse(request.PostId)); Report data = new Report() { AuthorId = currentUser.OId, Reason = request.Reason.ToList(), ObjectId = request.PostId, ObjectType = Feature.GetTypeName(post) }; await fcmRepository.AddToGroup( new AddUserToGroupRequest { GroupName = post.AuthorId, Type = Feature.GetTypeName(currentUser), UserIds = new List <string> { post.AuthorId } } ); await reportRepository.AddAsync(data); var notificationDetail = new Noftication() { AuthorId = currentUser.OId, OwnerId = currentUser.OId, ObjectId = post.OId, ObjectThumbnail = post.Title }; //Bài viết của bạn đã bị báo cáo. await fcmRepository.PushNotify(post.AuthorId, notificationDetail, NotificationContent.PostReportNotification, "Bài viết của bạn đã bị báo cáo. "); return(mapper.Map <ReportViewModel>(data)); }
public async Task <IActionResult> ReportPost(CreatePostReportRequest request) { var data = await reportServices.PostReport(request); return(Ok(new ApiOkResponse(data))); }