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() }
|
||||
}),
|
||||
|
||||
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