public static IdentityScope ToEntity(this Core.Models.Scope s)
        {
            if (s == null)
            {
                return(null);
            }

            if (s.Claims == null)
            {
                s.Claims = new List <ScopeClaim>();
            }
            if (s.ScopeSecrets == null)
            {
                s.ScopeSecrets = new List <Secret>();
            }

            return(Config.CreateMapper().Map <Core.Models.Scope, IdentityScope>(s));
        }
        public static Core.Models.Scope ToDomain(this IdentityServer4.EntityFramework.Entities.Scope scope)
        {
            var standardScopeNames = IdentityServer4.Models.StandardScopes.All.Select(s => s.Name);
            var record             = new Core.Models.Scope
            {
                Name                 = scope.Name,
                Description          = scope.Description,
                IsExposed            = scope.ShowInDiscoveryDocument,
                IsDisplayedInConsent = true
            };

            record.IsOpenIdScope = standardScopeNames.Contains(record.Name);
            record.Type          = scope.Type == (int)IdentityServer4.Models.ScopeType.Identity ?
                                   Core.Models.ScopeType.ResourceOwner : Core.Models.ScopeType.ProtectedApi;
            if (scope.Claims != null && scope.Claims.Any())
            {
                record.Claims = scope.Claims.Select(c => c.Name).ToList();
            }

            return(record);
        }