tkuser에서 프로젝트/사용자를 통합 관리하므로 TKQC에서 불필요한 기능 제거: - 프로젝트 관리: POST/PUT/DELETE API 및 페이지 삭제 (GET 유지) - 사용자 관리: CRUD API 및 admin.html 삭제 (login/me/change-password 유지) - 일일 공수: daily_work.py, daily-work.html 삭제, reports.py에서 DailyWork 참조 제거 - 디버그 페이지 4개 삭제 (check-projects, sync-projects, test_api, mobile-fix) - 네비게이션/권한/키보드 단축키에서 제거된 메뉴 정리 - tkuser permissionModel.js에서 daily_work, projects_manage 키 제거 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
|
from database.models import User, UserRole
|
|
from routers.auth import get_current_user
|
|
from utils.tkuser_client import get_token_from_request
|
|
import utils.tkuser_client as tkuser_client
|
|
|
|
router = APIRouter(
|
|
prefix="/api/projects",
|
|
tags=["projects"]
|
|
)
|
|
|
|
@router.options("/")
|
|
async def projects_options():
|
|
"""OPTIONS preflight 요청 처리"""
|
|
return {"message": "OK"}
|
|
|
|
@router.get("/")
|
|
async def get_projects(
|
|
request: Request,
|
|
skip: int = 0,
|
|
limit: int = 100,
|
|
active_only: bool = True,
|
|
):
|
|
"""프로젝트 목록 조회 - tkuser API로 프록시"""
|
|
token = get_token_from_request(request)
|
|
projects = await tkuser_client.get_projects(token, active_only=active_only)
|
|
return projects[skip:skip + limit]
|
|
|
|
@router.get("/{project_id}")
|
|
async def get_project(
|
|
project_id: int,
|
|
request: Request,
|
|
):
|
|
"""특정 프로젝트 조회 - tkuser API로 프록시"""
|
|
token = get_token_from_request(request)
|
|
project = await tkuser_client.get_project(token, project_id)
|
|
if not project:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_404_NOT_FOUND,
|
|
detail="프로젝트를 찾을 수 없습니다."
|
|
)
|
|
return project
|