/
dmitry.kovalenkov
/
webcc
Обзор
Документация
Войти
/
dmitry.kovalenkov
/
webcc
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
admin/db.py
93 строки
4 KB
dmkovalenkov
update
27 апр 2026, 21:13
27 апр 2026, 21:13
e6bfd88
Код
Авторство
О чём код?
""" Заглушки для работы с БД (Oracle). Замените тела функций на реальные запросы. """ from datetime import datetime from typing import Optional, List # ── GROUPS ─────────────────────────────────────────────────────────── def list_groups(): """SELECT * FROM GROUPS ORDER BY ID""" # ЗАГЛУШКА return [ {"id": 1, "name": "Группа А", "description": "Операторы колл-центра", "created_at": datetime(2025, 1, 1)}, {"id": 2, "name": "Группа Б", "description": "Выездные агенты", "created_at": datetime(2025, 2, 1)}, ] def get_group_by_id(group_id: int): """SELECT * FROM GROUPS WHERE ID = :group_id""" # ЗАГЛУШКА return {"id": group_id, "name": "Группа А", "description": "Описание", "created_at": datetime(2025, 1, 1)} def create_group(name: str, description: Optional[str]): """INSERT INTO GROUPS (NAME, DESCRIPTION) VALUES (:name, :description) RETURNING ID""" # ЗАГЛУШКА return {"id": 10, "name": name, "description": description, "created_at": datetime.utcnow()} def update_group(group_id: int, fields: dict): """UPDATE GROUPS SET ... WHERE ID = :group_id""" # ЗАГЛУШКА group = get_group_by_id(group_id) if group is None: return None group.update(fields) return group # ── USER_GROUPS ─────────────────────────────────────────────────────── def get_group_members(group_id: int): """ SELECT ug.USER_ID, ug.ROLE_IN_GROUP, u.USERNAME, u.EMAIL FROM USER_GROUPS ug JOIN USERS u ON u.ID = ug.USER_ID WHERE ug.GROUP_ID = :group_id """ # ЗАГЛУШКА return [ {"user_id": 2, "username": "operator1", "email": "op1@example.com", "role_in_group": "operator"}, {"user_id": 3, "username": "supervisor1", "email": "sup@example.com", "role_in_group": "supervisor"}, ] def set_group_members(group_id: int, members: List[dict]): """ DELETE FROM USER_GROUPS WHERE GROUP_ID = :group_id; INSERT INTO USER_GROUPS (GROUP_ID, USER_ID, ROLE_IN_GROUP) VALUES ... members = [{"user_id": int, "role_in_group": "operator"|"supervisor"}, ...] """ # ЗАГЛУШКА return True # ── GROUP_SCENARIOS ─────────────────────────────────────────────────── def get_group_scenarios(group_id: int): """SELECT SCENARIO_ID FROM GROUP_SCENARIOS WHERE GROUP_ID = :group_id""" # ЗАГЛУШКА return [{"scenario_id": 1}, {"scenario_id": 2}] def set_group_scenarios(group_id: int, scenario_ids: List[int]): """ DELETE FROM GROUP_SCENARIOS WHERE GROUP_ID = :group_id; INSERT INTO GROUP_SCENARIOS (GROUP_ID, SCENARIO_ID) VALUES ... """ # ЗАГЛУШКА return True # ── USERS (read-only для Admin) ─────────────────────────────────────── def list_users(role: Optional[str] = None, status: Optional[str] = None): """SELECT * FROM USERS WHERE ROLE = :role AND STATUS = :status""" # ЗАГЛУШКА return [ {"id": 1, "username": "admin", "email": "admin@example.com", "role": "admin", "status": "active", "created_at": datetime(2025, 1, 1)}, {"id": 2, "username": "operator1", "email": "op1@example.com", "role": "operator", "status": "active", "created_at": datetime(2025, 1, 15)}, ]