Text Extraction Done, UI Fixes Done, Extracted Template Layout Saved in DB
This commit is contained in:
BIN
backend/schemas/__pycache__/template_schemas.cpython-313.pyc
Normal file
BIN
backend/schemas/__pycache__/template_schemas.cpython-313.pyc
Normal file
Binary file not shown.
80
backend/schemas/template_schemas.py
Normal file
80
backend/schemas/template_schemas.py
Normal file
@@ -0,0 +1,80 @@
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import List, Optional
|
||||
from datetime import datetime
|
||||
|
||||
# Common
|
||||
class BaseSchema(BaseModel):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
# Document
|
||||
class DocumentLayoutSchema(BaseSchema):
|
||||
pk_document_data_id: int
|
||||
fk_document_id: int
|
||||
page_no: int
|
||||
text_value: Optional[str]
|
||||
block_type: Optional[str]
|
||||
parent_block_id: Optional[int]
|
||||
x_coordinate: Optional[float]
|
||||
y_coordinate: Optional[float]
|
||||
width: Optional[float]
|
||||
height: Optional[float]
|
||||
confidence: Optional[float]
|
||||
sequence_no: Optional[int]
|
||||
|
||||
class DocumentSchema(BaseSchema):
|
||||
pk_document_id: int
|
||||
document_name: Optional[str]
|
||||
document_type: Optional[str]
|
||||
file_name: Optional[str]
|
||||
page_count: Optional[int]
|
||||
status: Optional[str]
|
||||
created_at: datetime
|
||||
layouts: List[DocumentLayoutSchema] = []
|
||||
|
||||
# Template Field
|
||||
class TemplateFieldCreate(BaseSchema):
|
||||
field_label: str
|
||||
field_type: str
|
||||
display_order: Optional[int] = 0
|
||||
required_flag: Optional[bool] = False
|
||||
|
||||
class TemplateFieldSchema(TemplateFieldCreate):
|
||||
pk_template_field_id: int
|
||||
fk_template_id: int
|
||||
created_at: datetime
|
||||
|
||||
# Template Field Mapping
|
||||
class TemplateFieldMappingCreate(BaseSchema):
|
||||
fk_template_field_id: int
|
||||
fk_document_data_id: Optional[int] = None
|
||||
page_no: Optional[int] = None
|
||||
x_coordinate: Optional[float] = None
|
||||
y_coordinate: Optional[float] = None
|
||||
width: Optional[float] = None
|
||||
height: Optional[float] = None
|
||||
mapping_confidence: Optional[float] = None
|
||||
|
||||
class TemplateFieldMappingSchema(TemplateFieldMappingCreate):
|
||||
pk_mapping_id: int
|
||||
fk_template_id: int
|
||||
created_at: datetime
|
||||
|
||||
# Template
|
||||
class TemplateCreate(BaseSchema):
|
||||
template_name: str
|
||||
fields: Optional[List[TemplateFieldCreate]] = []
|
||||
|
||||
class TemplateSchema(BaseSchema):
|
||||
pk_template_id: int
|
||||
template_name: str
|
||||
template_fingerprint: Optional[str] = None
|
||||
active_flag: bool
|
||||
created_at: datetime
|
||||
fields: List[TemplateFieldSchema] = []
|
||||
mappings: List[TemplateFieldMappingSchema] = []
|
||||
|
||||
class TemplateRecognitionResult(BaseSchema):
|
||||
templateMatched: bool
|
||||
templateId: Optional[int] = None
|
||||
confidence: Optional[float] = None
|
||||
extractedFields: List[dict] = []
|
||||
Reference in New Issue
Block a user