feat(tkeg): tkeg BOM 자재관리 서비스 초기 세팅 (api + web + docker-compose)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
47
tkeg/api/app/schemas.py
Normal file
47
tkeg/api/app/schemas.py
Normal 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
|
||||
Reference in New Issue
Block a user