Coverage for app/services/create_world_event.py: 25%
14 statements
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-02 23:27 +0000
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-02 23:27 +0000
1from app.db.models import WorldEvent
2from app.core.exceptions import BadRequestError, DatabaseSaveError
3from datetime import datetime
5def create_world_event(id:int, input_name: str, input_description: str, visible: int, db):
6 if len(input_name) > 150:
7 raise BadRequestError("Name must be less than 150 characters")
9 try:
10 new_world_event = WorldEvent(
11 world_id = id,
12 title = input_name,
13 description = input_description,
14 visible_at_session = visible,
15 created_at = datetime.now()
16 )
18 db.add(new_world_event)
19 db.commit()
20 db.refresh(new_world_event)
22 return new_world_event
24 except Exception as e:
25 raise DatabaseSaveError(str(e))