
This commit includes: - Project structure setup with FastAPI and SQLite - Database models and schemas for inventory management - CRUD operations for all entities - API endpoints for product, category, supplier, and inventory management - User authentication with JWT tokens - Initial database migration - Comprehensive README with setup instructions
19 lines
650 B
Python
19 lines
650 B
Python
from sqlalchemy.ext.declarative import declared_attr
|
|
from sqlalchemy import Column, Integer, DateTime
|
|
from sqlalchemy.sql import func
|
|
|
|
|
|
|
|
class BaseClass:
|
|
"""
|
|
Base class for all SQLAlchemy models.
|
|
Provides common attributes like id and created_at/updated_at timestamps.
|
|
"""
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
|
updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
|
|
|
|
# Generate __tablename__ automatically
|
|
@declared_attr
|
|
def __tablename__(cls) -> str:
|
|
return cls.__name__.lower() |