From 3cc8514136f539aa943b0d6784dc0e7d51e13ffc Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Tue, 22 Sep 2026 06:09:51 +0200 Subject: [PATCH] Added automatic audit feature --- .../Abstractions/Services/ICommunicationsService.cs | 4 +++- .../Abstractions/Services/IEvidenceService.cs | 10 ++++++++-- .../Abstractions/Services/IExecutionService.cs | 6 ++++++ .../Abstractions/Services/IGovernanceService.cs | 5 +++++ .../Abstractions/Services/IGrantsService.cs | 7 +++++++ .../Abstractions/Services/IProjectService.cs | 8 ++++++++ .../Abstractions/Services/IUserService.cs | 3 +++ PostFundManagement.Application/Extensions/Quartz.cs | 4 ++-- PostFundManagement.Application/Extensions/Services.cs | 4 +++- .../Communications/CommunicationsCacheService.cs | 4 +--- .../Services/Evidence/EvidenceCacheService.cs | 6 ------ .../Services/Execution/ExecutionCacheService.cs | 6 ------ .../Services/Governance/GovernanceCacheService.cs | 5 ----- .../Services/Grants/GrantsCacheService.cs | 7 ------- .../Services/Projects/ProjectCacheService.cs | 8 -------- .../Services/Users/UserCacheService.cs | 5 +---- PostFundManagement.Domain/Extensions/Constants.cs | 1 + 17 files changed, 48 insertions(+), 45 deletions(-) diff --git a/PostFundManagement.Application/Abstractions/Services/ICommunicationsService.cs b/PostFundManagement.Application/Abstractions/Services/ICommunicationsService.cs index 238f392..2be4ff7 100644 --- a/PostFundManagement.Application/Abstractions/Services/ICommunicationsService.cs +++ b/PostFundManagement.Application/Abstractions/Services/ICommunicationsService.cs @@ -1,11 +1,13 @@ using PostFundManagement.Application.Services.Communications; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface ICommunicationsService -{ +{ + [Audit] Task> SendInviteAsync(InviteRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetInvitesAsync(Pagination pagination, CancellationToken cancellationToken = default); diff --git a/PostFundManagement.Application/Abstractions/Services/IEvidenceService.cs b/PostFundManagement.Application/Abstractions/Services/IEvidenceService.cs index 59ce49b..7684c48 100644 --- a/PostFundManagement.Application/Abstractions/Services/IEvidenceService.cs +++ b/PostFundManagement.Application/Abstractions/Services/IEvidenceService.cs @@ -1,21 +1,26 @@ using PostFundManagement.Application.Services.Evidence; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IEvidenceService -{ +{ + [Audit] Task CreateEvidenceAsync(Guid userId, IFormCollection form, IFormFile file, CancellationToken cancellationToken = default); - + + [Audit] Task RecordIndicatorActualAmountAsync(string indicatorIdHash, decimal amount, Guid userId, CancellationToken cancellationToken = default); Task> GetIndicatorsAsync(Pagination pagination, CancellationToken cancellationToken = default); Task> GetEvidenceFilesAsync(Pagination pagination, CancellationToken cancellationToken = default); + [Audit] Task CreateMilestoneAsync(CreateMilestoneRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task CreateIndicatorAsync(CreateIndicatorRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetIndicatorAsync(string indicatorId, CancellationToken cancellationToken); @@ -26,6 +31,7 @@ public interface IEvidenceService Task> GetProjectEvidencesAsync(string projectIdHash, CancellationToken cancellationToken = default); + [Audit] Task UpdateEvidenceAsync(UpdateEvidenceRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetEvidenceUrlAsync(string evidenceIdHash, CancellationToken cancellationToken = default); diff --git a/PostFundManagement.Application/Abstractions/Services/IExecutionService.cs b/PostFundManagement.Application/Abstractions/Services/IExecutionService.cs index d611c66..0e02687 100644 --- a/PostFundManagement.Application/Abstractions/Services/IExecutionService.cs +++ b/PostFundManagement.Application/Abstractions/Services/IExecutionService.cs @@ -1,5 +1,6 @@ using PostFundManagement.Application.Services.Execution; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; @@ -10,17 +11,22 @@ public interface IExecutionService Task> GetDisbursementsAsync(Pagination pagination, CancellationToken cancellationToken = default); + [Audit] Task CreateRiskAsync(CreateRiskRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task CreateDisbursementAsync(CreateDisbursementRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task ApproveDisbursementAsync(string disbursementIdHash, Guid userId, CancellationToken cancellationToken = default); Task> GetDisbursementAsync(string disbursementIdHash, CancellationToken cancellationToken = default); Task> GetRiskAsync(string riskIdHash, CancellationToken cancellationToken = default); + [Audit] Task UpdateRiskAsync(UpdateRiskRequest request, CancellationToken cancellationToken = default); + [Audit] Task UpdateDisbursementAsync(UpdateDisbursementRequest request, Guid userId, CancellationToken cancellationToken = default); } diff --git a/PostFundManagement.Application/Abstractions/Services/IGovernanceService.cs b/PostFundManagement.Application/Abstractions/Services/IGovernanceService.cs index 08039ec..29bd9c9 100644 --- a/PostFundManagement.Application/Abstractions/Services/IGovernanceService.cs +++ b/PostFundManagement.Application/Abstractions/Services/IGovernanceService.cs @@ -1,5 +1,6 @@ using PostFundManagement.Application.Services.Governance; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; @@ -18,12 +19,16 @@ public interface IGovernanceService Task> GetDashboardAsync(CancellationToken cancellationToken = default); + [Audit] Task CreateOrganisationAsync(CreateOrganisationRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task> UpdateOrganisationAsync(UpdateOrganisationRequest request, CancellationToken cancellationToken = default); + [Audit] Task CreatePortfolioAsync(CreatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task UpdatePortfolioAsync(UpdatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetPortfolioProgrammesAsync(string portfolioIdHash, CancellationToken cancellationToken = default); diff --git a/PostFundManagement.Application/Abstractions/Services/IGrantsService.cs b/PostFundManagement.Application/Abstractions/Services/IGrantsService.cs index b7e0556..8bc9460 100644 --- a/PostFundManagement.Application/Abstractions/Services/IGrantsService.cs +++ b/PostFundManagement.Application/Abstractions/Services/IGrantsService.cs @@ -1,5 +1,6 @@ using PostFundManagement.Application.Services.Grants; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; @@ -18,17 +19,23 @@ public interface IGrantsService Task> GetAwardAsync(string awardIdHash, CancellationToken cancellationToken = default); + [Audit] Task ExecuteContractAsync(ExecuteContractRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task CreateContractAsync(CreateContractRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task CreateBudgetAsync(CreateBudgetRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task CreateAwardAsync(CreateAwardRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetContractUrlAsync(string contractIdHash, CancellationToken cancellationToken = default); + [Audit] Task UploadContractAsync(string contractIdHash, Guid userId, IFormFile file, CancellationToken cancellationToken = default); + [Audit] Task UpdateContractAsync(UpdateContractRequest request, CancellationToken cancellationToken = default); } diff --git a/PostFundManagement.Application/Abstractions/Services/IProjectService.cs b/PostFundManagement.Application/Abstractions/Services/IProjectService.cs index 4656f3d..aa84ea8 100644 --- a/PostFundManagement.Application/Abstractions/Services/IProjectService.cs +++ b/PostFundManagement.Application/Abstractions/Services/IProjectService.cs @@ -1,11 +1,13 @@ using PostFundManagement.Application.Services.Projects; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IProjectService { + [Audit] Task UpdateProjectStatusAsync(UpdateProjectStatusRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetProjectsAsync(Pagination pagination, CancellationToken cancellationToken = default); @@ -14,8 +16,10 @@ public interface IProjectService Task> GetActivitiesAsync(string projectIdHash, CancellationToken cancellationToken = default); + [Audit] Task CreateProjectAsync(CreateProjectRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task CreateActivityAsync(CreateActivityRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetProjectMilestonesAsync(string projectIdHash, CancellationToken cancellationToken = default); @@ -26,16 +30,20 @@ public interface IProjectService Task> GetMilestonesAsync(Pagination pagination, CancellationToken cancellationToken = default); + [Audit] Task UpdateMilestoneAsync(UpdateMilestoneRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task UpdateProjectAsync(UpdateProjectRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetActivityAsync(string activityIdHash, CancellationToken cancellationToken = default); Task> GetProjectRisksAsync(string projectIdHash, CancellationToken cancellationToken = default); + [Audit] Task CreateProgrammeAsync(CreateProgrammeRequest request, Guid userId, CancellationToken cancellationToken = default); + [Audit] Task UpdateProgrammeAsync(UpdateProgrammeRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetProgrammeAsync(string programmeIdHash, CancellationToken cancellationToken = default); diff --git a/PostFundManagement.Application/Abstractions/Services/IUserService.cs b/PostFundManagement.Application/Abstractions/Services/IUserService.cs index e9f2da8..585330b 100644 --- a/PostFundManagement.Application/Abstractions/Services/IUserService.cs +++ b/PostFundManagement.Application/Abstractions/Services/IUserService.cs @@ -1,15 +1,18 @@ using PostFundManagement.Application.Services.Users; using PostFundManagement.Domain; +using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IUserService { + [Audit] Task SyncUserAsync(Guid userId, string email, CancellationToken cancellationToken = default); Task> GetUsersAsync(Pagination pagination, UserFilterRequest request, CancellationToken cancellationToken = default); + [Audit] Task UpdateUserStatusAsync(Guid userId, ActivityStatus status, CancellationToken cancellationToken = default); Task> GetUserAsync(Guid userId, CancellationToken cancellationToken); diff --git a/PostFundManagement.Application/Extensions/Quartz.cs b/PostFundManagement.Application/Extensions/Quartz.cs index 31e8e51..8ae2777 100644 --- a/PostFundManagement.Application/Extensions/Quartz.cs +++ b/PostFundManagement.Application/Extensions/Quartz.cs @@ -8,7 +8,7 @@ public static class Quartz { public static IServiceCollection AddQuartzSchedulerClient(this IServiceCollection services, string schedulerName, IConfiguration configuration) { - var connectionString = configuration.GetConnectionString(DatabaseConfigName); + var connectionString = configuration.GetConnectionString(SchedulerDatabaseConfigName); services.Configure(options => { @@ -44,7 +44,7 @@ public static class Quartz public static IServiceCollection AddQuartzScheduler(this IServiceCollection services, string schedulerName, IConfiguration configuration) { - var connectionString = configuration.GetConnectionString(DatabaseConfigName); + var connectionString = configuration.GetConnectionString(SchedulerDatabaseConfigName); services.Configure(options => { diff --git a/PostFundManagement.Application/Extensions/Services.cs b/PostFundManagement.Application/Extensions/Services.cs index 127a317..df53b93 100644 --- a/PostFundManagement.Application/Extensions/Services.cs +++ b/PostFundManagement.Application/Extensions/Services.cs @@ -64,12 +64,14 @@ public static class Services services.AddAuditedCachedScoped(); services.AddAuditedCachedScoped(); services.AddAuditedCachedScoped(); - services.AddAuditedCachedScoped(); services.AddAuditedCachedScoped(); services.AddAuditedCachedScoped(); services.AddAuditedCachedScoped(); services.AddAuditedCachedScoped(); + services.AddScoped(); + services.Decorate(); + services.AddScoped(); services.Decorate(); diff --git a/PostFundManagement.Application/Services/Communications/CommunicationsCacheService.cs b/PostFundManagement.Application/Services/Communications/CommunicationsCacheService.cs index 303ff65..a3a4a60 100644 --- a/PostFundManagement.Application/Services/Communications/CommunicationsCacheService.cs +++ b/PostFundManagement.Application/Services/Communications/CommunicationsCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -81,8 +80,7 @@ public sealed class CommunicationsCacheService(CommunicationsService service, ID return Result.Ok(cached.FromJson()); })); - - [Audit] + public async Task> SendInviteAsync(InviteRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.SendInviteAsync(request, userId, cancellationToken); } diff --git a/PostFundManagement.Application/Services/Evidence/EvidenceCacheService.cs b/PostFundManagement.Application/Services/Evidence/EvidenceCacheService.cs index 8aea3fb..be3787b 100644 --- a/PostFundManagement.Application/Services/Evidence/EvidenceCacheService.cs +++ b/PostFundManagement.Application/Services/Evidence/EvidenceCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -12,15 +11,12 @@ namespace PostFundManagement.Application.Services.Evidence; public sealed class EvidenceCacheService(EvidenceService service, IDistributedCache cache, IFeatureManager featureManager) : ServiceCacheBase, IEvidenceService { - [Audit] public async Task CreateEvidenceAsync(Guid userId, IFormCollection form, IFormFile file, CancellationToken cancellationToken = default) => await service.CreateEvidenceAsync(userId, form, file, cancellationToken); - [Audit] public async Task CreateIndicatorAsync(CreateIndicatorRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateIndicatorAsync(request, userId, cancellationToken); - [Audit] public async Task CreateMilestoneAsync(CreateMilestoneRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateMilestoneAsync(request, userId, cancellationToken); @@ -192,11 +188,9 @@ public sealed class EvidenceCacheService(EvidenceService service, IDistributedCa return Result.Ok(cached.FromJson()); })); - [Audit] public async Task RecordIndicatorActualAmountAsync(string indicatorIdHash, decimal amount, Guid userId, CancellationToken cancellationToken = default) => await service.RecordIndicatorActualAmountAsync(indicatorIdHash, amount, userId, cancellationToken); - [Audit] public async Task UpdateEvidenceAsync(UpdateEvidenceRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdateEvidenceAsync(request, userId, cancellationToken); } diff --git a/PostFundManagement.Application/Services/Execution/ExecutionCacheService.cs b/PostFundManagement.Application/Services/Execution/ExecutionCacheService.cs index c15cb68..c7c426d 100644 --- a/PostFundManagement.Application/Services/Execution/ExecutionCacheService.cs +++ b/PostFundManagement.Application/Services/Execution/ExecutionCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -12,15 +11,12 @@ namespace PostFundManagement.Application.Services.Execution; public sealed class ExecutionCacheService(ExecutionService service, IDistributedCache cache, IFeatureManager featureManager) : ServiceCacheBase, IExecutionService { - [Audit] public async Task ApproveDisbursementAsync(string disbursementIdHash, Guid userId, CancellationToken cancellationToken = default) => await service.ApproveDisbursementAsync(disbursementIdHash, userId, cancellationToken); - [Audit] public async Task CreateDisbursementAsync(CreateDisbursementRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateDisbursementAsync(request, userId, cancellationToken); - [Audit] public async Task CreateRiskAsync(CreateRiskRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateRiskAsync(request, userId, cancellationToken); @@ -120,11 +116,9 @@ public sealed class ExecutionCacheService(ExecutionService service, IDistributed return Result.Ok(cached.FromJson()); })); - [Audit] public async Task UpdateDisbursementAsync(UpdateDisbursementRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdateDisbursementAsync(request, userId, cancellationToken); - [Audit] public async Task UpdateRiskAsync(UpdateRiskRequest request, CancellationToken cancellationToken = default) => await service.UpdateRiskAsync(request, cancellationToken); } diff --git a/PostFundManagement.Application/Services/Governance/GovernanceCacheService.cs b/PostFundManagement.Application/Services/Governance/GovernanceCacheService.cs index 8c6e154..cc47ae3 100644 --- a/PostFundManagement.Application/Services/Governance/GovernanceCacheService.cs +++ b/PostFundManagement.Application/Services/Governance/GovernanceCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -12,11 +11,9 @@ namespace PostFundManagement.Application.Services.Governance; public sealed class GovernanceCacheService(GovernanceService service, IDistributedCache cache, IFeatureManager featureManager) : ServiceCacheBase, IGovernanceService { - [Audit] public async Task CreateOrganisationAsync(CreateOrganisationRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateOrganisationAsync(request, userId, cancellationToken); - [Audit] public async Task CreatePortfolioAsync(CreatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreatePortfolioAsync(request, userId, cancellationToken); @@ -212,11 +209,9 @@ public sealed class GovernanceCacheService(GovernanceService service, IDistribut return Result.Ok(cached.FromJson()); })); - [Audit] public async Task> UpdateOrganisationAsync(UpdateOrganisationRequest request, CancellationToken cancellationToken = default) => await service.UpdateOrganisationAsync(request, cancellationToken); - [Audit] public async Task UpdatePortfolioAsync(UpdatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdatePortfolioAsync(request, userId, cancellationToken); } diff --git a/PostFundManagement.Application/Services/Grants/GrantsCacheService.cs b/PostFundManagement.Application/Services/Grants/GrantsCacheService.cs index c002711..102fbde 100644 --- a/PostFundManagement.Application/Services/Grants/GrantsCacheService.cs +++ b/PostFundManagement.Application/Services/Grants/GrantsCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -12,19 +11,15 @@ namespace PostFundManagement.Application.Services.Grants; public sealed class GrantsCacheService(GrantsService service, IDistributedCache cache, IFeatureManager featureManager) : ServiceCacheBase, IGrantsService { - [Audit] public async Task CreateAwardAsync(CreateAwardRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateAwardAsync(request, userId, cancellationToken); - [Audit] public async Task CreateBudgetAsync(CreateBudgetRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateBudgetAsync(request, userId, cancellationToken); - [Audit] public async Task CreateContractAsync(CreateContractRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateContractAsync(request, userId, cancellationToken); - [Audit] public async Task ExecuteContractAsync(ExecuteContractRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.ExecuteContractAsync(request, userId, cancellationToken); @@ -196,11 +191,9 @@ public sealed class GrantsCacheService(GrantsService service, IDistributedCache return Result.Ok(cached!); })); - [Audit] public async Task UpdateContractAsync(UpdateContractRequest request, CancellationToken cancellationToken = default) => await service.UpdateContractAsync(request, cancellationToken); - [Audit] public async Task UploadContractAsync(string contractIdHash, Guid userId, IFormFile file, CancellationToken cancellationToken = default) => await service.UploadContractAsync(contractIdHash, userId, file, cancellationToken); } diff --git a/PostFundManagement.Application/Services/Projects/ProjectCacheService.cs b/PostFundManagement.Application/Services/Projects/ProjectCacheService.cs index e19e611..85e05b9 100644 --- a/PostFundManagement.Application/Services/Projects/ProjectCacheService.cs +++ b/PostFundManagement.Application/Services/Projects/ProjectCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -12,15 +11,12 @@ namespace PostFundManagement.Application.Services.Projects; public sealed class ProjectCacheService(ProjectService service, IDistributedCache cache, IFeatureManager featureManager) : ServiceCacheBase, IProjectService { - [Audit] public async Task CreateActivityAsync(CreateActivityRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateActivityAsync(request, userId, cancellationToken); - [Audit] public async Task CreateProgrammeAsync(CreateProgrammeRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateProgrammeAsync(request, userId, cancellationToken); - [Audit] public async Task CreateProjectAsync(CreateProjectRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.CreateProjectAsync(request, userId, cancellationToken); @@ -312,19 +308,15 @@ public sealed class ProjectCacheService(ProjectService service, IDistributedCach return Result.Ok(cached.FromJson()); })); - [Audit] public async Task UpdateMilestoneAsync(UpdateMilestoneRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdateMilestoneAsync(request, userId, cancellationToken); - [Audit] public async Task UpdateProgrammeAsync(UpdateProgrammeRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdateProgrammeAsync(request, userId, cancellationToken); - [Audit] public async Task UpdateProjectAsync(UpdateProjectRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdateProjectAsync(request, userId, cancellationToken); - [Audit] public async Task UpdateProjectStatusAsync(UpdateProjectStatusRequest request, Guid userId, CancellationToken cancellationToken = default) => await service.UpdateProjectStatusAsync(request, userId, cancellationToken); } diff --git a/PostFundManagement.Application/Services/Users/UserCacheService.cs b/PostFundManagement.Application/Services/Users/UserCacheService.cs index 00a9bfd..74e877f 100644 --- a/PostFundManagement.Application/Services/Users/UserCacheService.cs +++ b/PostFundManagement.Application/Services/Users/UserCacheService.cs @@ -3,7 +3,6 @@ using PostFundManagement.Application.Abstractions.Services; using PostFundManagement.Application.Extensions; using PostFundManagement.Application.Services.Shared; using PostFundManagement.Domain; -using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; using static PostFundManagement.Domain.Extensions.Constants; @@ -62,11 +61,9 @@ public sealed class UserCacheService(UserService service, IDistributedCache cach return Result.Ok(cached.FromJson()); })); - [Audit] public async Task SyncUserAsync(Guid userId, string email, CancellationToken cancellationToken = default) => await service.SyncUserAsync(userId, email, cancellationToken); - - [Audit] + public async Task UpdateUserStatusAsync(Guid userId, ActivityStatus status, CancellationToken cancellationToken = default) => await service.UpdateUserStatusAsync(userId, status, cancellationToken); } diff --git a/PostFundManagement.Domain/Extensions/Constants.cs b/PostFundManagement.Domain/Extensions/Constants.cs index 7bd0bd0..20ba049 100644 --- a/PostFundManagement.Domain/Extensions/Constants.cs +++ b/PostFundManagement.Domain/Extensions/Constants.cs @@ -25,6 +25,7 @@ public static class Constants public const string GeneralBucketName = "pfm"; public const string DatabaseConfigName = "PfmDatabase"; + public const string SchedulerDatabaseConfigName = "PfmSchedulerDatabase"; public const int LabelLength = 256;