Esempio n. 1
0
        public async Task <IHttpActionResult> Get()
        {
            var meta = await GetMetadataAsync();

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

            var cp   = (ClaimsPrincipal)User;
            var name = cp.Identity.Name;

            data.Add("currentUser", new {
                username = name
            });

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

            links["users"] = Url.Link(Constants.RouteNames.GetUsers, null);
            if (meta.RoleMetadata.SupportsListing)
            {
                links["roles"] = Url.Link(Constants.RouteNames.GetRoles, null);
            }
            if (meta.UserMetadata.SupportsCreate)
            {
                links["createUser"] = new CreateUserLink(Url, meta.UserMetadata);
            }
            if (meta.RoleMetadata.SupportsCreate)
            {
                links["createRole"] = new CreateRoleLink(Url, meta.RoleMetadata);
            }

            return(Ok(new
            {
                Data = data,
                Links = links
            }));
        }
Esempio n. 2
0
        public async Task <IActionResult> Get()
        {
            var meta = await GetMetadataAsync();

            var data = new Dictionary <string, object> {
                { "currentUser", new { username = User.Identity.Name } }
            };

            var links = new Dictionary <string, object> {
                ["users"] = Url.Link("GetUsers", null)
            };

            if (meta.RoleMetadata.SupportsListing)
            {
                links["roles"] = Url.Link("GetRoles", null);
            }
            if (meta.UserMetadata.SupportsCreate)
            {
                links["createUser"] = new CreateUserLink(Url, meta.UserMetadata);
            }
            if (meta.RoleMetadata.SupportsCreate)
            {
                links["createRole"] = new CreateRoleLink(Url, meta.RoleMetadata);
            }

            return(Ok(new
            {
                Data = data,
                Links = links
            }));
        }
        public async Task<IHttpActionResult> Get()
        {
            var meta = await GetMetadataAsync();

            var data = new Dictionary<string, object>();
            
            var cp = (ClaimsPrincipal)User;
            var name = cp.Claims.Where(x => x.Type == Constants.ClaimTypes.Name).Select(x => x.Value).FirstOrDefault();
            data.Add("currentUser", new {
                username = name
            });

            var links = new Dictionary<string, object>();
            links["users"] = Url.Link(Constants.RouteNames.GetUsers, null);
            if (meta.RoleMetadata.SupportsListing)
            {
                links["roles"] = Url.Link(Constants.RouteNames.GetRoles, null);
            }
            if (meta.UserMetadata.SupportsCreate)
            {
                links["createUser"] = new CreateUserLink(Url, meta.UserMetadata);
            }
            if (meta.RoleMetadata.SupportsCreate)
            {
                links["createRole"] = new CreateRoleLink(Url, meta.RoleMetadata);
            }

            return Ok(new 
            {
                Data = data,
                Links = links
            });
        }
        public async Task <IHttpActionResult> Get()
        {
            var meta = await GetMetadataAsync();

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

            links["users"] = Url.Link(Constants.RouteNames.GetUsers, null);
            if (meta.UserMetadata.SupportsCreate)
            {
                links["createUser"] = new CreateUserLink(Url, meta.UserMetadata);
            }

            var resource = new
            {
                Data = new {
                    currentUser = new
                    {
                        username = User.Identity.Name
                    }
                },
                Links = links
            };

            return(Ok(resource));
        }