示例#1
0
        public async Task <WardenStatsDto> GetStats(Guid organizationId, string wardenName, [FromUri] GetWardenStats query)
        {
            var isAuthorized = await _organizationService.IsUserInOrganizationAsync(organizationId, UserId);

            if (!isAuthorized)
            {
                Response.StatusCode = 401;

                return(null);
            }

            var stats = await _wardenService.GetStatsAsync(query);

            return(stats);
        }
示例#2
0
        public async Task <IActionResult> Details(Guid organizationId, Guid wardenId,
                                                  int page = 1, int results = 10)
        {
            var warden = await GetWardenForUserAsync(organizationId, wardenId);

            if (warden == null)
            {
                return(HttpNotFound());
            }

            var stats = await _wardenService.GetStatsAsync(new GetWardenStats
            {
                OrganizationId = organizationId,
                WardenName     = warden.Name
            });

            var watchers = await _watcherService.GetAllAsync(organizationId, wardenId);

            var iterations = await _wardenService.BrowseIterationsAsync(new BrowseWardenIterations
            {
                OrganizationId = organizationId,
                WardenName     = warden.Name,
                Page           = page,
                Results        = results
            });

            var viewModel = new WardenViewModel
            {
                Id             = wardenId,
                OrganizationId = organizationId,
                Stats          = stats,
                CreatedAt      = warden.CreatedAt,
                Iterations     = iterations,
                Watchers       = watchers
            };

            return(View(viewModel));
        }