Automated Action b51b13eb3e Create backend scaffold for freelancer invoicing API
- Set up FastAPI application with CORS support
- Configure SQLite database connection
- Create database models for users, clients, invoices, and line items
- Set up Alembic for database migrations
- Implement JWT-based authentication system
- Create basic CRUD endpoints for users, clients, and invoices
- Add PDF generation functionality
- Implement activity logging
- Update README with project information
2025-05-26 18:21:20 +00:00

31 lines
885 B
Python

from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.api.deps import get_db, get_current_user
from app.models.user import User
from app.schemas.user import User as UserSchema, UserUpdate
from app.crud import crud_user
from app.core.logging import log_activity
router = APIRouter()
@router.get("/me", response_model=UserSchema)
async def read_users_me(current_user: User = Depends(get_current_user)):
"""
Get current user information.
"""
return current_user
@router.put("/me", response_model=UserSchema)
async def update_user_me(
user_in: UserUpdate,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
):
"""
Update current user information.
"""
user = crud_user.update(db, db_obj=current_user, obj_in=user_in)
log_activity(user.id, "update", "user profile")
return user