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)));
        }