From 583a22fe004a19d209ed810ff8a2fd8e9f3090c2 Mon Sep 17 00:00:00 2001 From: chakcy <947105045@qq.com> Date: Mon, 26 Jan 2026 11:45:09 +0800 Subject: [PATCH] add config --- app/services/item_service.py | 47 ++++++++++++++++++++++++++++++++++ app/services/user_service.py | 49 ------------------------------------ main.py | 2 +- utils/launch.py | 4 +-- 4 files changed, 50 insertions(+), 52 deletions(-) diff --git a/app/services/item_service.py b/app/services/item_service.py index e69de29..801ddae 100644 --- a/app/services/item_service.py +++ b/app/services/item_service.py @@ -0,0 +1,47 @@ +# app/services/item_service.py +from typing import Optional, List +from app.models.item import Item +from app.schemas.item import ItemCreate, ItemUpdate + +class ItemService: + @staticmethod + async def get_all_items( + skip: int = 0, + limit: int = 100, + owner_id: Optional[int] = None + ) -> List[Item]: + query = Item.all() + if owner_id: + query = query.filter(owner_id=owner_id) + return await query.offset(skip).limit(limit) + + @staticmethod + async def get_item_by_id(item_id: int) -> Optional[Item]: + return await Item.filter(id=item_id).first().prefetch_related("owner") + + @staticmethod + async def create_item(item_data: ItemCreate, owner_id: Optional[int] = None) -> Item: + item = await Item.create( + **item_data.model_dump(), + owner_id=owner_id + ) + return item + + @staticmethod + async def update_item(item_id: int, item_data: ItemUpdate) -> Optional[Item]: + item = await ItemService.get_item_by_id(item_id) + if not item: + return None + + update_data = item_data.model_dump(exclude_unset=True) + await item.update_from_dict(update_data) + await item.save() + return item + + @staticmethod + async def delete_item(item_id: int) -> bool: + item = await ItemService.get_item_by_id(item_id) + if item: + await item.delete() + return True + return False \ No newline at end of file diff --git a/app/services/user_service.py b/app/services/user_service.py index dbf2851..7c6ea22 100644 --- a/app/services/user_service.py +++ b/app/services/user_service.py @@ -65,52 +65,3 @@ class UserService: await user.delete() return True return False - - -# app/services/item_service.py -from typing import Optional, List -from app.models.item import Item -from app.schemas.item import ItemCreate, ItemUpdate - -class ItemService: - @staticmethod - async def get_all_items( - skip: int = 0, - limit: int = 100, - owner_id: Optional[int] = None - ) -> List[Item]: - query = Item.all() - if owner_id: - query = query.filter(owner_id=owner_id) - return await query.offset(skip).limit(limit) - - @staticmethod - async def get_item_by_id(item_id: int) -> Optional[Item]: - return await Item.filter(id=item_id).first().prefetch_related("owner") - - @staticmethod - async def create_item(item_data: ItemCreate, owner_id: Optional[int] = None) -> Item: - item = await Item.create( - **item_data.model_dump(), - owner_id=owner_id - ) - return item - - @staticmethod - async def update_item(item_id: int, item_data: ItemUpdate) -> Optional[Item]: - item = await ItemService.get_item_by_id(item_id) - if not item: - return None - - update_data = item_data.model_dump(exclude_unset=True) - await item.update_from_dict(update_data) - await item.save() - return item - - @staticmethod - async def delete_item(item_id: int) -> bool: - item = await ItemService.get_item_by_id(item_id) - if item: - await item.delete() - return True - return False \ No newline at end of file diff --git a/main.py b/main.py index 7195341..62b33e4 100644 --- a/main.py +++ b/main.py @@ -51,7 +51,7 @@ def app_run(app_config: dict, default_config: dict): host=host, port=port, reload=reload, - # workers=workers, + workers=workers, log_level="debug" if app_config.get("debug", False) else "info", access_log=True, ) diff --git a/utils/launch.py b/utils/launch.py index 8f7fafe..70dbb42 100644 --- a/utils/launch.py +++ b/utils/launch.py @@ -32,7 +32,7 @@ def launch(run_fun: Callable[[dict, dict], None], run_mode: str): default_config = config.get("default", {}) run_mode = default_config.get("env", "development") app_config = config.get(run_mode, {}) - - init_module_bank(config) + if run_mode == "production": + init_module_bank(config) run_fun(app_config, default_config)