Ejemplo n.º 1
0
        public void HandleAsync(ApiKeyChangedEvent message)
        {
            var enabledApps = _applicationsFactory.SyncEnabled();

            var indexers = _indexerFactory.AllProviders().Select(i => (IndexerDefinition)i.Definition).ToList();

            SyncIndexers(enabledApps, indexers, true);
        }
Ejemplo n.º 2
0
        public IActionResult SaveAll(IndexerEditorResource resource)
        {
            var indexersToUpdate = _indexerService.AllProviders(false).Select(x => (IndexerDefinition)x.Definition).Where(d => resource.IndexerIds.Contains(d.Id));

            foreach (var indexer in indexersToUpdate)
            {
                if (resource.Enable.IsNotNullOrWhiteSpace())
                {
                    indexer.Enable = bool.Parse(resource.Enable);
                }

                if (resource.AppProfileId.HasValue)
                {
                    indexer.AppProfileId = resource.AppProfileId.Value;
                }

                if (resource.Tags != null)
                {
                    var newTags   = resource.Tags;
                    var applyTags = resource.ApplyTags;

                    switch (applyTags)
                    {
                    case ApplyTags.Add:
                        newTags.ForEach(t => indexer.Tags.Add(t));
                        break;

                    case ApplyTags.Remove:
                        newTags.ForEach(t => indexer.Tags.Remove(t));
                        break;

                    case ApplyTags.Replace:
                        indexer.Tags = new HashSet <int>(newTags);
                        break;
                    }
                }
            }

            _indexerService.Update(indexersToUpdate);

            var indexers = _indexerService.All();

            foreach (var definition in indexers)
            {
                _indexerService.SetProviderCharacteristics(definition);
            }

            return(Accepted(_resourceMapper.ToResource(indexers)));
        }
        public override HealthCheck Check()
        {
            var blocklist = _indexerDefinitionUpdateService.GetBlocklist();

            var oldIndexers = _indexerFactory.AllProviders(false)
                              .Where(i => i.IsObsolete() || (i.Definition.Implementation == "Cardigann" && blocklist.Contains(((CardigannSettings)i.Definition.Settings).DefinitionFile))).ToList();

            if (oldIndexers.Count == 0)
            {
                return(new HealthCheck(GetType()));
            }

            var healthType    = HealthCheckResult.Warning;
            var healthMessage = string.Format(_localizationService.GetLocalizedString("IndexerObsoleteCheckMessage"),
                                              string.Join(", ", oldIndexers.Select(v => v.Definition.Name)));

            return(new HealthCheck(GetType(),
                                   healthType,
                                   healthMessage,
                                   "#indexers-are-obsolete"));
        }
Ejemplo n.º 4
0
        public override HealthCheck Check()
        {
            var currentDefs = _indexerDefinitionUpdateService.All();

            var noDefIndexers = _indexerFactory.AllProviders(false)
                                .Where(i => i.Definition.Implementation == "Cardigann" && !currentDefs.Any(d => d.File == ((CardigannSettings)i.Definition.Settings).DefinitionFile)).ToList();

            if (noDefIndexers.Count == 0)
            {
                return(new HealthCheck(GetType()));
            }

            var healthType    = HealthCheckResult.Error;
            var healthMessage = string.Format(_localizationService.GetLocalizedString("IndexerNoDefCheckMessage"),
                                              string.Join(", ", noDefIndexers.Select(v => v.Definition.Name)));

            return(new HealthCheck(GetType(),
                                   healthType,
                                   healthMessage,
                                   "#indexers-have-no-definition"));
        }