API and database models refactoring

This commit is contained in:
2025-09-20 20:17:16 +02:00
parent 91a0a13daa
commit c494c5b5c6
65 changed files with 931 additions and 487 deletions

View File

@@ -14,7 +14,8 @@ from sqlalchemy.orm import Session
from app.core.database import get_db
from middleware.auth import AuthManager
from middleware.rate_limiter import RateLimiter
from models.database_models import Shop, User
from models.database.user import User
from models.database.shop import Shop
# Set auto_error=False to prevent automatic 403 responses
security = HTTPBearer(auto_error=False)

View File

@@ -16,9 +16,10 @@ 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_models import (MarketplaceImportJobResponse, ShopListResponse,
UserResponse)
from models.database_models import User
from models.api.marketplace import MarketplaceImportJobResponse
from models.api.shop import ShopListResponse
from models.api.auth import UserResponse
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -15,9 +15,9 @@ 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_models import (LoginResponse, UserLogin, UserRegister,
from models.api.auth import (LoginResponse, UserLogin, UserRegister,
UserResponse)
from models.database_models import User
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -18,9 +18,9 @@ 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_models import (MarketplaceImportJobResponse,
from models.api.marketplace import (MarketplaceImportJobResponse,
MarketplaceImportRequest)
from models.database_models import User
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -17,10 +17,10 @@ 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_models import (ProductCreate, ProductDetailResponse,
from models.api.product import (ProductCreate, ProductDetailResponse,
ProductListResponse, ProductResponse,
ProductUpdate)
from models.database_models import User
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -15,9 +15,9 @@ 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_models import (ShopCreate, ShopListResponse, ShopProductCreate,
from models.api.shop import (ShopCreate, ShopListResponse, ShopProductCreate,
ShopProductResponse, ShopResponse)
from models.database_models import User
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

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.stats_service import stats_service
from models.api_models import MarketplaceStatsResponse, StatsResponse
from models.database_models import User
from models.api.stats import MarketplaceStatsResponse, StatsResponse
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -16,9 +16,9 @@ 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_models import (StockAdd, StockCreate, StockResponse,
from models.api.stock import (StockAdd, StockCreate, StockResponse,
StockSummaryResponse, StockUpdate)
from models.database_models import User
from models.database.user import User
router = APIRouter()
logger = logging.getLogger(__name__)

View File

@@ -14,7 +14,7 @@ from fastapi import FastAPI
from sqlalchemy import text
from middleware.auth import AuthManager
from models.database_models import Base
from models.database.base import Base
from .database import SessionLocal, engine
from .logging import setup_logging

View File

@@ -14,8 +14,10 @@ from typing import List, Optional, Tuple
from fastapi import HTTPException
from sqlalchemy.orm import Session
from models.api_models import MarketplaceImportJobResponse
from models.database_models import MarketplaceImportJob, Shop, User
from models.api.marketplace import MarketplaceImportJobResponse
from models.database.marketplace import MarketplaceImportJob
from models.database.shop import Shop
from models.database.user import User
logger = logging.getLogger(__name__)

View File

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

View File

@@ -14,9 +14,11 @@ from typing import List, Optional
from sqlalchemy import func
from sqlalchemy.orm import Session
from models.api_models import (MarketplaceImportJobResponse,
from models.api.marketplace import (MarketplaceImportJobResponse,
MarketplaceImportRequest)
from models.database_models import MarketplaceImportJob, Shop, User
from models.database.marketplace import MarketplaceImportJob
from models.database.shop import Shop
from models.database.user import User
logger = logging.getLogger(__name__)

View File

@@ -14,9 +14,10 @@ from typing import Generator, List, Optional
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import Session
from models.api_models import (ProductCreate, ProductUpdate,
StockLocationResponse, StockSummaryResponse)
from models.database_models import Product, Stock
from models.api.product import ProductCreate, ProductUpdate
from models.api.stock import StockLocationResponse, StockSummaryResponse
from models.database.product import Product
from models.database.stock import Stock
from utils.data_processing import GTINProcessor, PriceProcessor
logger = logging.getLogger(__name__)

View File

@@ -14,8 +14,10 @@ from fastapi import HTTPException
from sqlalchemy import func
from sqlalchemy.orm import Session
from models.api_models import ShopCreate, ShopProductCreate
from models.database_models import Product, Shop, ShopProduct, User
from models.api.shop import ShopCreate, ShopProductCreate
from models.database.product import Product
from models.database.shop import Shop, ShopProduct
from models.database.user import User
logger = logging.getLogger(__name__)

View File

@@ -13,7 +13,8 @@ from typing import Any, Dict, List
from sqlalchemy import func
from sqlalchemy.orm import Session
from models.database_models import Product, Stock
from models.database.product import Product
from models.database.stock import Stock
logger = logging.getLogger(__name__)

View File

@@ -13,9 +13,10 @@ from typing import List, Optional
from sqlalchemy.orm import Session
from models.api_models import (StockAdd, StockCreate, StockLocationResponse,
from models.api.stock import (StockAdd, StockCreate, StockLocationResponse,
StockSummaryResponse, StockUpdate)
from models.database_models import Product, Stock
from models.database.product import Product
from models.database.stock import Stock
from utils.data_processing import GTINProcessor
logger = logging.getLogger(__name__)

View File

@@ -11,7 +11,7 @@ import logging
from datetime import datetime
from app.core.database import SessionLocal
from models.database_models import MarketplaceImportJob
from models.database.marketplace import MarketplaceImportJob
from utils.csv_processor import CSVProcessor
logger = logging.getLogger(__name__)