File tree Expand file tree Collapse file tree 5 files changed +34
-53
lines changed
Expand file tree Collapse file tree 5 files changed +34
-53
lines changed Original file line number Diff line number Diff line change 88from handlers .handler_logging import logger
99from handlers .handler_server import server_app
1010
11- if __name__ == "__main__" :
11+
12+ def main () -> None :
13+ """
14+ Основная функция запуска приложения
15+ """
1216 logger .info (f"🚀 Сервер запускается (v.{ settings .VERSION } )" )
1317 logger .info (f"📍 Хост: { settings .HOST } , Порт: { settings .PORT } " )
1418 logger .info (f"🌐 WEBHOOK_HOST: { settings .WEBHOOK_HOST or 'не установлен' } " )
1519
1620 ssl_keyfile = settings .SSL_KEY_PATH
1721 ssl_certfile = settings .SSL_CERT_PATH
18- SSL_ENABLED = False
22+ ssl_enabled = False
1923
2024 if settings .SSL_ENABLED :
2125 if os .path .exists (ssl_keyfile ) and os .path .exists (ssl_certfile ):
22- SSL_ENABLED = True
26+ ssl_enabled = True
2327 logger .success ("🔐 SSL сертификаты найдены, запуск с HTTPS" )
2428 else :
2529 logger .warning ("⚠️ SSL сертификаты не найдены, запуск с HTTP" )
3034 port = settings .PORT ,
3135 log_level = settings .LOG_LEVEL ,
3236 access_log = True ,
33- ssl_keyfile = ssl_keyfile if SSL_ENABLED else None ,
34- ssl_certfile = ssl_certfile if SSL_ENABLED else None ,
37+ ssl_keyfile = ssl_keyfile if ssl_enabled else None ,
38+ ssl_certfile = ssl_certfile if ssl_enabled else None ,
3539 )
40+
41+
42+ if __name__ == "__main__" :
43+ main ()
Original file line number Diff line number Diff line change 1- from pydantic import BaseModel
1+ """Модели данных для досок NextCloud Deck"""
2+
23from typing import Dict , List , Optional , Union
34
4- # TODO: Референсные данные - удалить после тестов
5- # "title": "Board title",
6- # "owner": {
7- # "primaryKey": "admin",
8- # "uid": "admin",
9- # "displayname": "Administrator"
10- # },
11- # "color": "ff0000",
12- # "archived": false,
13- # "labels": [],
14- # "acl": [],
15- # "permissions": {
16- # "PERMISSION_READ": true,
17- # "PERMISSION_EDIT": true,
18- # "PERMISSION_MANAGE": true,
19- # "PERMISSION_SHARE": true
20- # },
21- # "users": [],
22- # "shared": 0,
23- # "deletedAt": 0,
24- # "id": 10,
25- # "lastModified": 1586269585,
26- # "settings": {
27- # "notify-due": "off",
28- # "calendar": true
5+ from pydantic import BaseModel
296
307
318class Owner (BaseModel ):
9+ """Модель владельца доски"""
10+
3211 primaryKey : str
3312 uid : str
3413 displayname : str
3514
3615
3716class Permissions (BaseModel ):
17+ """Модель разрешений доски"""
18+
3819 PERMISSION_READ : bool
3920 PERMISSION_EDIT : bool
4021 PERMISSION_MANAGE : bool
4122 PERMISSION_SHARE : bool
4223
4324
4425class Settings (BaseModel ):
26+ """Модель настроек доски"""
27+
4528 notify_due : str
4629 calendar : bool
4730
4831
4932class ModelBoard (BaseModel ):
33+ """Основная модель доски"""
34+
5035 title : str
5136 owner : Owner
5237 color : str
Original file line number Diff line number Diff line change 1+ """Модели данных для стеков NextCloud Deck"""
2+
13from typing import List , Optional
24
35from pydantic import BaseModel
46
5- # "title": "ToDo",
6- # "boardId": 2,
7- # "deletedAt": 0,
8- # "lastModified": 1541426139,
9- # "cards": [...],
10- # "order": 999,
11- # "id": 4
12-
137
148class ModelStack (BaseModel ):
9+ """Модель стека карточек"""
10+
1511 title : str
1612 boardId : int
1713 deletedAt : int
Original file line number Diff line number Diff line change 1+ """Базовые API эндпоинты приложения"""
2+
13from fastapi import APIRouter
24
35# Создаем роутер для базовых API эндпоинтов
Original file line number Diff line number Diff line change 1+ """Роуты для обработки вебхуков Telegram"""
2+
13from fastapi import APIRouter , Request
2- from handlers . handler_logging import logger
4+
35from handlers .handler_bot import process_update
6+ from handlers .handler_logging import logger
47
5- # Создаем роутер для вебхука
68webhook_router = APIRouter (tags = ["webhook" ])
7-
8- # Простой путь без токена
99WEBHOOK_PATH = "/webhook"
1010
1111
@@ -19,13 +19,3 @@ async def telegram_webhook(update: Request):
1919 except Exception as e :
2020 logger .error (f"Ошибка обработки вебхука: { e } " )
2121 return {"ok" : False , "error" : str (e )}
22-
23-
24- @webhook_router .get (WEBHOOK_PATH )
25- async def webhook_debug ():
26- """Отладочная ручка для проверки вебхука"""
27- return {
28- "message" : "Webhook endpoint is active" ,
29- "path" : WEBHOOK_PATH ,
30- "method" : "Use POST for Telegram webhooks" ,
31- }
You can’t perform that action at this time.
0 commit comments