feat: Implement initial schema and add various API, service, and management command enhancements across the application.

This commit is contained in:
pacnpal
2026-01-01 15:13:01 -05:00
parent c95f99ca10
commit b243b17af7
413 changed files with 11164 additions and 17433 deletions

View File

@@ -23,9 +23,7 @@ class RidesConfig(AppConfig):
from apps.rides.models import Ride
# Register FSM transitions for Ride
apply_state_machine(
Ride, field_name="status", choice_group="statuses", domain="rides"
)
apply_state_machine(Ride, field_name="status", choice_group="statuses", domain="rides")
def _register_callbacks(self):
"""Register FSM transition callbacks for ride models."""
@@ -41,43 +39,19 @@ class RidesConfig(AppConfig):
from apps.rides.models import Ride
# Cache invalidation for all ride status changes
register_callback(
Ride, 'status', '*', '*',
RideCacheInvalidation()
)
register_callback(Ride, "status", "*", "*", RideCacheInvalidation())
# API cache invalidation
register_callback(
Ride, 'status', '*', '*',
APICacheInvalidation(include_geo_cache=True)
)
register_callback(Ride, "status", "*", "*", APICacheInvalidation(include_geo_cache=True))
# Park count updates for status changes that affect active rides
register_callback(
Ride, 'status', '*', 'OPERATING',
ParkCountUpdateCallback()
)
register_callback(
Ride, 'status', 'OPERATING', '*',
ParkCountUpdateCallback()
)
register_callback(
Ride, 'status', '*', 'CLOSED_PERM',
ParkCountUpdateCallback()
)
register_callback(
Ride, 'status', '*', 'DEMOLISHED',
ParkCountUpdateCallback()
)
register_callback(
Ride, 'status', '*', 'RELOCATED',
ParkCountUpdateCallback()
)
register_callback(Ride, "status", "*", "OPERATING", ParkCountUpdateCallback())
register_callback(Ride, "status", "OPERATING", "*", ParkCountUpdateCallback())
register_callback(Ride, "status", "*", "CLOSED_PERM", ParkCountUpdateCallback())
register_callback(Ride, "status", "*", "DEMOLISHED", ParkCountUpdateCallback())
register_callback(Ride, "status", "*", "RELOCATED", ParkCountUpdateCallback())
# Search text update
register_callback(
Ride, 'status', '*', '*',
SearchTextUpdateCallback()
)
register_callback(Ride, "status", "*", "*", SearchTextUpdateCallback())
logger.debug("Registered ride transition callbacks")