"""Model for ows-project-manager.""" from typing import Any import config import requests from lambdacommon.common_config import logger from src.constants import urls def get_project_document(project_id: int) -> dict[str, Any]: """Get information about project from ows-project-manager. Args: project_id (int): project id. Returns: dict: information about project. """ result: dict[str, Any] = {} if not project_id: return result url = urls.SERVICE_URL.format( environment=config.ENVIRONMENT, service_name=urls.OWS_PROJECT_SERVICE_NAME, path=urls.OWS_PROJECT_DOCUMENT_ENDPOINT.format(project_id), ) response = requests.get(url) if response.status_code not in (200, 404): logger.exception("Failed to get project information from ows-project-manager.") raise Exception(urls.OWS_PROJECT_ERROR) if response.status_code == 200: result = response.json() return result