This commit is contained in:
2026-10-05 17:36:42 +03:30
parent 80978abefc
commit 4789d6b280
2 changed files with 176 additions and 33 deletions
+155 -11
View File
@@ -1,19 +1,25 @@
using System;
using xModels.Dtos;
using xCommons.Extensions;
using xIdentityModels.Dtos;
using xIdentityModels.Models;
using System.Collections.Generic;
using xIdentityModels.Descriptors;
using xIdentityModels.Navigations;
namespace xIdentityModels.Extensions {
public static class XModelExtensions {
namespace xIdentityModels.Extensions
{
public static class XModelExtensions
{
/// <summary>
/// /// Convert XIdentityUserDescriptor instance to XUser
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static XUser ToXUser (this XIdentityUserDescriptor source) {
return new XUser {
public static XUser ToXUser(this XIdentityUserDescriptor source)
{
return new XUser
{
Id = source.Id,
FirstName = source.FirstName,
LastName = source.LastName,
@@ -29,16 +35,45 @@ namespace xIdentityModels.Extensions {
};
}
/// <summary>
/// Converts a User to Person ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static XPersonDto ToXPerson(this XUser source)
{
//
XPersonDto result = null;
//
if (!source.IsNullOrDefault())
{
//
result = new XPersonDto
{
Avatar = source.Avatar,
Username = source.UserName,
Lastname = source.LastName,
Firstname = source.FirstName,
};
}
//
return result;
}
/// <summary>
/// Check a User is Same as Descriptor User
/// </summary>
/// <param name="source"></param>
/// <param name="dest"></param>
/// <returns></returns>
public static bool IsSameAs (this XUser source, XIdentityUserDescriptor dest) {
public static bool IsSameAs(this XUser source, XIdentityUserDescriptor dest)
{
//
if (source.IsNull() ||
dest.IsNull ()) {
dest.IsNull())
{
return false;
}
@@ -76,10 +111,12 @@ namespace xIdentityModels.Extensions {
/// <param name="source"></param>
/// <param name="dest"></param>
/// <returns></returns>
public static bool IsSameAs (this XDevice source, XDevice dest) {
public static bool IsSameAs(this XDevice source, XDevice dest)
{
//
if (source.IsNull() ||
dest.IsNull ()) {
dest.IsNull())
{
return false;
}
@@ -99,15 +136,18 @@ namespace xIdentityModels.Extensions {
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static XTokenResponse ToXTokenResponse (this XUserClaimsInfoDto source) {
public static XTokenResponse ToXTokenResponse(this XUserClaimsInfoDto source)
{
//
if (source.IsNull() ||
(source.AccessToken.IsNullOrEmpty () && source.RefreshToken.IsNullOrEmpty ())) {
(source.AccessToken.IsNullOrEmpty() && source.RefreshToken.IsNullOrEmpty()))
{
return null;
}
//
var result = new XTokenResponse {
var result = new XTokenResponse
{
AccessToken = source.AccessToken,
RefreshToken = source.RefreshToken,
ExpiresAt = source.ExpiresAt
@@ -116,5 +156,109 @@ namespace xIdentityModels.Extensions {
//
return result;
}
/// <summary>
/// Validate Item for Add or Update ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValidForAdd(this XApplication source)
{
//
var result =
!source.IsNullOrDefault() &&
!source.Name.IsNullOrEmpty();
//
return result;
}
/// <summary>
/// Validate Item for Add or Update ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValidForAdd(this XApplicationDto source)
{
//
var result =
!source.IsNullOrDefault() &&
!source.Name.IsNullOrEmpty();
//
return result;
}
/// <summary>
/// Validate Item for Add or Update ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValidForAdd(this XApiKey source)
{
//
var result =
!source.IsNullOrDefault() &&
!source.ApplicationId.IsValidIntId() &&
!source.KeyHash.IsNullOrEmpty();
//
return result;
}
/// <summary>
/// Validate Item for Add or Update ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValidForAdd(this XApiKeyDto source)
{
//
var result =
!source.IsNullOrDefault() &&
!source.ApplicationId.IsValidIntId() &&
!source.KeyHash.IsNullOrEmpty();
//
return result;
}
/// <summary>
/// Validate Item for Add or Update ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValidForAdd(this XApiKeyUsage source)
{
//
var result =
!source.IsNullOrDefault() &&
!source.ApiKeyId.IsDefaultGuid() &&
!source.ClientIP.IsNullOrEmpty() &&
!source.Endpoint.IsNullOrEmpty() &&
!source.HttpMethod.IsNullOrEmpty();
//
return result;
}
/// <summary>
/// Validate Item for Add or Update ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValidForAdd(this XApiKeyUsageDto source)
{
//
var result =
!source.IsNullOrDefault() &&
!source.ApiKeyId.IsDefaultGuid() &&
!source.ClientIP.IsNullOrEmpty() &&
!source.Endpoint.IsNullOrEmpty() &&
!source.HttpMethod.IsNullOrEmpty();
//
return result;
}
}
}
+1 -2
View File
@@ -1,3 +1,4 @@
using System;
using System.Linq;
using xCommons.Extensions;
using xIdentityModels.Dtos;
@@ -5,8 +6,6 @@ using xIdentityModels.Models;
using xIdentityModels.Constants;
using System.Collections.Generic;
using xIdentityModels.Configurations;
using Microsoft.OpenApi.Expressions;
using System;
namespace xIdentityModels.Extensions
{