Renaming models/api/ folder to models/schemas/

This commit is contained in:
2025-09-21 21:02:05 +02:00
parent ed775b9822
commit 2db03b20c5
32 changed files with 63 additions and 181 deletions

View File

@@ -16,9 +16,9 @@ from sqlalchemy.orm import Session
from app.api.deps import get_current_admin_user
from app.core.database import get_db
from app.services.admin_service import admin_service
from models.api.auth import UserResponse
from models.api.marketplace import MarketplaceImportJobResponse
from models.api.shop import ShopListResponse
from models.schemas.auth import UserResponse
from models.schemas.marketplace import MarketplaceImportJobResponse
from models.schemas.shop import ShopListResponse
from models.database.user import User
router = APIRouter()

View File

@@ -15,8 +15,8 @@ from sqlalchemy.orm import Session
from app.api.deps import get_current_user
from app.core.database import get_db
from app.services.auth_service import auth_service
from models.api.auth import (LoginResponse, UserLogin, UserRegister,
UserResponse)
from models.schemas.auth import (LoginResponse, UserLogin, UserRegister,
UserResponse)
from models.database.user import User
router = APIRouter()

View File

@@ -18,8 +18,8 @@ from app.core.database import get_db
from app.services.marketplace_service import marketplace_service
from app.tasks.background_tasks import process_marketplace_import
from middleware.decorators import rate_limit
from models.api.marketplace import (MarketplaceImportJobResponse,
MarketplaceImportRequest)
from models.schemas.marketplace import (MarketplaceImportJobResponse,
MarketplaceImportRequest)
from models.database.user import User
router = APIRouter()

View File

@@ -17,9 +17,9 @@ from sqlalchemy.orm import Session
from app.api.deps import get_current_user
from app.core.database import get_db
from app.services.product_service import product_service
from models.api.product import (ProductCreate, ProductDetailResponse,
ProductListResponse, ProductResponse,
ProductUpdate)
from models.schemas.product import (ProductCreate, ProductDetailResponse,
ProductListResponse, ProductResponse,
ProductUpdate)
from models.database.user import User
router = APIRouter()

View File

@@ -15,8 +15,8 @@ from sqlalchemy.orm import Session
from app.api.deps import get_current_user, get_user_shop
from app.core.database import get_db
from app.services.shop_service import shop_service
from models.api.shop import (ShopCreate, ShopListResponse, ShopProductCreate,
ShopProductResponse, ShopResponse)
from models.schemas.shop import (ShopCreate, ShopListResponse, ShopProductCreate,
ShopProductResponse, ShopResponse)
from models.database.user import User
router = APIRouter()

View File

@@ -16,7 +16,7 @@ from sqlalchemy.orm import Session
from app.api.deps import get_current_user
from app.core.database import get_db
from app.services.stats_service import stats_service
from models.api.stats import MarketplaceStatsResponse, StatsResponse
from models.schemas.stats import MarketplaceStatsResponse, StatsResponse
from models.database.user import User
router = APIRouter()

View File

@@ -16,8 +16,8 @@ from sqlalchemy.orm import Session
from app.api.deps import get_current_user
from app.core.database import get_db
from app.services.stock_service import stock_service
from models.api.stock import (StockAdd, StockCreate, StockResponse,
StockSummaryResponse, StockUpdate)
from models.schemas.stock import (StockAdd, StockCreate, StockResponse,
StockSummaryResponse, StockUpdate)
from models.database.user import User
router = APIRouter()

View File

@@ -18,42 +18,21 @@ class Settings(BaseSettings):
# Project information
project_name: str = "Ecommerce Backend API with Marketplace Support"
# Documentation
documentation_url: str = "http://localhost:8001" # Development default
# Clean description without HTML
description: str = """
## 🚀 Letzshop Import API
Complete marketplace product import and management system built with FastAPI.
### 📚 Documentation Links
- **[Complete Documentation Site](#)** - Full project documentation
- **[Getting Started Guide](#)** - Installation and setup
- **[User Guides](#)** - How-to guides and tutorials
- **[API Authentication Guide](#)** - Security and authentication
- **[Testing Documentation](#)** - Test suite and conventions
### 🔗 Quick Links
- **[Alternative API Docs](/redoc)** - ReDoc interface
- **[Health Check](/health)** - System status
- **[OpenAPI Spec](/openapi.json)** - Machine-readable API spec
### 📖 Key Features
- **Product Management** - Complete CRUD operations with validation
- **Multi-Shop Support** - Independent shop configurations
- **CSV Import System** - Bulk import from various marketplace formats
- **Stock Management** - Inventory tracking across locations
- **User Management** - Role-based access control
- **Marketplace Integration** - Import from multiple platforms
### 🏗️ Architecture
Built with modern Python stack:
- **FastAPI** - High-performance async API framework
- **SQLAlchemy** - Powerful ORM with PostgreSQL
- **Pydantic** - Data validation and serialization
- **JWT Authentication** - Secure token-based auth
- **pytest** - Comprehensive test suite
Marketplace product import and management system with multi-shop support.
**Features:**
- JWT Authentication with role-based access
- Multi-marketplace product import (CSV processing)
- Inventory management across multiple locations
- Shop management with individual configurations
**Documentation:** Visit /documentation for complete guides
**API Testing:** Use /docs for interactive API exploration
"""
version: str = "2.2.0"

View File

@@ -14,7 +14,7 @@ from typing import List, Optional, Tuple
from fastapi import HTTPException
from sqlalchemy.orm import Session
from models.api.marketplace import MarketplaceImportJobResponse
from models.schemas.marketplace import MarketplaceImportJobResponse
from models.database.marketplace import MarketplaceImportJob
from models.database.shop import Shop
from models.database.user import User

View File

@@ -14,7 +14,7 @@ from fastapi import HTTPException
from sqlalchemy.orm import Session
from middleware.auth import AuthManager
from models.api.auth import UserLogin, UserRegister
from models.schemas.auth import UserLogin, UserRegister
from models.database.user import User
logger = logging.getLogger(__name__)

View File

@@ -14,8 +14,8 @@ from typing import List, Optional
from sqlalchemy import func
from sqlalchemy.orm import Session
from models.api.marketplace import (MarketplaceImportJobResponse,
MarketplaceImportRequest)
from models.schemas.marketplace import (MarketplaceImportJobResponse,
MarketplaceImportRequest)
from models.database.marketplace import MarketplaceImportJob
from models.database.shop import Shop
from models.database.user import User

View File

@@ -14,8 +14,8 @@ from typing import Generator, List, Optional
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import Session
from models.api.product import ProductCreate, ProductUpdate
from models.api.stock import StockLocationResponse, StockSummaryResponse
from models.schemas.product import ProductCreate, ProductUpdate
from models.schemas.stock import StockLocationResponse, StockSummaryResponse
from models.database.product import Product
from models.database.stock import Stock
from utils.data_processing import GTINProcessor, PriceProcessor

View File

@@ -14,7 +14,7 @@ from fastapi import HTTPException
from sqlalchemy import func
from sqlalchemy.orm import Session
from models.api.shop import ShopCreate, ShopProductCreate
from models.schemas.shop import ShopCreate, ShopProductCreate
from models.database.product import Product
from models.database.shop import Shop, ShopProduct
from models.database.user import User

View File

@@ -13,8 +13,8 @@ from typing import List, Optional
from sqlalchemy.orm import Session
from models.api.stock import (StockAdd, StockCreate, StockLocationResponse,
StockSummaryResponse, StockUpdate)
from models.schemas.stock import (StockAdd, StockCreate, StockLocationResponse,
StockSummaryResponse, StockUpdate)
from models.database.product import Product
from models.database.stock import Stock
from utils.data_processing import GTINProcessor