- Создана система отслеживания миграций (MigrationRepository, таблица migrations) - Добавлен скрипт apply_migrations.py для автоматического применения миграций - Созданы CI/CD пайплайны (.github/workflows/ci.yml, deploy.yml) - Обновлена документация по миграциям в database-patterns.md - Миграции применяются автоматически при деплое в продакшн
28 lines
780 B
Python
28 lines
780 B
Python
from typing import Callable
|
|
|
|
from aiogram import Bot
|
|
from aiogram.client.default import DefaultBotProperties
|
|
from aiogram.fsm.context import FSMContext
|
|
from helper_bot.utils.base_dependency_factory import get_global_instance
|
|
|
|
from .services import BanService, PostPublishService
|
|
|
|
|
|
def get_post_publish_service() -> PostPublishService:
|
|
"""Фабрика для PostPublishService"""
|
|
bdf = get_global_instance()
|
|
|
|
db = bdf.get_db()
|
|
settings = bdf.settings
|
|
s3_storage = bdf.get_s3_storage()
|
|
return PostPublishService(None, db, settings, s3_storage)
|
|
|
|
|
|
def get_ban_service() -> BanService:
|
|
"""Фабрика для BanService"""
|
|
bdf = get_global_instance()
|
|
|
|
db = bdf.get_db()
|
|
settings = bdf.settings
|
|
return BanService(None, db, settings)
|