Example #1
0
 public TenantManager(IHttpContextAccessor httpContextAccessor, IAliasRepository aliasRepository, ITenantRepository tenantRepository, SiteState siteState)
 {
     _httpContextAccessor = httpContextAccessor;
     _aliasRepository     = aliasRepository;
     _tenantRepository    = tenantRepository;
     _siteState           = siteState;
 }
        public TenantResolver(MasterDBContext context, IHttpContextAccessor accessor, IAliasRepository Aliases, ITenantRepository Tenants, SiteState sitestate)
        {
            db             = context;
            this.Aliases   = Aliases;
            this.Tenants   = Tenants;
            this.sitestate = sitestate;
            aliasname      = "";

            // get alias based on request context
            if (accessor.HttpContext != null)
            {
                aliasname = accessor.HttpContext.Request.Host.Value;
                string   path     = accessor.HttpContext.Request.Path.Value;
                string[] segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                if (segments.Length > 1 && segments[1] == "api" && segments[0] != "~")
                {
                    aliasname += "/" + segments[0];
                }
                if (aliasname.EndsWith("/"))
                {
                    aliasname = aliasname.Substring(0, aliasname.Length - 1);
                }
            }
            else  // background processes can pass in an alias using the SiteState service
            {
                if (sitestate != null)
                {
                    aliasname = sitestate.Alias.Name;
                }
            }
        }
 public TenantResolver(IHttpContextAccessor accessor, IAliasRepository aliasRepository, ITenantRepository tenantRepository, SiteState siteState)
 {
     _accessor         = accessor;
     _aliasRepository  = aliasRepository;
     _tenantRepository = tenantRepository;
     _siteState        = siteState;
 }
 public AliasController(IAliasRepository aliases, IHttpContextAccessor accessor, ISyncManager syncManager, ILogManager logger)
 {
     _aliases     = aliases;
     _accessor    = accessor;
     _syncManager = syncManager;
     _logger      = logger;
 }
Example #5
0
        /// <summary>
        /// Creates a new api from the currently registered
        /// repositories.
        /// </summary>
        public Api(
            IContentFactory contentFactory,
            IAliasRepository aliasRepository,
            IArchiveRepository archiveRepository,
            IMediaRepository mediaRepository,
            IPageRepository pageRepository,
            IPageTypeRepository pageTypeRepository,
            IParamRepository paramRepository,
            IPostRepository postRepository,
            IPostTypeRepository postTypeRepository,
            ISiteRepository siteRepository,
            ISiteTypeRepository siteTypeRepository,
            ICache cache              = null,
            IStorage storage          = null,
            IImageProcessor processor = null)
        {
            // Store the cache
            _cache = cache;

            // Create services without dependecies
            PageTypes = new PageTypeService(pageTypeRepository, cache);
            Params    = new ParamService(paramRepository, cache);
            PostTypes = new PostTypeService(postTypeRepository, cache);
            Sites     = new SiteService(siteRepository, contentFactory, cache);
            SiteTypes = new SiteTypeService(siteTypeRepository, cache);

            // Create services with dependencies
            Aliases  = new AliasService(aliasRepository, Sites, cache);
            Media    = new MediaService(mediaRepository, Params, storage, processor, cache);
            Pages    = new PageService(pageRepository, contentFactory, Sites, Params, cache);
            Posts    = new PostService(postRepository, contentFactory, Sites, Pages, cache);
            Archives = new ArchiveService(archiveRepository, Params, Posts);
        }
Example #6
0
 public UrlShortener(string baseUrl, IAliasRepository repository, IHashScheme hashScheme, IUrlUnwrapper urlUnwrapper)
 {
     BaseUrl        = baseUrl;
     Repository     = repository;
     HashScheme     = hashScheme;
     UrlUnwrapper   = urlUnwrapper;
     ProtectedPaths = new string[] {};
 }
Example #7
0
        public TenantResolver(IHttpContextAccessor Accessor, IAliasRepository Aliases, ITenantRepository Tenants, SiteState SiteState)
        {
            int    aliasid   = -1;
            string aliasname = "";

            // get alias identifier based on request context
            if (Accessor.HttpContext != null)
            {
                // check if an alias is passed as a querystring parameter ( for cross tenant access )
                if (Accessor.HttpContext.Request.Query.ContainsKey("aliasid"))
                {
                    aliasid = int.Parse(Accessor.HttpContext.Request.Query["aliasid"]);
                }
                else // get the alias from the request url
                {
                    aliasname = Accessor.HttpContext.Request.Host.Value;
                    string   path     = Accessor.HttpContext.Request.Path.Value;
                    string[] segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                    if (segments.Length > 1 && segments[1] == "api" && segments[0] != "~")
                    {
                        aliasname += "/" + segments[0];
                    }
                    if (aliasname.EndsWith("/"))
                    {
                        aliasname = aliasname.Substring(0, aliasname.Length - 1);
                    }
                }
            }
            else  // background processes can pass in an alias using the SiteState service
            {
                if (SiteState != null)
                {
                    aliasid = SiteState.Alias.AliasId;
                }
            }

            // get the alias and tenant
            if (aliasid != -1 || aliasname != "")
            {
                IEnumerable <Alias>  aliases = Aliases.GetAliases(); // cached
                IEnumerable <Tenant> tenants = Tenants.GetTenants(); // cached

                if (aliasid != -1)
                {
                    alias = aliases.Where(item => item.AliasId == aliasid).FirstOrDefault();
                }
                else
                {
                    alias = aliases.Where(item => item.Name == aliasname).FirstOrDefault();
                }
                if (alias != null)
                {
                    tenant = tenants.Where(item => item.TenantId == alias.TenantId).FirstOrDefault();
                }
            }
        }
Example #8
0
 public MailboxHandler(
     IMailboxHandlerConfiguration mailboxHandler,
     IAliasRepository aliases,
     ILogger <MailboxHandler> logger = null)
 {
     _client      = new MailClient(mailboxHandler, logger);
     _categorizer = new MessageCategorizer(mailboxHandler);
     _mailman     = new Mailman(_client, aliases, mailboxHandler);
     _logger      = logger;
 }
Example #9
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="repo">The main repository</param>
        /// <param name="siteService">The site service</param>
        /// <param name="cache">The optional model cache</param>
        public AliasService(IAliasRepository repo, ISiteService siteService, ICache cache = null)
        {
            _repo        = repo;
            _siteService = siteService;

            if ((int)App.CacheLevel > 1)
            {
                _cache = cache;
            }
        }
        public TenantResolver(IHttpContextAccessor accessor, IAliasRepository aliasRepository, ITenantRepository tenantRepository, SiteState siteState)
        {
            int    aliasId   = -1;
            string aliasName = "";

            // get alias identifier based on request context
            if (accessor.HttpContext != null)
            {
                // check if an alias is passed as a querystring parameter ( for cross tenant access )
                if (accessor.HttpContext.Request.Query.ContainsKey("aliasid"))
                {
                    aliasId = int.Parse(accessor.HttpContext.Request.Query["aliasid"]);
                }
                else // get the alias from the request url
                {
                    aliasName = accessor.HttpContext.Request.Host.Value;
                    string   path     = accessor.HttpContext.Request.Path.Value;
                    string[] segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                    if (segments.Length > 1 && segments[1] == "api" && segments[0] != "~")
                    {
                        aliasName += "/" + segments[0];
                    }

                    if (aliasName.EndsWith("/"))
                    {
                        aliasName = aliasName.Substring(0, aliasName.Length - 1);
                    }
                }
            }
            else // background processes can pass in an alias using the SiteState service
            {
                aliasId = siteState?.Alias?.AliasId ?? -1;
            }

            // get the alias and tenant
            IEnumerable <Alias> aliases = aliasRepository.GetAliases().ToList(); // cached

            if (aliasId != -1)
            {
                _alias = aliases.FirstOrDefault(item => item.AliasId == aliasId);
            }
            else
            {
                _alias = aliases.FirstOrDefault(item => item.Name == aliasName
                                                //if here is only one alias and other methods fail, take it (case of startup install)
                                                || aliases.Count() == 1);
            }

            if (_alias != null)
            {
                IEnumerable <Tenant> tenants = tenantRepository.GetTenants(); // cached
                _tenant = tenants.FirstOrDefault(item => item.TenantId == _alias.TenantId);
            }
        }
Example #11
0
 public AliasService(IAliasRepository repo, ISiteService siteService, ICache cache = null)
 {
     base();
     this._repo        = repo;
     this._siteService = siteService;
     if (App.get_CacheLevel() > 1)
     {
         this._cache = cache;
     }
     return;
 }
Example #12
0
 public InstallationController(IConfigManager configManager, IInstallationManager installationManager, IDatabaseManager databaseManager, ILocalizationManager localizationManager, IMemoryCache cache, IHttpContextAccessor accessor, IAliasRepository aliases, ILogger <InstallationController> filelogger)
 {
     _configManager       = configManager;
     _installationManager = installationManager;
     _databaseManager     = databaseManager;
     _localizationManager = localizationManager;
     _cache      = cache;
     _accessor   = accessor;
     _aliases    = aliases;
     _filelogger = filelogger;
 }
Example #13
0
 public REGISTER(
     IUserRepository userRepository,
     IVariableRepository variableRepository,
     IAliasRepository aliasRepository,
     IInviteCodeRepository inviteCodeRepository
 )
 {
     _userRepository = userRepository;
     _variableRepository = variableRepository;
     _aliasRepository = aliasRepository;
     _inviteCodeRepository = inviteCodeRepository;
 }
Example #14
0
 /// <summary>
 /// Creates a new instance of the API. Ideally this should be created by Ninject to ensure all dependencies are handled appropriately.
 /// Note: A U413Bindings class lives in the U413.Domain.Ninject.BindingModules namespace. Use this when building your Ninject kernel to ensure proper dependency injection.
 ///
 /// Sampel: IKernel kernel = new StandardKernel(new U413Bindings());
 /// </summary>
 /// <param name="commands">A list of all commands available to the application.</param>
 /// <param name="userRepository">The user repository used to retrieve the current user from the database.</param>
 public TerminalApi(
     List <ICommand> commands,
     IUserRepository userRepository,
     IAliasRepository aliasRepository,
     IMessageRepository messageRepository
     )
 {
     _commands            = commands;
     _userRepository      = userRepository;
     _aliasRepository     = aliasRepository;
     _messageRepository   = messageRepository;
     this._commandContext = new CommandContext();
 }
 public HostModel(
     IConfiguration configuration,
     SiteState state,
     IAliasRepository aliases,
     ILocalizationManager localizationManager,
     ILanguageRepository languages)
 {
     _configuration       = configuration;
     _state               = state;
     _aliases             = aliases;
     _localizationManager = localizationManager;
     _languages           = languages;
 }
Example #16
0
 /// <summary>
 /// Creates a new instance of the API. Ideally this should be created by Ninject to ensure all dependencies are handled appropriately.
 /// Note: A U413Bindings class lives in the U413.Domain.Ninject.BindingModules namespace. Use this when building your Ninject kernel to ensure proper dependency injection.
 /// 
 /// Sampel: IKernel kernel = new StandardKernel(new U413Bindings());
 /// </summary>
 /// <param name="commands">A list of all commands available to the application.</param>
 /// <param name="userRepository">The user repository used to retrieve the current user from the database.</param>
 public TerminalApi(
     List<ICommand> commands,
     IUserRepository userRepository,
     IAliasRepository aliasRepository,
     IMessageRepository messageRepository
     )
 {
     _commands = commands;
     _userRepository = userRepository;
     _aliasRepository = aliasRepository;
     _messageRepository = messageRepository;
     this._commandContext = new CommandContext();
 }
Example #17
0
 public HostModel(IConfiguration configuration, ITenantManager tenantManager, ILocalizationManager localizationManager, ILanguageRepository languages, IAntiforgery antiforgery, ISiteRepository sites, IPageRepository pages, IUrlMappingRepository urlMappings, IVisitorRepository visitors, IAliasRepository aliases, ISettingRepository settings)
 {
     _configuration       = configuration;
     _tenantManager       = tenantManager;
     _localizationManager = localizationManager;
     _languages           = languages;
     _antiforgery         = antiforgery;
     _sites       = sites;
     _pages       = pages;
     _urlMappings = urlMappings;
     _visitors    = visitors;
     _aliases     = aliases;
     _settings    = settings;
 }
Example #18
0
 public LactafarmaService(ILogRepository logRepository, ILogger <LactafarmaService> logger,
                          IAlertRepository alertRepository, IFavoriteRepository favoriteRepository,
                          IAliasRepository aliasRepository, IProductRepository productRepository, IBrandRepository brandRepository,
                          IGroupRepository groupRepository, IHttpContextAccessor httpContext)
 {
     _logger             = logger;
     _logRepository      = logRepository;
     _favoriteRepository = favoriteRepository;
     _alertRepository    = alertRepository;
     _aliasRepository    = aliasRepository;
     _productRepository  = productRepository;
     _brandRepository    = brandRepository;
     _groupRepository    = groupRepository;
     _httpContext        = httpContext;
 }
        public TenantResolver(HostContext context, IHttpContextAccessor accessor, IAliasRepository aliasrepository, ITenantRepository tenantrepository)
        {
            db = context;
            _aliasrepository  = aliasrepository;
            _tenantrepository = tenantrepository;

            // get alias based on request context
            aliasname = accessor.HttpContext.Request.Host.Value;
            string path = accessor.HttpContext.Request.Path.Value;

            string[] segments = path.Split('/');
            if (segments[1] != "~")
            {
                aliasname += "/" + segments[1];
            }
        }
Example #20
0
 public AliasesController(
     IAliasRepository aliasRepository,
     IAliasChapterRelRepository aliaschapterrelRepository,
     IAliasPersonRelRepository aliaspersonrelRepository,
     IAliasOrganizationRelRepository aliasOrganizationRelRepository,
     ILookupRepository lookupRepo,
     IPersonRepository personRepo)
 {
     _lookupRepo                     = lookupRepo;
     _aliasRepository                = aliasRepository;
     _aliaschapterrelRepository      = aliaschapterrelRepository;
     _aliaspersonrelRepository       = aliaspersonrelRepository;
     _aliasorganizationrelRepository = aliasOrganizationRelRepository;
     _personRepo                     = personRepo;
     ViewBag.PossiblePrimaryStatus   = _lookupRepo.GetPrimaryStatuses();
 }
Example #21
0
 public Api(IContentFactory contentFactory, IAliasRepository aliasRepository, IArchiveRepository archiveRepository, IMediaRepository mediaRepository, IPageRepository pageRepository, IPageTypeRepository pageTypeRepository, IParamRepository paramRepository, IPostRepository postRepository, IPostTypeRepository postTypeRepository, ISiteRepository siteRepository, ISiteTypeRepository siteTypeRepository, ICache cache = null, IStorage storage = null, IImageProcessor processor = null, ISearch search = null)
 {
     base();
     this._cache = cache;
     this.u003cPageTypesu003ek__BackingField = new PageTypeService(pageTypeRepository, cache);
     this.u003cParamsu003ek__BackingField    = new ParamService(paramRepository, cache);
     this.u003cPostTypesu003ek__BackingField = new PostTypeService(postTypeRepository, cache);
     this.u003cSitesu003ek__BackingField     = new SiteService(siteRepository, contentFactory, cache);
     this.u003cSiteTypesu003ek__BackingField = new SiteTypeService(siteTypeRepository, cache);
     this.u003cAliasesu003ek__BackingField   = new AliasService(aliasRepository, this.get_Sites(), cache);
     this.u003cMediau003ek__BackingField     = new MediaService(mediaRepository, this.get_Params(), storage, processor, cache);
     this.u003cPagesu003ek__BackingField     = new PageService(pageRepository, contentFactory, this.get_Sites(), this.get_Params(), this.get_Media(), cache, search);
     this.u003cPostsu003ek__BackingField     = new PostService(postRepository, contentFactory, this.get_Sites(), this.get_Pages(), this.get_Params(), this.get_Media(), cache, search);
     this.u003cArchivesu003ek__BackingField  = new ArchiveService(archiveRepository, this.get_Params(), this.get_Posts());
     return;
 }
Example #22
0
        public TenantResolver(MasterDBContext context, IHttpContextAccessor accessor, IAliasRepository aliasrepository, ITenantRepository tenantrepository)
        {
            db = context;
            _aliasrepository  = aliasrepository;
            _tenantrepository = tenantrepository;

            // get alias based on request context
            aliasname = accessor.HttpContext.Request.Host.Value;
            string path = accessor.HttpContext.Request.Path.Value;

            string[] segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
            if (segments.Length > 0 && segments[0] == "api" && segments[1] != "~")
            {
                aliasname += "/" + segments[1];
            }
            if (aliasname.EndsWith("/"))
            {
                aliasname = aliasname.Substring(0, aliasname.Length - 1);
            }
        }
Example #23
0
        private static IAliasRepository SetupAzureStorageAliasRepository()
        {
            IAliasRepository aliasRepository = null;

            try
            {
                var connectionStringSetting = ConfigurationManager.ConnectionStrings["AzureStorage"];
                if (connectionStringSetting != null &&
                    !String.IsNullOrWhiteSpace(connectionStringSetting.ConnectionString))
                {
                    var azureStorageRepo = new AzureTableAliasRepository(connectionStringSetting.ConnectionString);
                    aliasRepository = azureStorageRepo;
                    SetupLockUrlMinutes(azureStorageRepo);
                }
            }
            catch (Exception exception)
            {
                //log.Error("Failed to connect to Azure Storage for persistent short URLs", exception);
                Trace.TraceError("Failed to connect to Azure Storage for persistent short URLs. Exception: {0}",
                                 exception);
            }
            return(aliasRepository);
        }
        public TenantResolver(MasterDBContext context, IHttpContextAccessor accessor, IAliasRepository Aliases, ITenantRepository Tenants)
        {
            db           = context;
            this.Aliases = Aliases;
            this.Tenants = Tenants;
            aliasname    = "";

            // get alias based on request context
            if (accessor.HttpContext != null)
            {
                aliasname = accessor.HttpContext.Request.Host.Value;
                string   path     = accessor.HttpContext.Request.Path.Value;
                string[] segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                if (segments.Length > 1 && segments[1] == "api" && segments[0] != "~")
                {
                    aliasname += "/" + segments[0];
                }
                if (aliasname.EndsWith("/"))
                {
                    aliasname = aliasname.Substring(0, aliasname.Length - 1);
                }
            }
        }
Example #25
0
        public TenantResolver(IHttpContextAccessor accessor, IAliasRepository aliasRepository, ITenantRepository tenantRepository, SiteState siteState)
        {
            int aliasId = -1;

            if (siteState != null && siteState.Alias != null)
            {
                // background processes can pass in an alias using the SiteState service
                _alias = siteState.Alias;
            }
            else
            {
                // get aliasid identifier based on request
                if (accessor.HttpContext != null)
                {
                    string[] segments = accessor.HttpContext.Request.Path.Value.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                    if (segments.Length > 1 && (segments[1] == "api" || segments[1] == "pages") && segments[0] != "~")
                    {
                        aliasId = int.Parse(segments[0]);
                    }
                }

                // get the alias
                IEnumerable <Alias> aliases = aliasRepository.GetAliases().ToList(); // cached
                if (aliasId != -1)
                {
                    _alias = aliases.FirstOrDefault(item => item.AliasId == aliasId);
                }
            }

            if (_alias != null)
            {
                // get the tenant
                IEnumerable <Tenant> tenants = tenantRepository.GetTenants(); // cached
                _tenant = tenants.FirstOrDefault(item => item.TenantId == _alias.TenantId);
            }
        }
Example #26
0
 public ActivationModel(IAliasRepository aliases)
 {
     _aliases = aliases;
 }
Example #27
0
 public ALIAS(IAliasRepository aliasRepository)
 {
     _aliasRepository = aliasRepository;
 }
Example #28
0
 public UrlShortener(string baseUrl, IAliasRepository repository, IHashScheme hashScheme)
     : this(baseUrl, repository, hashScheme, new WebClientUrlUnwrapper())
 {
 }
Example #29
0
 public AliasController(IAliasRepository repository)
 {
     _repository = repository;
 }
 public UpgradeManager(IAliasRepository aliases, IServiceScopeFactory serviceScopeFactory, IWebHostEnvironment environment)
 {
     _aliases             = aliases;
     _serviceScopeFactory = serviceScopeFactory;
     _environment         = environment;
 }
 public AliasController(IAliasRepository Aliases)
 {
     aliases = Aliases;
 }
Example #32
0
 public SignUpModel(IMailDomainRepository domains, IAliasRepository aliases)
 {
     _domains = domains;
     _aliases = aliases;
 }
Example #33
0
 public AliasController(IAliasRepository Aliases, ILogManager logger)
 {
     this.Aliases = Aliases;
     this.logger  = logger;
 }