mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-25 19:15:18 +02:00
Merge pull request #397 from MODSetter/dev
refactor: updated SearxNG connector migration and fixed validation for SearxNG host URL
This commit is contained in:
commit
30b8852ba7
4 changed files with 16 additions and 15 deletions
|
|
@ -1,7 +1,7 @@
|
|||
"""Add SearxNG connector enum value
|
||||
|
||||
Revision ID: 26
|
||||
Revises: 25
|
||||
Revision ID: 27
|
||||
Revises: 26
|
||||
Create Date: 2025-01-18 00:00:00.000000
|
||||
|
||||
"""
|
||||
|
|
@ -11,8 +11,8 @@ from collections.abc import Sequence
|
|||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "26"
|
||||
down_revision: str | None = "25"
|
||||
revision: str = "27"
|
||||
down_revision: str | None = "26"
|
||||
branch_labels: str | Sequence[str] | None = None
|
||||
depends_on: str | Sequence[str] | None = None
|
||||
|
||||
|
|
@ -39,4 +39,3 @@ def upgrade() -> None:
|
|||
def downgrade() -> None:
|
||||
"""Downgrade not supported for enum edits."""
|
||||
pass
|
||||
|
||||
|
|
@ -432,7 +432,7 @@ class ConnectorService:
|
|||
safesearch_clean = safesearch.strip()
|
||||
if safesearch_clean.isdigit():
|
||||
safesearch_value = int(safesearch_clean)
|
||||
elif isinstance(safesearch, (int, float)):
|
||||
elif isinstance(safesearch, int | float):
|
||||
safesearch_value = int(safesearch)
|
||||
|
||||
if safesearch_value is not None and not (0 <= safesearch_value <= 2):
|
||||
|
|
@ -444,7 +444,7 @@ class ConnectorService:
|
|||
if isinstance(value, str):
|
||||
value = value.strip()
|
||||
return value or None
|
||||
if isinstance(value, (list, tuple, set)):
|
||||
if isinstance(value, list | tuple | set):
|
||||
cleaned = [str(item).strip() for item in value if str(item).strip()]
|
||||
return ",".join(cleaned) if cleaned else None
|
||||
return str(value)
|
||||
|
|
|
|||
|
|
@ -412,7 +412,7 @@ def validate_connector_config(
|
|||
raise ValueError(f"Invalid email format for {connector_name} connector")
|
||||
|
||||
def validate_url_field(key: str, connector_name: str) -> None:
|
||||
if not validators.url(config.get(key, "")):
|
||||
if not validators.url(config.get(key, "").strip(), simple_host=True):
|
||||
raise ValueError(f"Invalid base URL format for {connector_name} connector")
|
||||
|
||||
def validate_list_field(key: str, field_name: str) -> None:
|
||||
|
|
@ -435,9 +435,7 @@ def validate_connector_config(
|
|||
"SEARXNG_VERIFY_SSL",
|
||||
],
|
||||
"validators": {
|
||||
"SEARXNG_HOST": lambda: validate_url_field(
|
||||
"SEARXNG_HOST", "SearxNG"
|
||||
)
|
||||
"SEARXNG_HOST": lambda: validate_url_field("SEARXNG_HOST", "SearxNG")
|
||||
},
|
||||
},
|
||||
"LINKUP_API": {"required": ["LINKUP_API_KEY"], "validators": {}},
|
||||
|
|
|
|||
|
|
@ -258,7 +258,9 @@ export default function SearxngConnectorPage() {
|
|||
<FormControl>
|
||||
<Input placeholder="google,bing,duckduckgo" {...field} />
|
||||
</FormControl>
|
||||
<FormDescription>Comma-separated list to target specific engines.</FormDescription>
|
||||
<FormDescription>
|
||||
Comma-separated list to target specific engines.
|
||||
</FormDescription>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
|
|
@ -273,7 +275,9 @@ export default function SearxngConnectorPage() {
|
|||
<FormControl>
|
||||
<Input placeholder="general,it,science" {...field} />
|
||||
</FormControl>
|
||||
<FormDescription>Comma-separated list of SearxNG categories.</FormDescription>
|
||||
<FormDescription>
|
||||
Comma-separated list of SearxNG categories.
|
||||
</FormDescription>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
|
|
@ -308,8 +312,8 @@ export default function SearxngConnectorPage() {
|
|||
<Input placeholder="0 (off), 1 (moderate), 2 (strict)" {...field} />
|
||||
</FormControl>
|
||||
<FormDescription>
|
||||
Set 0, 1, or 2 to adjust SafeSearch filtering. Leave blank to use the instance
|
||||
default.
|
||||
Set 0, 1, or 2 to adjust SafeSearch filtering. Leave blank to use the
|
||||
instance default.
|
||||
</FormDescription>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue