Automated Action c8aed27755 Create SaaS invoicing application with FastAPI and SQLite
- Set up project structure with modular organization
- Implement database models for users, organizations, clients, invoices
- Create Alembic migration scripts for database setup
- Implement JWT-based authentication and authorization
- Create API endpoints for users, organizations, clients, invoices
- Add PDF generation for invoices using ReportLab
- Add comprehensive documentation in README
2025-06-06 11:21:11 +00:00

47 lines
1.0 KiB
Python

from typing import Optional
from pydantic import BaseModel, EmailStr
# Shared properties
class ClientBase(BaseModel):
name: Optional[str] = None
contact_name: Optional[str] = None
email: Optional[EmailStr] = None
phone: Optional[str] = None
address: Optional[str] = None
city: Optional[str] = None
state: Optional[str] = None
postal_code: Optional[str] = None
country: Optional[str] = None
tax_id: Optional[str] = None
notes: Optional[str] = None
organization_id: Optional[int] = None
# Properties to receive via API on creation
class ClientCreate(ClientBase):
name: str
organization_id: int
# Properties to receive via API on update
class ClientUpdate(ClientBase):
pass
class ClientInDBBase(ClientBase):
id: Optional[int] = None
created_by_id: Optional[int] = None
class Config:
orm_mode = True
# Additional properties to return via API
class Client(ClientInDBBase):
pass
# Additional properties stored in DB
class ClientInDB(ClientInDBBase):
pass