No description
Find a file
Ali Asadi 707407bb52 FEAT(notifications): admin-managed code -> URL mapping for click actions
The click_url a producer sends had to be built in that producer's own
Python code (utils/deep_links.py in advertising), so changing the URL
scheme meant a code deploy. Adds NotificationLink: an admin-editable
(code, url_template, is_active) row per notification type, with
url_template supporting a {object_id} placeholder.

PushMessage gains `code` and `click_object_id` — a producer can send either
a raw click_url (unchanged, still wins if both are given) or a code + the
referenced object's id, and resolve_click_url() looks up the template at
send time. An unset or not-yet-configured/inactive code resolves to no
click action rather than an error, consistent with "not every notification
is clickable." Wired through both the single-push API (serializer) and the
bulk Excel path (two new optional columns).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 14:35:55 +03:30
.forgejo/workflows init 2025-06-29 17:09:37 +03:30
apps FEAT(notifications): admin-managed code -> URL mapping for click actions 2026-08-22 14:35:55 +03:30
docs docs(notifications): add service overview, implementation guide, and frontend handoff doc 2026-08-22 11:39:30 +03:30
gotify_rest_api_client init 2025-06-29 22:15:11 +03:30
main FIX(notifications): configuration for GOTIFY_BASE_PUBLIC_URL 2026-05-09 14:12:13 +03:30
static add static files 2025-07-01 15:15:21 +03:30
templates bulk push 2025-09-02 20:12:20 +03:30
utils FIX(notifications): configuration for GOTIFY_BASE_PUBLIC_URL 2026-05-09 14:12:13 +03:30
.gitignore chore: ignore __pycache__ and compiled Python files 2026-08-22 09:35:53 +03:30
celery.sh celery beat 2025-09-06 17:26:10 +03:30
Dockerfile modify Dockerfile 2025-07-01 12:47:51 +03:30
manage.py init 2025-06-29 17:09:37 +03:30
README.srt FIX(notifications): configuration for GOTIFY_BASE_PUBLIC_URL 2026-05-09 14:12:13 +03:30
requirements.in celery beat 2025-09-06 17:00:21 +03:30
requirements.txt celery beat 2025-09-06 17:00:21 +03:30
run.sh init 2025-06-29 17:09:37 +03:30

openapi-python-client
https://push.gooyal.ir/swagger?base=push.gooyal.ir

npm install -g swagger2openapi