diff --git a/src/backend/core/services/converter_services.py b/src/backend/core/services/converter_services.py index 89f47e65..d140d10f 100644 --- a/src/backend/core/services/converter_services.py +++ b/src/backend/core/services/converter_services.py @@ -31,7 +31,7 @@ class YdocConverter: @property def auth_header(self): """Build microservice authentication header.""" - return settings.CONVERSION_API_KEY + return settings.Y_PROVIDER_API_KEY def convert_markdown(self, text): """Convert a Markdown text into our internal format using an external microservice.""" @@ -41,7 +41,7 @@ class YdocConverter: try: response = requests.post( - settings.CONVERSION_API_URL, + f"{settings.Y_PROVIDER_API_BASE_URL}{settings.CONVERSION_API_ENDPOINT}/", json={ "content": text, }, diff --git a/src/backend/core/tests/test_services_converter_services.py b/src/backend/core/tests/test_services_converter_services.py index 7911e368..d65beed6 100644 --- a/src/backend/core/tests/test_services_converter_services.py +++ b/src/backend/core/tests/test_services_converter_services.py @@ -16,7 +16,7 @@ from core.services.converter_services import ( def test_auth_header(settings): """Test authentication header generation.""" - settings.CONVERSION_API_KEY = "test-key" + settings.Y_PROVIDER_API_KEY = "test-key" converter = YdocConverter() assert converter.auth_header == "test-key" @@ -97,8 +97,9 @@ def test_convert_markdown_missing_content_field(mock_post, settings): def test_convert_markdown_full_integration(mock_post, settings): """Test full integration with all settings.""" - settings.CONVERSION_API_URL = "http://test.com" - settings.CONVERSION_API_KEY = "test-key" + settings.Y_PROVIDER_API_BASE_URL = "http://test.com/" + settings.Y_PROVIDER_API_KEY = "test-key" + settings.CONVERSION_API_ENDPOINT = "conversion-endpoint" settings.CONVERSION_API_TIMEOUT = 5 settings.CONVERSION_API_CONTENT_FIELD = "content" @@ -113,7 +114,7 @@ def test_convert_markdown_full_integration(mock_post, settings): assert result == expected_content mock_post.assert_called_once_with( - "http://test.com", + "http://test.com/conversion-endpoint/", json={"content": "test markdown"}, headers={ "Authorization": "test-key", diff --git a/src/backend/impress/settings.py b/src/backend/impress/settings.py index e403b148..b5789dc8 100755 --- a/src/backend/impress/settings.py +++ b/src/backend/impress/settings.py @@ -505,13 +505,21 @@ class Base(Configuration): "day": 200, } - # Conversion microservice - CONVERSION_API_KEY = values.Value( - environ_name="CONVERSION_API_KEY", + # Y provider microservice + # Note: Be careful, this value is currently the same as in the collaboration service. + Y_PROVIDER_API_KEY = values.Value( + environ_name="Y_PROVIDER_API_KEY", environ_prefix=None, ) - CONVERSION_API_URL = values.Value( - environ_name="CONVERSION_API_URL", + Y_PROVIDER_API_BASE_URL = values.Value( + environ_name="Y_PROVIDER_API_BASE_URL", + environ_prefix=None, + ) + + # Conversion endpoint + CONVERSION_API_ENDPOINT = values.Value( + default="convert-markdown", + environ_name="CONVERSION_API_ENDPOINT", environ_prefix=None, ) CONVERSION_API_CONTENT_FIELD = values.Value( diff --git a/src/helm/env.d/dev/values.impress.yaml.gotmpl b/src/helm/env.d/dev/values.impress.yaml.gotmpl index 650122da..d49cd4a6 100644 --- a/src/helm/env.d/dev/values.impress.yaml.gotmpl +++ b/src/helm/env.d/dev/values.impress.yaml.gotmpl @@ -51,8 +51,8 @@ backend: AWS_S3_SECRET_ACCESS_KEY: password AWS_STORAGE_BUCKET_NAME: impress-media-storage STORAGES_STATICFILES_BACKEND: django.contrib.staticfiles.storage.StaticFilesStorage - CONVERSION_API_URL: http://impress-y-provider:443/api/convert-markdown/ - CONVERSION_API_KEY: my-secret + Y_PROVIDER_API_BASE_URL: http://impress-y-provider:443/api/ + Y_PROVIDER_API_KEY: my-secret migrate: command: