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