Compare commits
	
		
			2 Commits
		
	
	
		
			739e9e9c85
			...
			developmen
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a7aad12742 | |||
| 8c3f8f6402 | 
| @@ -231,7 +231,6 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                 }, | ||||
|                 { "status", Core.Blueprint.Mongo.StatusEnum.Active.ToString() } | ||||
|             }), | ||||
|  | ||||
|             new BsonDocument("$lookup", new BsonDocument | ||||
|             { | ||||
|                 { "from", "Roles" }, | ||||
| @@ -239,11 +238,8 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                 { "foreignField", "_id" }, | ||||
|                 { "as", "role" } | ||||
|             }), | ||||
|  | ||||
|             new BsonDocument("$unwind", "$role"), | ||||
|             new BsonDocument("$match", new BsonDocument("role.status", Core.Blueprint.Mongo.StatusEnum.Active.ToString())), | ||||
|  | ||||
|                     // Tenant lookup | ||||
|             new BsonDocument("$lookup", new BsonDocument | ||||
|             { | ||||
|                 { "from", "Tenants" }, | ||||
| @@ -252,7 +248,6 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                 { "as", "tenant" } | ||||
|             }), | ||||
|             new BsonDocument("$unwind", "$tenant"), | ||||
|  | ||||
|             new BsonDocument("$addFields", new BsonDocument | ||||
|             { | ||||
|                 { "role.permissions", new BsonDocument("$map", new BsonDocument | ||||
| @@ -270,7 +265,6 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                     }) | ||||
|                 } | ||||
|             }), | ||||
|  | ||||
|             new BsonDocument("$lookup", new BsonDocument | ||||
|             { | ||||
|                 { "from", "Permissions" }, | ||||
| @@ -343,6 +337,12 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|  | ||||
|                 if (result is null) return null; | ||||
|  | ||||
|                 DateTime SafeToUtc(BsonValue value) | ||||
|                 { | ||||
|                     if (value == null || value.IsBsonNull) return DateTime.MinValue; | ||||
|                     return value.IsBsonDateTime ? value.ToUniversalTime() : DateTime.MinValue; | ||||
|                 } | ||||
|  | ||||
|                 var tokenAdapter = new TokenAdapter | ||||
|                 { | ||||
|                     User = new UserAdapter | ||||
| @@ -354,11 +354,11 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                         LastName = result.Contains("lastName") && !result["lastName"].IsBsonNull ? result["lastName"].AsString : string.Empty, | ||||
|                         DisplayName = result.Contains("displayName") && !result["displayName"].IsBsonNull ? result["displayName"].AsString : string.Empty, | ||||
|                         RoleId = result.Contains("roleId") && !result["roleId"].IsBsonNull ? result["roleId"].ToString() : string.Empty, | ||||
|                         LastLogIn = result.Contains("lastLogIn") && !result["lastLogIn"].IsBsonNull ? result["lastLogIn"].ToUniversalTime() : DateTime.MinValue, | ||||
|                         LastLogOut = result.Contains("lastLogOut") && !result["lastLogOut"].IsBsonNull ? result["lastLogOut"].ToUniversalTime() : DateTime.MinValue, | ||||
|                         CreatedAt = result.Contains("createdAt") && !result["createdAt"].IsBsonNull ? result["createdAt"].ToUniversalTime() : DateTime.MinValue, | ||||
|                         LastLogIn = SafeToUtc(result.Contains("lastLogIn") ? result["lastLogIn"] : null), | ||||
|                         LastLogOut = SafeToUtc(result.Contains("lastLogOut") ? result["lastLogOut"] : null), | ||||
|                         CreatedAt = SafeToUtc(result.Contains("createdAt") ? result["createdAt"] : null), | ||||
|                         UpdatedAt = SafeToUtc(result.Contains("updatedAt") ? result["updatedAt"] : null), | ||||
|                         CreatedBy = result.Contains("createdBy") && !result["createdBy"].IsBsonNull ? result["createdBy"].AsString : string.Empty, | ||||
|                         UpdatedAt = result.Contains("updatedAt") && !result["updatedAt"].IsBsonNull ? result["updatedAt"].ToUniversalTime() : DateTime.MinValue, | ||||
|                         UpdatedBy = result.Contains("updatedBy") && !result["updatedBy"].IsBsonNull ? result["updatedBy"].AsString : string.Empty, | ||||
|                         Status = result.Contains("status") && !result["status"].IsBsonNull | ||||
|                             ? (Core.Blueprint.Mongo.StatusEnum)Enum.Parse(typeof(Core.Blueprint.Mongo.StatusEnum), result["status"].AsString) | ||||
| @@ -404,24 +404,18 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                              !result["role"]["status"].IsBsonNull | ||||
|                             ? (Core.Blueprint.Mongo.StatusEnum)Enum.Parse(typeof(Core.Blueprint.Mongo.StatusEnum), result["role"]["status"].AsString) | ||||
|                             : Core.Blueprint.Mongo.StatusEnum.Inactive, | ||||
|                         CreatedAt = result.Contains("role") && result["role"].IsBsonDocument && | ||||
|                             result["role"].AsBsonDocument.Contains("createdAt") && | ||||
|                             !result["role"]["createdAt"].IsBsonNull | ||||
|                             ? result["role"]["createdAt"].ToUniversalTime() | ||||
|                             : DateTime.MinValue, | ||||
|                         UpdatedAt = result.Contains("role") && result["role"].IsBsonDocument && | ||||
|                             result["role"].AsBsonDocument.Contains("updatedAt") && | ||||
|                             !result["role"]["updatedAt"].IsBsonNull | ||||
|                             ? result["role"]["updatedAt"].ToUniversalTime() | ||||
|                             : DateTime.MinValue, | ||||
|                         CreatedAt = SafeToUtc(result.Contains("role") && result["role"].IsBsonDocument && result["role"].AsBsonDocument.Contains("createdAt") | ||||
|                             ? result["role"]["createdAt"] | ||||
|                             : null), | ||||
|                         UpdatedAt = SafeToUtc(result.Contains("role") && result["role"].IsBsonDocument && result["role"].AsBsonDocument.Contains("updatedAt") | ||||
|                             ? result["role"]["updatedAt"] | ||||
|                             : null), | ||||
|                         CreatedBy = result.Contains("role") && result["role"].IsBsonDocument && | ||||
|                             result["role"].AsBsonDocument.Contains("createdBy") && | ||||
|                             !result["role"]["createdBy"].IsBsonNull | ||||
|                             result["role"].AsBsonDocument.Contains("createdBy") && !result["role"]["createdBy"].IsBsonNull | ||||
|                             ? result["role"]["createdBy"].AsString | ||||
|                             : string.Empty, | ||||
|                         UpdatedBy = result.Contains("role") && result["role"].IsBsonDocument && | ||||
|                             result["role"].AsBsonDocument.Contains("updatedBy") && | ||||
|                             !result["role"]["updatedBy"].IsBsonNull | ||||
|                             result["role"].AsBsonDocument.Contains("updatedBy") && !result["role"]["updatedBy"].IsBsonNull | ||||
|                             ? result["role"]["updatedBy"].AsString | ||||
|                             : string.Empty | ||||
|                     }, | ||||
| @@ -470,12 +464,12 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                         Isolated = result["tenant"].AsBsonDocument.Contains("isolated") && !result["tenant"]["isolated"].IsBsonNull | ||||
|                             ? result["tenant"]["isolated"].ToBoolean() | ||||
|                             : false, | ||||
|                         CreatedAt = result["tenant"].AsBsonDocument.Contains("createdAt") && !result["tenant"]["createdAt"].IsBsonNull | ||||
|                             ? result["tenant"]["createdAt"].ToUniversalTime() | ||||
|                             : DateTime.MinValue, | ||||
|                         UpdatedAt = result["tenant"].AsBsonDocument.Contains("updatedAt") && !result["tenant"]["updatedAt"].IsBsonNull | ||||
|                             ? result["tenant"]["updatedAt"].ToUniversalTime() | ||||
|                             : DateTime.MinValue, | ||||
|                         CreatedAt = SafeToUtc(result.Contains("tenant") && result["tenant"].IsBsonDocument && result["tenant"].AsBsonDocument.Contains("createdAt") | ||||
|                             ? result["tenant"]["createdAt"] | ||||
|                             : null), | ||||
|                         UpdatedAt = SafeToUtc(result.Contains("tenant") && result["tenant"].IsBsonDocument && result["tenant"].AsBsonDocument.Contains("updatedAt") | ||||
|                             ? result["tenant"]["updatedAt"] | ||||
|                             : null), | ||||
|                         CreatedBy = result["tenant"].AsBsonDocument.Contains("createdBy") && !result["tenant"]["createdBy"].IsBsonNull | ||||
|                             ? result["tenant"]["createdBy"].AsString | ||||
|                             : string.Empty, | ||||
| @@ -503,9 +497,7 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|                     : new List<ModuleAdapter>() | ||||
|                 }; | ||||
|  | ||||
|  | ||||
|                 return tokenAdapter; | ||||
|  | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
| @@ -513,6 +505,7 @@ namespace Core.Thalos.Provider.Providers.Onboarding | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Deletes an User by _id. | ||||
|         /// </summary> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user