#!/usr/bin/env bash set -euo pipefail REPO="services/profiles/src/app/repositories/profile_repository.py" SRV="services/profiles/src/app/services/profile_service.py" mkdir -p "$(dirname "$REPO")" "$(dirname "$SRV")" cat > "$REPO" <<'PY' from typing import Optional from uuid import UUID from sqlalchemy.orm import Session from sqlalchemy import select from app.models.profile import Profile from app.schemas.profile import ProfileCreate class ProfileRepository: def __init__(self, db: Session): self.db = db def get_by_user(self, user_id: UUID) -> Optional[Profile]: return self.db.execute(select(Profile).where(Profile.user_id == user_id)).scalar_one_or_none() def create(self, user_id: UUID, data: ProfileCreate) -> Profile: p = Profile( user_id=user_id, gender=data.gender, city=data.city, languages=list(data.languages or []), interests=list(data.interests or []), ) self.db.add(p) self.db.commit() self.db.refresh(p) return p PY cat > "$SRV" <<'PY' from uuid import UUID from app.schemas.profile import ProfileCreate from app.repositories.profile_repository import ProfileRepository class ProfileService: def __init__(self, repo: ProfileRepository): self.repo = repo def get_by_user(self, user_id: UUID): return self.repo.get_by_user(user_id) def create(self, user_id: UUID, data: ProfileCreate): return self.repo.create(user_id, data) PY echo "[profiles] rebuilding..." docker compose build profiles docker compose restart profiles