All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m5s
Combines shared, blog, market, cart, events, federation, and account into a single repository. Eliminates submodule sync, sibling model copying at build time, and per-app CI orchestration. Changes: - Remove per-app .git, .gitmodules, .gitea, submodule shared/ dirs - Remove stale sibling model copies from each app - Update all 6 Dockerfiles for monorepo build context (root = .) - Add build directives to docker-compose.yml - Add single .gitea/workflows/ci.yml with change detection - Add .dockerignore for monorepo build context - Create __init__.py for federation and account (cross-app imports)
24 lines
786 B
Python
24 lines
786 B
Python
from __future__ import annotations
|
|
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from shared.events import register_activity_handler
|
|
from shared.models.federation import APActivity
|
|
from shared.services.registry import services
|
|
|
|
|
|
async def on_user_logged_in(activity: APActivity, session: AsyncSession) -> None:
|
|
data = activity.object_data
|
|
user_id = data["user_id"]
|
|
session_id = data["session_id"]
|
|
|
|
if services.has("cart"):
|
|
await services.cart.adopt_cart_for_user(session, user_id, session_id)
|
|
|
|
if services.has("calendar"):
|
|
await services.calendar.adopt_entries_for_user(session, user_id, session_id)
|
|
await services.calendar.adopt_tickets_for_user(session, user_id, session_id)
|
|
|
|
|
|
register_activity_handler("rose:Login", on_user_logged_in)
|