feat(tkeg): tkeg BOM 자재관리 서비스 초기 세팅 (api + web + docker-compose)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-16 15:41:58 +09:00
parent 2699242d1f
commit 1e1d2f631a
160 changed files with 60367 additions and 0 deletions

47
tkeg/api/app/schemas.py Normal file
View File

@@ -0,0 +1,47 @@
from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional, List
# Project Schemas (project_name 추가)
class ProjectBase(BaseModel):
official_project_code: str = Field(..., description="공식 프로젝트 코드")
project_name: str = Field(..., description="프로젝트명") # 추가
design_project_code: Optional[str] = Field(None, description="설계 프로젝트 코드")
is_code_matched: bool = Field(False, description="코드 매칭 여부")
status: str = Field("active", description="프로젝트 상태")
class ProjectCreate(ProjectBase):
pass
class ProjectResponse(ProjectBase):
id: int
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
from_attributes = True
# File Schemas (기존 유지)
class FileResponse(BaseModel):
id: int
filename: str
original_filename: str
file_path: str
project_id: int
project_code: Optional[str] = None
revision: str = "Rev.0"
description: Optional[str] = None
upload_date: datetime
parsed_count: int = 0
is_active: bool = True
class Config:
from_attributes = True
class FileUploadResponse(BaseModel):
success: bool
message: str
file_id: int
filename: str
parsed_materials_count: int
file_path: str