notifications/apps/push_notifications/migrations
Ali Asadi a643fee027 FIX(notifications): action_code accepts dots, PushMessage.stats actually updates
Found by an end-to-end run against a live Gotify container:

- action_code / NotificationLink.action_code were SlugField, which rejects
  dots. Every documented action_code (billboard.approved, escrow.timeout,
  ...) is dotted, so any real request using the catalog got a 400 before
  this fix -- only click_url ever worked. Switched both to CharField with
  a validator that keeps slug's charset but allows ".".
- send_push_notification set push_message.state instead of .stats after a
  successful send, so PushMessage.stats stayed stuck at INIT forever
  regardless of delivery outcome. Fixed the attribute name and scoped the
  save with update_fields.

Verified live: POST with a dotted action_code now resolves through
NotificationLink and lands in Gotify with the correct click.url, and the
PushMessage row flips to DONE.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 15:55:17 +03:30
..
0001_initial.py send message api 2025-07-15 14:00:15 +03:30
0002_pushmessage_stats.py add celery 2025-07-17 12:03:18 +03:30
0003_bulkpushmessage_pushmessage_bulk.py bulk push 2025-07-19 15:41:36 +03:30
0004_pushmessage_click_url.py FEAT(notifications): add optional click_url for notification tap actions 2026-08-22 09:36:06 +03:30
0005_notificationlink_pushmessage_click_object_id_and_more.py FEAT(notifications): admin-managed code -> URL mapping for click actions 2026-08-22 14:35:55 +03:30
0006_rename_code_notificationlink_action_code_and_more.py REFACTOR(notifications): rename code/click_object_id to action_code/click_object_id_value 2026-08-23 12:13:29 +03:30
0007_alter_notificationlink_action_code_and_more.py FIX(notifications): action_code accepts dots, PushMessage.stats actually updates 2026-09-01 15:55:17 +03:30
__init__.py send message api 2025-07-15 13:59:42 +03:30