Example #1
0
        public async Task <IActionResult> UpdateAsync([FromRoute] Guid scopeId, [FromBody] ScopeRequestDto dto)
        {
            Scope scope;

            if (this.UserHasScope(ScopeScopes.Admin))
            {
                scope = await _updateScopeService.UpdateAsync(dto.ToScope(scopeId));
            }
            else
            {
                scope = await _updateScopeService.UpdateAsync(dto.ToScope(scopeId), this.GetUserId());
            }

            var updated = ScopeResponseDto.FromScope(scope);

            return(Ok(updated));
        }
Example #2
0
        public async Task <IActionResult> FindAsync([FromRoute] Guid scopeId)
        {
            Scope scope;

            if (this.UserHasScope(ScopeScopes.Admin))
            {
                scope = await _findScopeService.FindAsync(scopeId);
            }
            else
            {
                scope = await _findScopeService.FindAsync(scopeId, this.GetUserId());
            }

            var found = ScopeResponseDto.FromScope(scope);

            return(Ok(found));
        }
Example #3
0
        public async Task <IActionResult> CreateAsync([FromBody] ScopeRequestDto dto)
        {
            Scope scope;

            if (this.UserHasScope(ScopeScopes.Admin))
            {
                scope = await _addScopeService.AddAsync(dto.ToScope());
            }
            else
            {
                scope = await _addScopeService.AddAsync(dto.ToScope(), this.GetUserId());
            }

            var created = ScopeResponseDto.FromScope(scope);

            return(Created($"{_siteSettings.ListenUri}/scopes/{scope.ScopeId}", created));
        }
Example #4
0
        public static ScopeResponseDto FromScope(Scope scope, bool includeChildren)
        {
            var dto = new ScopeResponseDto
            {
                scope_id       = scope.ScopeId,
                name           = scope.Name,
                description    = scope.Description,
                application_id = scope.ApplicationId,
                created_date   = scope.CreatedDateTime,
                modified_date  = scope.ModifiedDateTime
            };

            if (includeChildren)
            {
                dto.roles = scope.Roles?.Select(r =>
                                                RoleResponseDto.FromRole(r, false)).ToList();
            }

            return(dto);
        }