Exemplo n.º 1
0
        private void ValidateUpdateProperty(ScopeMetaData scopeMetaData, string type, string value)
        {
            if (scopeMetaData == null)
            {
                throw new ArgumentNullException("scopeMetaData");
            }

            if (String.IsNullOrWhiteSpace(type))
            {
                ModelState.AddModelError("", Messages.PropertyTypeRequired);
                return;
            }

            var prop = scopeMetaData.UpdateProperties.SingleOrDefault(x => x.Type == type);

            if (prop == null)
            {
                ModelState.AddModelError("", String.Format(Messages.PropertyInvalid, type));
            }
            else
            {
                var error = prop.Validate(value);
                if (error != null)
                {
                    ModelState.AddModelError("", error);
                }
            }
        }
Exemplo n.º 2
0
        private IEnumerable <string> ValidateCreateProperties(ScopeMetaData scopeMetaData, IEnumerable <PropertyValue> properties)
        {
            if (scopeMetaData == null)
            {
                throw new ArgumentNullException("scopeMetaData");
            }
            properties = properties ?? Enumerable.Empty <PropertyValue>();

            var meta = scopeMetaData.CreateProperties;

            return(meta.Validate(properties));
        }
Exemplo n.º 3
0
        private IdentityAdminMetadata GetMetadata()
        {
            if (_metadata == null)
            {
                var updateClient = new List <PropertyMetadata>();
                updateClient.AddRange(PropertyMetadata.FromType <InMemoryClient>());

                var createClient = new List <PropertyMetadata>
                {
                    PropertyMetadata.FromProperty <InMemoryClient>(x => x.ClientName, "ClientName", required: true),
                    PropertyMetadata.FromProperty <InMemoryClient>(x => x.ClientId, "ClientId", required: true),
                };

                var client = new ClientMetaData
                {
                    SupportsCreate   = true,
                    SupportsDelete   = true,
                    CreateProperties = createClient,
                    UpdateProperties = updateClient
                };


                var updateScope = new List <PropertyMetadata>();
                updateScope.AddRange(PropertyMetadata.FromType <InMemoryScope>());

                var createScope = new List <PropertyMetadata>
                {
                    PropertyMetadata.FromProperty <InMemoryScope>(x => x.Name, "ScopeName", required: true),
                };

                var scope = new ScopeMetaData
                {
                    SupportsCreate   = true,
                    SupportsDelete   = true,
                    CreateProperties = createScope,
                    UpdateProperties = updateScope
                };


                _metadata = new IdentityAdminMetadata
                {
                    ClientMetaData = client,
                    ScopeMetaData  = scope
                };
            }
            return(_metadata);
        }
 public CreateScopeLink(UrlHelper url, ScopeMetaData scopeMetaData)
 {
     this["href"] = url.RelativeLink(Constants.RouteNames.CreateScope);
     this["meta"] = scopeMetaData.CreateProperties;
 }
        public ScopeQueryResultResource(QueryResult <ScopeSummary> result, UrlHelper url, ScopeMetaData meta)
        {
            if (result == null)
            {
                throw new ArgumentNullException("result");
            }
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }
            if (meta == null)
            {
                throw new ArgumentNullException("meta");
            }

            Data = new ScopeQueryResultResourceData(result, url, meta);

            var links = new Dictionary <string, object>();

            if (meta.SupportsCreate)
            {
                links["create"] = new CreateScopeLink(url, meta);
            }
            ;
            Links = links;
        }
Exemplo n.º 6
0
        public ScopeQueryResultResourceData(QueryResult <ScopeSummary> result, UrlHelper url, ScopeMetaData meta)
        {
            if (result == null)
            {
                throw new ArgumentNullException("result");
            }
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }
            if (meta == null)
            {
                throw new ArgumentNullException("meta");
            }

            AutoMapper.Mapper.Map(result, this);

            foreach (var scope in this.Items)
            {
                var links = new Dictionary <string, string> {
                    { "detail", url.Link(Constants.RouteNames.GetScope, new { subject = scope.Data.Subject }) }
                };
                if (meta.SupportsDelete)
                {
                    links.Add("delete", url.Link(Constants.RouteNames.DeleteScope, new { subject = scope.Data.Subject }));
                }
                scope.Links = links;
            }
        }