fix(ci): fix black/ruff failures, add CoC and PR template
- Fix Python formatting (sync no longer strips blank lines from .py files) - Remove test_community_build.py (tests private sync module) - Fix ruff warnings in test files - Add CODE_OF_CONDUCT.md - Add .github/PULL_REQUEST_TEMPLATE.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@ from typing import Any
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, EmailStr, Field, field_validator
|
||||
|
||||
|
||||
class OrderLineItem(BaseModel):
|
||||
"""Schema for order line item"""
|
||||
|
||||
@@ -19,6 +20,7 @@ class OrderLineItem(BaseModel):
|
||||
subtotal: str | None = Field(None, description="Line subtotal")
|
||||
total: str | None = Field(None, description="Line total")
|
||||
|
||||
|
||||
class ShippingAddress(BaseModel):
|
||||
"""Schema for shipping address"""
|
||||
|
||||
@@ -34,12 +36,14 @@ class ShippingAddress(BaseModel):
|
||||
postcode: str | None = Field(None, description="Postal code")
|
||||
country: str | None = Field(None, description="Country code (ISO 3166-1 alpha-2)")
|
||||
|
||||
|
||||
class BillingAddress(ShippingAddress):
|
||||
"""Schema for billing address (extends shipping)"""
|
||||
|
||||
email: EmailStr | None = Field(None, description="Email address")
|
||||
phone: str | None = Field(None, description="Phone number")
|
||||
|
||||
|
||||
class OrderBase(BaseModel):
|
||||
"""Base order schema"""
|
||||
|
||||
@@ -76,6 +80,7 @@ class OrderBase(BaseModel):
|
||||
raise ValueError(f"Status must be one of: {', '.join(allowed)}")
|
||||
return v
|
||||
|
||||
|
||||
class OrderCreate(OrderBase):
|
||||
"""Schema for creating a new order"""
|
||||
|
||||
@@ -85,12 +90,14 @@ class OrderCreate(OrderBase):
|
||||
|
||||
model_config = ConfigDict(extra="allow")
|
||||
|
||||
|
||||
class OrderUpdate(OrderBase):
|
||||
"""Schema for updating an existing order"""
|
||||
|
||||
# All fields optional for updates
|
||||
pass
|
||||
|
||||
|
||||
class OrderStatusUpdate(BaseModel):
|
||||
"""Schema for updating order status"""
|
||||
|
||||
@@ -112,6 +119,7 @@ class OrderStatusUpdate(BaseModel):
|
||||
raise ValueError(f"Status must be one of: {', '.join(allowed)}")
|
||||
return v
|
||||
|
||||
|
||||
class OrderResponse(BaseModel):
|
||||
"""Schema for order response data"""
|
||||
|
||||
@@ -126,6 +134,7 @@ class OrderResponse(BaseModel):
|
||||
shipping: dict[str, Any]
|
||||
line_items: list[dict[str, Any]]
|
||||
|
||||
|
||||
class CustomerBase(BaseModel):
|
||||
"""Base customer schema"""
|
||||
|
||||
@@ -138,6 +147,7 @@ class CustomerBase(BaseModel):
|
||||
billing: BillingAddress | None = Field(None, description="Billing address")
|
||||
shipping: ShippingAddress | None = Field(None, description="Shipping address")
|
||||
|
||||
|
||||
class CustomerCreate(CustomerBase):
|
||||
"""Schema for creating a new customer"""
|
||||
|
||||
@@ -145,6 +155,7 @@ class CustomerCreate(CustomerBase):
|
||||
|
||||
model_config = ConfigDict(extra="allow")
|
||||
|
||||
|
||||
class CustomerUpdate(CustomerBase):
|
||||
"""Schema for updating an existing customer"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user