Exemple #1
0
        public TrustedTicketGetter(IOptions <TableauSignInOptions> tableauSignInOptions,
                                   ITableauUserCredentials tableauUserCredentials,
                                   ITableauTenantFinder tableauTenantFinder,
                                   IHttpClientFactory httpClientFactory)
        {
            Requires.NonNull(tableauSignInOptions, nameof(tableauSignInOptions));
            Requires.NonNull(tableauUserCredentials, nameof(tableauUserCredentials));

            HttpClientFactory      = httpClientFactory;
            TableauSignInOptions   = tableauSignInOptions.Value;
            TableauUserCredentials = tableauUserCredentials;
            var tenantId = tableauTenantFinder.GetTenantIdAsync().ExecuteSynchronously();

            if (tenantId != null)
            {
                TableauSignInOptions.UpdateForTenant(tenantId);
            }
        }
Exemple #2
0
        public ReportVisualService(ITableauViewerService tableauViewerService,
                                   TraffkTenantModelDbContext rdb,
                                   ITableauTenantFinder tableauTenantFinder,
                                   ICurrentUser currentUser,
                                   IPhiAuthorizer phiAuthorizer,
                                   ICacher cacher = null)
        {
            CanSeePhi            = phiAuthorizer.CanSeePhi;
            TableauViewerService = tableauViewerService;
            Rdb = rdb;
            TableauTenantFinder = tableauTenantFinder;
            CurrentUser         = currentUser.User;

            Cacher = cacher.CreateScope(CurrentUser.UserName, CanSeePhi);

            TableauTenantId = TableauTenantFinder.GetTenantIdAsync().Result;

            ReportIndexCacheTimeout = TableauViewerService.ReportIndexCacheTimeout;

            ((IReportVisualService)this).IsOnline = TableauViewerService.IsOnline;
        }