Beispiel #1
0
 public PostService(ILogger <PostService> logger,
                    IOptions <AppSettings> settings,
                    IRepository <PostEntity> postRepository,
                    IRepository <PostExtensionEntity> postExtensionRepository,
                    IRepository <TagEntity> tagRepository,
                    IRepository <PostTagEntity> postTagRepository,
                    IRepository <PostPublishEntity> postPublishRepository,
                    IRepository <CategoryEntity> categoryRepository,
                    IRepository <PostCategoryEntity> postCategoryRepository,
                    IHtmlCodec htmlCodec,
                    IBlogConfig blogConfig,
                    IDateTimeResolver dateTimeResolver,
                    IMoongladeAudit moongladeAudit) : base(logger, settings)
 {
     _postRepository          = postRepository;
     _postExtensionRepository = postExtensionRepository;
     _tagRepository           = tagRepository;
     _postTagRepository       = postTagRepository;
     _postPublishRepository   = postPublishRepository;
     _categoryRepository      = categoryRepository;
     _postCategoryRepository  = postCategoryRepository;
     _htmlCodec        = htmlCodec;
     _blogConfig       = blogConfig;
     _dateTimeResolver = dateTimeResolver;
     _moongladeAudit   = moongladeAudit;
 }
Beispiel #2
0
        public async Task <IActionResult> ReplyComment(
            Guid commentId, string replyContent,
            [FromServices] LinkGenerator linkGenerator, [FromServices] IMoongladeAudit moongladeAudit)
        {
            var response = _commentService.AddReply(commentId, replyContent,
                                                    HttpContext.Connection.RemoteIpAddress.ToString(), GetUserAgent());

            if (!response.IsSuccess)
            {
                Response.StatusCode = StatusCodes.Status500InternalServerError;
                return(Json(response));
            }

            if (_blogConfig.EmailSettings.SendEmailOnCommentReply)
            {
                var postLink = GetPostUrl(linkGenerator, response.Item.PubDateUtc, response.Item.Slug);
                _ = Task.Run(async() => { await _notificationClient.SendCommentReplyNotificationAsync(response.Item, postLink); });
            }

            var logMessage = $"User '{User.Identity.Name}' replied comment id '{commentId}'";

            Logger.LogInformation(logMessage);
            await moongladeAudit.AddAuditEntry(EventType.Content, EventId.CommentReplied, logMessage);

            return(Json(response.Item));
        }
Beispiel #3
0
 public CategoryService(ILogger <CategoryService> logger,
                        IRepository <CategoryEntity> categoryRepository,
                        IRepository <PostCategoryEntity> postCategoryRepository,
                        IMoongladeAudit moongladeAudit) : base(logger)
 {
     _categoryRepository     = categoryRepository;
     _postCategoryRepository = postCategoryRepository;
     _moongladeAudit         = moongladeAudit;
 }
Beispiel #4
0
 public CustomPageService(
     ILogger <CustomPageService> logger,
     IOptions <AppSettings> settings,
     IRepository <CustomPageEntity> customPageRepository,
     IMoongladeAudit moongladeAudit) : base(logger, settings)
 {
     _customPageRepository = customPageRepository;
     _moongladeAudit       = moongladeAudit;
 }
 public CustomPageController(
     ILogger <CustomPageController> logger,
     IOptions <AppSettings> settings,
     CustomPageService customPageService,
     IMoongladeAudit moongladeAudit) : base(logger, settings)
 {
     _customPageService = customPageService;
     _moongladeAudit    = moongladeAudit;
 }
Beispiel #6
0
 public MenuService(
     ILogger <MenuService> logger,
     IOptions <AppSettings> settings,
     IRepository <MenuEntity> menuRepository,
     IMoongladeAudit moongladeAudit) : base(logger, settings)
 {
     _menuRepository = menuRepository;
     _moongladeAudit = moongladeAudit;
 }
Beispiel #7
0
 public AdminController(
     ILogger <AdminController> logger,
     IOptions <AuthenticationSettings> authSettings,
     IMoongladeAudit moongladeAudit)
     : base(logger)
 {
     _moongladeAudit         = moongladeAudit;
     _authenticationSettings = authSettings.Value;
 }
Beispiel #8
0
 public FriendLinkService(
     ILogger <FriendLinkService> logger,
     IOptions <AppSettings> settings,
     IRepository <FriendLinkEntity> friendlinkRepository,
     IMoongladeAudit moongladeAudit) : base(logger, settings)
 {
     _friendlinkRepository = friendlinkRepository;
     _moongladeAudit       = moongladeAudit;
 }
Beispiel #9
0
 public TagService(
     ILogger <TagService> logger,
     IRepository <TagEntity> tagRepository,
     IRepository <PostTagEntity> postTagRepository,
     IMoongladeAudit moongladeAudit) : base(logger)
 {
     _tagRepository     = tagRepository;
     _postTagRepository = postTagRepository;
     _moongladeAudit    = moongladeAudit;
 }
Beispiel #10
0
        public async Task <IActionResult> Delete(Guid pingbackId, [FromServices] IMoongladeAudit moongladeAudit)
        {
            if (_pingbackService.DeleteReceivedPingback(pingbackId).IsSuccess)
            {
                await moongladeAudit.AddAuditEntry(EventType.Content, AuditEventId.PingbackDeleted,
                                                   $"Pingback '{pingbackId}' deleted.");

                return(Json(pingbackId));
            }
            return(Json(null));
        }
Beispiel #11
0
 public TagsController(
     ILogger <TagsController> logger,
     IOptions <AppSettings> settings,
     TagService tagService,
     PostService postService,
     IMoongladeAudit moongladeAudit)
     : base(logger, settings)
 {
     _tagService     = tagService;
     _postService    = postService;
     _moongladeAudit = moongladeAudit;
 }
Beispiel #12
0
        public async Task <IActionResult> Delete(Guid commentId, [FromServices] IMoongladeAudit moongladeAudit)
        {
            var response = await _commentService.DeleteComments(new[] { commentId });

            Logger.LogInformation($"User '{User.Identity.Name}' deleting comment id '{commentId}'");

            if (response.IsSuccess)
            {
                await moongladeAudit.AddAuditEntry(EventType.Content, EventId.CommentDeleted, $"Comment '{commentId}' deleted.");

                return(Json(commentId));
            }
            return(Json(false));
        }
Beispiel #13
0
        public CategoryController(
            ILogger <CategoryController> logger,
            IOptions <AppSettings> settings,
            CategoryService categoryService,
            PostService postService,
            IBlogConfig blogConfig,
            IMoongladeAudit moongladeAudit)
            : base(logger, settings)
        {
            _postService     = postService;
            _categoryService = categoryService;

            _blogConfig     = blogConfig;
            _moongladeAudit = moongladeAudit;
        }
        public SettingsController(
            ILogger <SettingsController> logger,
            IOptionsSnapshot <AppSettings> settings,
            FriendLinkService friendLinkService,
            IBlogConfig blogConfig,
            IDateTimeResolver dateTimeResolver,
            IMoongladeAudit moongladeAudit)
            : base(logger, settings)
        {
            _blogConfig       = blogConfig;
            _dateTimeResolver = dateTimeResolver;
            _moongladeAudit   = moongladeAudit;

            _friendLinkService = friendLinkService;
        }
Beispiel #15
0
        public CommentService(
            ILogger <CommentService> logger,
            IOptions <AppSettings> settings,
            IBlogConfig blogConfig,
            IRepository <CommentEntity> commentRepository,
            IRepository <CommentReplyEntity> commentReplyRepository,
            IRepository <PostEntity> postRepository,
            IMoongladeAudit moongladeAudit) : base(logger, settings)
        {
            _blogConfig = blogConfig;

            _commentRepository      = commentRepository;
            _commentReplyRepository = commentReplyRepository;
            _postRepository         = postRepository;
            _moongladeAudit         = moongladeAudit;
        }
Beispiel #16
0
 public PostController(
     ILogger <PostController> logger,
     IOptions <AppSettings> settings,
     PostService postService,
     CategoryService categoryService,
     IBlogConfig blogConfig,
     IDateTimeResolver dateTimeResolver,
     IMoongladeAudit moongladeAudit)
     : base(logger, settings)
 {
     _postService      = postService;
     _categoryService  = categoryService;
     _blogConfig       = blogConfig;
     _dateTimeResolver = dateTimeResolver;
     _moongladeAudit   = moongladeAudit;
 }
Beispiel #17
0
 public PostService(ILogger <PostService> logger,
                    IOptions <AppSettings> settings,
                    IRepository <PostEntity> postRepository,
                    IRepository <PostExtensionEntity> postExtensionRepository,
                    IRepository <TagEntity> tagRepository,
                    IRepository <PostTagEntity> postTagRepository,
                    IRepository <PostPublishEntity> postPublishRepository,
                    IRepository <CategoryEntity> categoryRepository,
                    IRepository <PostCategoryEntity> postCategoryRepository,
                    IDateTimeResolver dateTimeResolver,
                    IMoongladeAudit moongladeAudit,
                    IMemoryCache cache) : base(logger, settings)
 {
     _postRepository          = postRepository;
     _postExtensionRepository = postExtensionRepository;
     _tagRepository           = tagRepository;
     _postTagRepository       = postTagRepository;
     _postPublishRepository   = postPublishRepository;
     _categoryRepository      = categoryRepository;
     _postCategoryRepository  = postCategoryRepository;
     _dateTimeResolver        = dateTimeResolver;
     _moongladeAudit          = moongladeAudit;
     _cache = cache;
 }