from typing import TYPE_CHECKING
if TYPE_CHECKING:
from render import Render
try:
from .deps_chromadb import ChromaContainer, ChromaConfig
from .deps_cron import CronContainer, CronConfig
from .deps_elastic import ElasticSearchContainer, ElasticConfig
from .deps_guacd import GuacdContainer, GuacdConfig
from .deps_mariadb import MariadbContainer, MariadbConfig
from .deps_meilisearch import MeilisearchContainer, MeiliConfig
from .deps_memcached import MemcachedContainer, MemcachedConfig
from .deps_mongodb import MongoDBContainer, MongoDBConfig
from .deps_perms import PermsContainer
from .deps_postgres import PostgresContainer, PostgresConfig
from .deps_redis import RedisContainer, RedisConfig
from .deps_solr import SolrContainer, SolrConfig
from .deps_tika import TikaContainer, TikaConfig
except ImportError:
from deps_chromadb import ChromaContainer, ChromaConfig
from deps_cron import CronContainer, CronConfig
from deps_elastic import ElasticSearchContainer, ElasticConfig
from deps_guacd import GuacdContainer, GuacdConfig
from deps_mariadb import MariadbContainer, MariadbConfig
from deps_meilisearch import MeilisearchContainer, MeiliConfig
from deps_memcached import MemcachedContainer, MemcachedConfig
from deps_mongodb import MongoDBContainer, MongoDBConfig
from deps_perms import PermsContainer
from deps_postgres import PostgresContainer, PostgresConfig
from deps_redis import RedisContainer, RedisConfig
from deps_solr import SolrContainer, SolrConfig
from deps_tika import TikaContainer, TikaConfig
class Deps:
def __init__(self, render_instance: "Render"):
self._render_instance = render_instance
def perms(self, name: str):
return PermsContainer(self._render_instance, name)
def postgres(self, name: str, image: str, config: PostgresConfig, perms_instance: PermsContainer):
return PostgresContainer(self._render_instance, name, image, config, perms_instance)
def redis(self, name: str, image: str, config: RedisConfig, perms_instance: PermsContainer):
return RedisContainer(self._render_instance, name, image, config, perms_instance)
def mariadb(self, name: str, image: str, config: MariadbConfig, perms_instance: PermsContainer):
return MariadbContainer(self._render_instance, name, image, config, perms_instance)
def mongodb(self, name: str, image: str, config: MongoDBConfig, perms_instance: PermsContainer):
return MongoDBContainer(self._render_instance, name, image, config, perms_instance)
def meilisearch(self, name: str, image: str, config: MeiliConfig, perms_instance: PermsContainer):
return MeilisearchContainer(self._render_instance, name, image, config, perms_instance)
def elasticsearch(self, name: str, image: str, config: ElasticConfig, perms_instance: PermsContainer):
return ElasticSearchContainer(self._render_instance, name, image, config, perms_instance)
def solr(self, name: str, image: str, config: SolrConfig, perms_instance: PermsContainer):
return SolrContainer(self._render_instance, name, image, config, perms_instance)
def tika(self, name: str, image: str, config: TikaConfig):
return TikaContainer(self._render_instance, name, image, config)
def memcached(self, name: str, image: str, config: MemcachedConfig):
return MemcachedContainer(self._render_instance, name, image, config)
def guacd(self, name: str, image: str, config: GuacdConfig):
return GuacdContainer(self._render_instance, name, image, config)
def cron(self, name: str, image: str, config: CronConfig):
return CronContainer(self._render_instance, name, image, config)
def chromadb(self, name: str, image: str, config: ChromaConfig, perms_instance: PermsContainer):
return ChromaContainer(self._render_instance, name, image, config, perms_instance)