From 6cb0aea1a06c46033e50e81858ef822da7bf5086 Mon Sep 17 00:00:00 2001 From: Oscar Morales Date: Tue, 10 Jun 2025 23:12:43 -0600 Subject: [PATCH] Uncomment the cache settings --- .../Controllers/ModuleController.cs | 2 +- .../Controllers/PermissionController.cs | 2 +- .../Controllers/RoleController.cs | 2 +- .../Controllers/UserController.cs | 2 +- .../Contracts/IUserProvider.cs | 2 +- .../Providers/Onboarding/ModuleProvider.cs | 5 +- .../Onboarding/PermissionProvider.cs | 51 +++++++-------- .../Providers/Onboarding/RoleProvider.cs | 53 +++++++-------- .../Providers/Onboarding/UserProvider.cs | 64 ++++++++++--------- 9 files changed, 95 insertions(+), 88 deletions(-) diff --git a/Core.Thalos.DAL.API/Controllers/ModuleController.cs b/Core.Thalos.DAL.API/Controllers/ModuleController.cs index 322a5ae..82472d2 100644 --- a/Core.Thalos.DAL.API/Controllers/ModuleController.cs +++ b/Core.Thalos.DAL.API/Controllers/ModuleController.cs @@ -138,7 +138,7 @@ namespace LSA.Core.Thalos.API.Controllers //[Permission("ModuleManagement.Write")] public async Task UpdateModuleAsync([FromRoute] string id, ModuleAdapter entity, CancellationToken cancellationToken) { - if (id != entity._Id?.ToString()) + if (id != entity.Id?.ToString()) { return BadRequest("Module ID mismatch"); } diff --git a/Core.Thalos.DAL.API/Controllers/PermissionController.cs b/Core.Thalos.DAL.API/Controllers/PermissionController.cs index 15105d6..d8037ff 100644 --- a/Core.Thalos.DAL.API/Controllers/PermissionController.cs +++ b/Core.Thalos.DAL.API/Controllers/PermissionController.cs @@ -136,7 +136,7 @@ namespace LSA.Core.Thalos.API.Controllers //[Permission("PermissionManagement.Write")] public async Task UpdatePermissionAsync([FromRoute] string id, PermissionAdapter entity, CancellationToken cancellationToken) { - if (id != entity._Id?.ToString()) + if (id != entity.Id?.ToString()) { return BadRequest("Permission ID mismatch"); } diff --git a/Core.Thalos.DAL.API/Controllers/RoleController.cs b/Core.Thalos.DAL.API/Controllers/RoleController.cs index a68560a..dde13db 100644 --- a/Core.Thalos.DAL.API/Controllers/RoleController.cs +++ b/Core.Thalos.DAL.API/Controllers/RoleController.cs @@ -103,7 +103,7 @@ namespace LSA.Core.Thalos.API.Controllers //[Permission("RoleManagement.Write")] public async Task UpdateRoleAsync([FromRoute] string id, [FromBody] RoleAdapter entity, CancellationToken cancellationToken) { - if (id != entity._Id?.ToString()) + if (id != entity.Id?.ToString()) { return BadRequest("Role ID mismatch"); } diff --git a/Core.Thalos.DAL.API/Controllers/UserController.cs b/Core.Thalos.DAL.API/Controllers/UserController.cs index 1cbf74b..d4a32d5 100644 --- a/Core.Thalos.DAL.API/Controllers/UserController.cs +++ b/Core.Thalos.DAL.API/Controllers/UserController.cs @@ -152,7 +152,7 @@ namespace LSA.Core.Thalos.API.Controllers //[Permission("UserManagement.Write")] public async Task UpdateUserAsync([FromRoute] string id, [FromBody] UserAdapter entity, CancellationToken cancellationToken) { - if (id != entity._Id?.ToString()) + if (id != entity.Id?.ToString()) { return BadRequest("User ID mismatch"); } diff --git a/Core.Thalos.Provider/Contracts/IUserProvider.cs b/Core.Thalos.Provider/Contracts/IUserProvider.cs index 7fe150a..ab20202 100644 --- a/Core.Thalos.Provider/Contracts/IUserProvider.cs +++ b/Core.Thalos.Provider/Contracts/IUserProvider.cs @@ -49,7 +49,7 @@ namespace Core.Thalos.Provider.Contracts /// The User email. /// A representing /// the asynchronous execution of the service. - ValueTask ValidateUserExistence(string? email, CancellationToken cancellationToken); + ValueTask ValidateUserExistence(string? email, CancellationToken cancellationToken); /// /// Changes the status of the user. diff --git a/Core.Thalos.Provider/Providers/Onboarding/ModuleProvider.cs b/Core.Thalos.Provider/Providers/Onboarding/ModuleProvider.cs index fa8e248..2435445 100644 --- a/Core.Thalos.Provider/Providers/Onboarding/ModuleProvider.cs +++ b/Core.Thalos.Provider/Providers/Onboarding/ModuleProvider.cs @@ -5,7 +5,6 @@ // *********************************************************************** using Core.Thalos.Adapters; using Core.Blueprint.Mongo; -using Core.Blueprint.Caching; using Core.Blueprint.Caching.Helpers; using Mapster; using Microsoft.Extensions.Options; @@ -107,9 +106,9 @@ namespace Core.Thalos.Provider.Providers.Onboarding var builder = Builders.Filter; var filters = new List>(); - if (modules == null || !modules.Any()) + if (modules != null || !modules.Any()) { - filters.Add(builder.In(x => x.Id, modules)); + filters.Add(builder.In(x => x._Id, modules)); } var finalFilter = filters.Any() ? builder.And(filters) : builder.Empty; diff --git a/Core.Thalos.Provider/Providers/Onboarding/PermissionProvider.cs b/Core.Thalos.Provider/Providers/Onboarding/PermissionProvider.cs index e2c1421..bafd9ea 100644 --- a/Core.Thalos.Provider/Providers/Onboarding/PermissionProvider.cs +++ b/Core.Thalos.Provider/Providers/Onboarding/PermissionProvider.cs @@ -3,15 +3,16 @@ // AgileWebs // // *********************************************************************** -using Core.Thalos.Adapters; +using Core.Blueprint.Caching.Adapters; +using Core.Blueprint.Caching.Contracts; +using Core.Blueprint.Caching.Helpers; using Core.Blueprint.Mongo; -//using Core.Blueprint.Redis; -//using Core.Blueprint.Redis.Helpers; +using Core.Thalos.Adapters; +using Core.Thalos.Domain.Contexts.Onboarding.Request; +using Core.Thalos.Provider.Contracts; using Mapster; using Microsoft.Extensions.Options; using MongoDB.Driver; -using Core.Thalos.Provider.Contracts; -using Core.Thalos.Domain.Contexts.Onboarding.Request; namespace Core.Thalos.Provider.Providers.Onboarding { @@ -21,18 +22,18 @@ namespace Core.Thalos.Provider.Providers.Onboarding public class PermissionProvider : IPermissionProvider { private readonly CollectionRepository repository; - //private readonly CacheSettings cacheSettings; - //private readonly IRedisCacheProvider cacheProvider; + private readonly CacheSettings cacheSettings; + private readonly ICacheProvider cacheProvider; - public PermissionProvider(CollectionRepository repository - //IRedisCacheProvider cacheProvider, - //IOptions cacheSettings + public PermissionProvider(CollectionRepository repository, + ICacheProvider cacheProvider, + IOptions cacheSettings ) { this.repository = repository; this.repository.CollectionInitialization(); - //this.cacheSettings = cacheSettings.Value; - //this.cacheProvider = cacheProvider; + this.cacheSettings = cacheSettings.Value; + this.cacheProvider = cacheProvider; } /// @@ -58,14 +59,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service.0 public async ValueTask GetPermissionById(string _id, CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetPermissionById", _id); - //var cachedData = await cacheProvider.GetAsync(cacheKey); + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetPermissionById", _id); + var cachedData = await cacheProvider.GetAsync(cacheKey); //if (cachedData is not null) { return cachedData; } var permission = await repository.FindByIdAsync(_id); - //await cacheProvider.SetAsync(cacheKey, permission); + await cacheProvider.SetAsync(cacheKey, permission); return permission; } @@ -77,14 +78,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask> GetAllPermissions(CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllPermissions"); - //var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllPermissions"); + var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; - //if (cachedData.Any()) return cachedData; + if (cachedData.Any()) return cachedData; var permissions = await repository.AsQueryable(); - //await cacheProvider.SetAsync(cacheKey, permissions); + await cacheProvider.SetAsync(cacheKey, permissions); return permissions; } @@ -97,25 +98,25 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask> GetAllPermissionsByList(string[] permissions, CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllPermissionsByList", permissions); + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllPermissionsByList", permissions); - //var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; + var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; - //if (cachedData.Any()) return cachedData; + if (cachedData.Any()) return cachedData; var builder = Builders.Filter; var filters = new List>(); - if (permissions == null || !permissions.Any()) + if (permissions != null || !permissions.Any()) { - filters.Add(builder.In(x => x.Id, permissions)); + filters.Add(builder.In(x => x._Id, permissions)); } var finalFilter = filters.Any() ? builder.And(filters) : builder.Empty; var permissionsList = await repository.FilterByMongoFilterAsync(finalFilter); - //await cacheProvider.SetAsync(cacheKey, permissionsList); + await cacheProvider.SetAsync(cacheKey, permissionsList); return permissionsList; } diff --git a/Core.Thalos.Provider/Providers/Onboarding/RoleProvider.cs b/Core.Thalos.Provider/Providers/Onboarding/RoleProvider.cs index ac58137..bf8372d 100644 --- a/Core.Thalos.Provider/Providers/Onboarding/RoleProvider.cs +++ b/Core.Thalos.Provider/Providers/Onboarding/RoleProvider.cs @@ -3,21 +3,22 @@ // AgileWebs // // *********************************************************************** +using Core.Blueprint.Caching.Adapters; +using Core.Blueprint.Caching.Contracts; +using Core.Blueprint.Caching.Helpers; +using Core.Blueprint.Mongo; using Core.Thalos.Adapters; using Core.Thalos.Adapters.Common.Enums; -using Core.Blueprint.Mongo; -//using Core.Blueprint.Redis; -//using Core.Blueprint.Redis.Helpers; +using Core.Thalos.Domain.Contexts.Onboarding.Request; +using Core.Thalos.Provider.Contracts; using Mapster; using Microsoft.Extensions.Options; -using MongoDB.Driver; -using Core.Thalos.Provider.Contracts; -using MongoDB.Bson; -using System.Text.RegularExpressions; -using MongoDB.Bson.Serialization; -using Core.Thalos.Domain.Contexts.Onboarding.Request; using Microsoft.Graph; +using MongoDB.Bson; +using MongoDB.Bson.Serialization; +using MongoDB.Driver; using System.ComponentModel.Design; +using System.Text.RegularExpressions; namespace Core.Thalos.Provider.Providers.Onboarding { @@ -27,19 +28,19 @@ namespace Core.Thalos.Provider.Providers.Onboarding public class RoleProvider : IRoleProvider { private readonly CollectionRepository repository; - //private readonly CacheSettings cacheSettings; - //private readonly IRedisCacheProvider cacheProvider; + private readonly CacheSettings cacheSettings; + private readonly ICacheProvider cacheProvider; - public RoleProvider(CollectionRepository repository - //IRedisCacheProvider cacheProvider, - //IOptions cacheSettings - ) + public RoleProvider(CollectionRepository repository, + ICacheProvider cacheProvider, + IOptions cacheSettings + ) { this.repository = repository; this.repository.CollectionInitialization(); - //this.cacheSettings = cacheSettings.Value; - //this.cacheProvider = cacheProvider; - } + this.cacheSettings = cacheSettings.Value; + this.cacheProvider = cacheProvider; + } /// /// Creates a new Role. @@ -64,14 +65,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask GetRoleById(string _id, CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetRoleById", _id); - //var cachedData = await cacheProvider.GetAsync(cacheKey); + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetRoleById", _id); + var cachedData = await cacheProvider.GetAsync(cacheKey); - //if (cachedData is not null) { return cachedData; } + if (cachedData is not null) { return cachedData; } var role = await repository.FindByIdAsync(_id); - //await cacheProvider.SetAsync(cacheKey, role); + await cacheProvider.SetAsync(cacheKey, role); return role; } @@ -83,14 +84,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask> GetAllRoles(CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllRoles"); - //var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllRoles"); + var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; - //if (cachedData.Any()) return cachedData; + if (cachedData.Any()) return cachedData; var roles = await repository.AsQueryable(); - //await cacheProvider.SetAsync(cacheKey, roles); + await cacheProvider.SetAsync(cacheKey, roles); return roles; } diff --git a/Core.Thalos.Provider/Providers/Onboarding/UserProvider.cs b/Core.Thalos.Provider/Providers/Onboarding/UserProvider.cs index 705a2d6..cf9a4b4 100644 --- a/Core.Thalos.Provider/Providers/Onboarding/UserProvider.cs +++ b/Core.Thalos.Provider/Providers/Onboarding/UserProvider.cs @@ -4,18 +4,20 @@ // // *********************************************************************** +using Core.Blueprint.Caching.Adapters; +using Core.Blueprint.Caching.Contracts; +using Core.Blueprint.Caching.Helpers; +using Core.Blueprint.Mongo; using Core.Thalos.Adapters; using Core.Thalos.Adapters.Common.Enums; -using Core.Blueprint.Mongo; -//using Core.Blueprint.Redis; -//using Core.Blueprint.Redis.Helpers; +using Core.Thalos.Provider.Contracts; using Mapster; using Microsoft.Extensions.Options; -using MongoDB.Driver; -using Core.Thalos.Provider.Contracts; using MongoDB.Bson; -using System.Text.RegularExpressions; using MongoDB.Bson.Serialization; +using MongoDB.Driver; +using System.Reflection; +using System.Text.RegularExpressions; namespace Core.Thalos.Provider.Providers.Onboarding { @@ -25,19 +27,19 @@ namespace Core.Thalos.Provider.Providers.Onboarding public class UserProvider : IUserProvider { private readonly CollectionRepository repository; - //private readonly CacheSettings cacheSettings; - //private readonly IRedisCacheProvider cacheProvider; + private readonly CacheSettings cacheSettings; + private readonly ICacheProvider cacheProvider; - public UserProvider(CollectionRepository repository - //IRedisCacheProvider cacheProvider, - //IOptions cacheSettings + public UserProvider(CollectionRepository repository, + ICacheProvider cacheProvider, + IOptions cacheSettings ) { this.repository = repository; this.repository.CollectionInitialization(); - //this.cacheSettings = cacheSettings.Value; - //this.cacheProvider = cacheProvider; - } + this.cacheSettings = cacheSettings.Value; + this.cacheProvider = cacheProvider; + } /// /// Creates a new User. @@ -62,14 +64,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask GetUserById(string _id, CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserById", _id); - //var cachedData = await cacheProvider.GetAsync(cacheKey); + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserById", _id); + var cachedData = await cacheProvider.GetAsync(cacheKey); //if (cachedData is not null) { return cachedData; } var user = await repository.FindByIdAsync(_id); - //await cacheProvider.SetAsync(cacheKey, user); + await cacheProvider.SetAsync(cacheKey, user); return user; } @@ -81,14 +83,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask> GetAllUsers(CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllUsers"); - //var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllUsers"); + var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? []; - //if (cachedData.Any()) return cachedData; + if (cachedData.Any()) return cachedData; var users = await repository.AsQueryable(); - //await cacheProvider.SetAsync(cacheKey, users); + await cacheProvider.SetAsync(cacheKey, users); return users; } @@ -101,8 +103,8 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// the asynchronous execution of the service. public async ValueTask GetUserByEmail(string? email, CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); - //var cachedData = await cacheProvider.GetAsync(cacheKey); + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); + var cachedData = await cacheProvider.GetAsync(cacheKey); //if (cachedData is not null) { return cachedData; } @@ -110,7 +112,7 @@ namespace Core.Thalos.Provider.Providers.Onboarding u => u.Email == email && u.Status == Core.Blueprint.Mongo.StatusEnum.Active); - //await cacheProvider.SetAsync(cacheKey, user); + await cacheProvider.SetAsync(cacheKey, user); return user; } @@ -121,10 +123,10 @@ namespace Core.Thalos.Provider.Providers.Onboarding /// The User email. /// A representing /// the asynchronous execution of the service. - public async ValueTask ValidateUserExistence(string? email, CancellationToken cancellationToken) + public async ValueTask ValidateUserExistence(string? email, CancellationToken cancellationToken) { - //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); - //var cachedData = await cacheProvider.GetAsync(cacheKey); + var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); + var cachedData = await cacheProvider.GetAsync(cacheKey); //if (cachedData is not null) { return cachedData; } @@ -132,9 +134,13 @@ namespace Core.Thalos.Provider.Providers.Onboarding u => u.Email == email && u.Status == Core.Blueprint.Mongo.StatusEnum.Active); - //await cacheProvider.SetAsync(cacheKey, user); + UserExistenceAdapter userExistance = new UserExistenceAdapter(); - return user; + userExistance.Existence = (user != null) ? true : false; + + await cacheProvider.SetAsync(cacheKey, userExistance); + + return userExistance; } ///