Uncomment the cache settings
This commit is contained in:
		| @@ -4,18 +4,20 @@ | ||||
| // </copyright> | ||||
| // *********************************************************************** | ||||
|  | ||||
| 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<UserAdapter> repository; | ||||
|         //private readonly CacheSettings cacheSettings; | ||||
|         //private readonly IRedisCacheProvider cacheProvider; | ||||
| 		private readonly CacheSettings cacheSettings; | ||||
| 		private readonly ICacheProvider cacheProvider; | ||||
|  | ||||
|         public UserProvider(CollectionRepository<UserAdapter> repository | ||||
|         //IRedisCacheProvider cacheProvider,  | ||||
|         //IOptions<CacheSettings> cacheSettings | ||||
| 		public UserProvider(CollectionRepository<UserAdapter> repository, | ||||
|             ICacheProvider cacheProvider, | ||||
| 			IOptions<CacheSettings> cacheSettings | ||||
|             ) | ||||
|         { | ||||
|             this.repository = repository; | ||||
|             this.repository.CollectionInitialization(); | ||||
|             //this.cacheSettings = cacheSettings.Value; | ||||
|             //this.cacheProvider = cacheProvider; | ||||
|         } | ||||
| 			this.cacheSettings = cacheSettings.Value; | ||||
| 			this.cacheProvider = cacheProvider; | ||||
| 		} | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Creates a new User. | ||||
| @@ -62,14 +64,14 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|         /// the asynchronous execution of the service.</returns> | ||||
|         public async ValueTask<UserAdapter> GetUserById(string _id, CancellationToken cancellationToken) | ||||
|         { | ||||
|             //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserById", _id); | ||||
|             //var cachedData = await cacheProvider.GetAsync<UserAdapter>(cacheKey); | ||||
|             var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserById", _id); | ||||
|             var cachedData = await cacheProvider.GetAsync<UserAdapter>(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.</returns> | ||||
|         public async ValueTask<IEnumerable<UserAdapter>> GetAllUsers(CancellationToken cancellationToken) | ||||
|         { | ||||
|             //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllUsers"); | ||||
|             //var cachedData = await cacheProvider.GetAsync<IEnumerable<UserAdapter>>(cacheKey) ?? []; | ||||
|             var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllUsers"); | ||||
|             var cachedData = await cacheProvider.GetAsync<IEnumerable<UserAdapter>>(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.</returns> | ||||
|         public async ValueTask<UserAdapter> GetUserByEmail(string? email, CancellationToken cancellationToken) | ||||
|         { | ||||
|             //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); | ||||
|             //var cachedData = await cacheProvider.GetAsync<UserAdapter>(cacheKey); | ||||
|             var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); | ||||
|             var cachedData = await cacheProvider.GetAsync<UserAdapter>(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 | ||||
|         /// <param name="email">The User email.</param> | ||||
|         /// <returns>A <see cref="{Task{UserAdapter}}"/> representing | ||||
|         /// the asynchronous execution of the service.</returns> | ||||
|         public async ValueTask<UserAdapter> ValidateUserExistence(string? email, CancellationToken cancellationToken) | ||||
|         public async ValueTask<UserExistenceAdapter> ValidateUserExistence(string? email, CancellationToken cancellationToken) | ||||
|         { | ||||
|             //var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); | ||||
|             //var cachedData = await cacheProvider.GetAsync<UserAdapter>(cacheKey); | ||||
|             var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetUserByEmail", email); | ||||
|             var cachedData = await cacheProvider.GetAsync<UserAdapter>(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; | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Oscar Morales
					Oscar Morales