CoolFace
Modelpublic

zombee11/scorecardapi

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes
rule.py59 linesDownload Raw Back to root
1from datetime import datetime2from decimal import Decimal3 4from pydantic import BaseModel, ConfigDict, Field5 6from app.core.enums import DecisionAction, RuleType7 8 9class RuleBase(BaseModel):10    tenant_id: str = "default"11    product_type: str = "TWO_WHEELER_LOAN"12    dealer_id: str | None = None13    rule_code: str = Field(min_length=2, max_length=100)14    rule_name: str = Field(min_length=2, max_length=255)15    rule_type: RuleType16    field_name: str = Field(min_length=1, max_length=100)17    operator: str = Field(min_length=1, max_length=20)18    field_value: str = Field(min_length=1, max_length=255)19    score_value: Decimal | None = None20    score_component: str | None = None21    decision_action: DecisionAction | None = None22    reason_code: str = Field(min_length=2, max_length=100)23    priority: int = 10024    is_active: bool = True25 26 27class RuleCreate(RuleBase):28    created_by: str | None = "system"29 30 31class RuleUpdate(BaseModel):32    rule_name: str | None = None33    field_name: str | None = None34    operator: str | None = None35    field_value: str | None = None36    score_value: Decimal | None = None37    score_component: str | None = None38    decision_action: DecisionAction | None = None39    reason_code: str | None = None40    priority: int | None = None41    is_active: bool | None = None42    actor: str | None = "system"43 44 45class RuleStatusUpdate(BaseModel):46    is_active: bool47    actor: str | None = "system"48 49 50class RuleResponse(RuleBase):51    id: int52    version: int53    created_by: str | None54    created_at: datetime55    updated_at: datetime56 57    model_config = ConfigDict(from_attributes=True)58 59