promotions/apps
Ali Asadi 1d77303f00 REFACTOR(promotions): split admin panel into views/serializers/urls subpackages
Restructures the admin promotions/referrals endpoints to match the
admin/users folder split used by the sibling advertising service
(apps/crm, apps/escrow, apps/stores there): views/admin/, serializers/admin/,
and a shared urls/router.py with the two resources as GenericViewSets
registered on one DefaultRouter, instead of flat _admin-suffixed modules
with separate ListAPIView/RetrieveAPIView classes.

Scoped to the admin slice only -- the pre-existing user-token/
application-token views, urls, and serializers keep their original
_user/_application file layout and URL namespaces, since converting
those too would rename routes tests.py and external callers depend on.
filters.py stays a single flat file, matching how advertising's own
filters.py is not split into subfolders either.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 17:27:15 +03:30
..
gooyal_oauth2 application views 2026-06-26 14:58:36 +03:30
promotions REFACTOR(promotions): split admin panel into views/serializers/urls subpackages 2026-08-23 17:27:15 +03:30
users init 2025-07-22 16:05:03 +03:30
__init__.py basic promotion handler 2025-08-03 13:28:40 +03:30