Skip to content
David H. edited this page Mar 31, 2025 · 2 revisions

Welcome to the LitePolis-database-example wiki!

This package provides database management for LitePolis applications using SQLModel.

Key Features

  • SQLModel Integration: Combines SQLAlchemy and Pydantic
  • Manager Pattern: Clean separation of database operations
  • Unified Interface: Single DatabaseActor for all operations

Architecture

classDiagram
    class DatabaseActor {
        +create_user()
        +create_conversation()
        +read_users()
        +read_conversations()
    }
    DatabaseActor --|> UserManager
    DatabaseActor --|> ConversationManager
    DatabaseActor --|> CommentManager
Loading

Usage in Router Modules

  1. Import DatabaseActor:
from litepolis_database_example import DatabaseActor
  1. Use in Endpoints:
@router.post("/users/")
async def create_user(user_data: dict):
    user = DatabaseActor.create_user(**user_data)
    return user

Models

User

  • id: Primary key
  • email: Unique identifier
  • password: Hashed password
  • privilege: Access level

Conversation

  • id: Primary key
  • title: Conversation title
  • description: Detailed description
  • creator_id: Foreign key to User

Testing

Run tests with:

pytest tests/

Installation

Include in your router's setup.py:

install_requires=['litepolis-database-example']
Clone this wiki locally