refactor: step 2 - extract domain services (tasks, prompts, snapshots, knowledge)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""
|
||||
===============================================================================
|
||||
FILE: services/knowledge/service.py
|
||||
PROJECT: SCUD Orion AI (Unified Architecture)
|
||||
MODULE: services / knowledge
|
||||
ROLE: Доменный сервис базы знаний, правил компании и синонимов подразделений.
|
||||
===============================================================================
|
||||
"""
|
||||
|
||||
from typing import List, Dict, Any
|
||||
from core.repositories.zup_repo import (
|
||||
get_all_rules_from_db,
|
||||
add_rule_to_db,
|
||||
get_department_synonyms_dict,
|
||||
add_department_synonym_to_db
|
||||
)
|
||||
|
||||
|
||||
def get_rules() -> List[Dict[str, Any]]:
|
||||
"""Получить все правила базы знаний в виде списка словарей."""
|
||||
raw_rules = get_all_rules_from_db()
|
||||
return [{"id": idx, "rule_text": r} for idx, r in enumerate(raw_rules, 1)]
|
||||
|
||||
|
||||
def add_rule(rule_text: str, added_by: str = "Human") -> None:
|
||||
"""Добавить новое правило в базу знаний."""
|
||||
add_rule_to_db(rule_text, added_by=added_by)
|
||||
|
||||
|
||||
def get_synonyms() -> Dict[str, str]:
|
||||
"""Получить словарь синонимов отделов."""
|
||||
return get_department_synonyms_dict()
|
||||
|
||||
|
||||
def register_department_synonym(short_name: str, full_name: str) -> None:
|
||||
"""Сохранить новую пару синонимов подразделения."""
|
||||
add_department_synonym_to_db(short_name, full_name)
|
||||
Reference in New Issue
Block a user