feat(core): add core module with mixins, services, and background jobs

- Add Model Mixins: TimestampMixin, SoftDeleteMixin, AuditMixin, etc.
- Add Base Services: BaseService, BulkOperationsMixin, QueryOptimizerMixin
- Add Base ViewSets with bulk operations
- Add BackgroundJob model for Celery task tracking
- Add BaseAppCommand for management commands
- Add permissions, pagination, filters, cache, logging
- Migrate tests to factory_boy + faker
- Add CHANGELOG.md
- 297 tests passing
This commit is contained in:
2026-01-21 11:47:26 +01:00
parent 06b30fca02
commit f121445313
72 changed files with 9258 additions and 594 deletions

20
src/config/api_v1_urls.py Normal file
View File

@@ -0,0 +1,20 @@
"""
API v1 URL configuration.
All API endpoints are versioned under /api/v1/
"""
from apps.core.views import BackgroundJobListView, BackgroundJobStatusView
from django.urls import include, path
app_name = "api_v1"
jobs_urlpatterns = [
path("", BackgroundJobListView.as_view(), name="job-list"),
path("<str:task_id>/", BackgroundJobStatusView.as_view(), name="job-status"),
]
urlpatterns = [
path("users/", include("apps.user.urls")),
path("jobs/", include((jobs_urlpatterns, "jobs"))),
]