refactor: region from document, not app config

- Add region column to leaudit_documents + LeauditDocument model
- AuditServiceImpl: read region from document.region, not APP_REGION
- RuleServiceImpl: ListBindings/CreateBinding accept Region parameter
- RuleBindingCreateDTO: add region field
- RuleController: pass region from query param/DTO to service
- APP_REGION removed from binding queries; region flows from document

Region is now per-document: each document carries its region at upload
time, and rules are matched to the document's region at run time.
This commit is contained in:
wren
2026-04-28 14:19:29 +08:00
parent e80e8febd8
commit c776af598a
6 changed files with 65 additions and 15 deletions
@@ -6,7 +6,6 @@
from datetime import datetime
from fastapi_admin.config import APP_REGION
from fastapi_common.fastapi_common_logger import logger
from fastapi_common.fastapi_common_sqlalchemy.database import GetAsyncSession
from fastapi_common.fastapi_common_web.domain.responses import StatusCodeEnum
@@ -78,7 +77,7 @@ class AuditServiceImpl(IAuditService):
LIMIT 1
"""
),
{"doc_type_id": document.typeId, "region": APP_REGION},
{"doc_type_id": document.typeId, "region": document.region},
)
binding = bindingResult.mappings().first()
if not binding or not binding["rule_set_id"] or not binding["rule_version_id"]: