selfprivacy-rest-api/selfprivacy_api/services/__init__.py

44 lines
1.2 KiB
Python

"""Services module."""
import typing
from selfprivacy_api.services.bitwarden import Bitwarden
from selfprivacy_api.services.gitea import Gitea
from selfprivacy_api.services.mailserver import MailServer
from selfprivacy_api.services.nextcloud import Nextcloud
from selfprivacy_api.services.pleroma import Pleroma
from selfprivacy_api.services.ocserv import Ocserv
from selfprivacy_api.services.service import Service
services: list[Service] = [
Bitwarden(),
Gitea(),
MailServer(),
Nextcloud(),
Pleroma(),
Ocserv(),
]
def get_all_services() -> typing.List[Service]:
return services
def get_service_by_id(service_id: str) -> typing.Optional[Service]:
for service in services:
if service.get_id() == service_id:
return service
return None
def get_enabled_services() -> typing.List[Service]:
return [service for service in services if service.is_enabled()]
def get_disabled_services() -> typing.List[Service]:
return [service for service in services if not service.is_enabled()]
def get_services_by_location(location: str) -> typing.List[Service]:
return [service for service in services if service.get_location() == location]