public async Task <ListResponse <UsageMetrics> > GetMetricsForInstanceAsync(string instanceId, ListRequest request, EntityHeader org, EntityHeader user)
        {
            var instance = await _deploymentInstanceRepo.GetInstanceAsync(instanceId);

            await AuthorizeOrgAccessAsync(user, org, typeof(UsageMetrics), Core.Validation.Actions.Read, "Instance");

            if (instance.LogStorage.Value == LogStorage.Local)
            {
                var proxy = _proxyFactory.Create <IUsageMetricsRepo>(new ProxySettings {
                    OrganizationId = org.Id, InstanceId = instanceId
                });
                return(await proxy.GetMetricsForInstanceAsync(instanceId, request));
            }
            else
            {
                return(await _metricsRepo.GetMetricsForInstanceAsync(instanceId, request));
            }
        }
示例#2
0
        public async Task <ListResponse <UsageMetrics> > GetMetricsForInstanceAsync(string instanceId, ListRequest request, EntityHeader org, EntityHeader user)
        {
            await AuthorizeOrgAccessAsync(user, org, typeof(UsageMetrics), Core.Validation.Actions.Read, "Instance");

            return(await _metricsRepo.GetMetricsForInstanceAsync(instanceId, request));
        }