listmonk/models
Kailash Nadh a271bf54d5 Introduce per-campaign filter permissions. Closes #2325.
This patch introduces new `campaigns:get_all` and `campaigns:manage_all`
permissions which alter the behaviour of the the old `campaigns:get` and
`campaigns:manage` permissions. This is a subtle breaking behavioural change.

Old:

- `campaigns:get` -> View all campaigns irrespective of a user's list
  permissions.
- `campaigns:manage` -> Manage all campaigns irrespective of a user's list
  permissions.

New:

- `campaigns:get_all` -> View all campaigns irrespective of a user's list
  permissions.
- `campaigns:manage_all` -> Manage all campaigns irrespective of a user's list
  permissions.
- `campaigns:get` -> View only the campaigns that have at least one list to
  which which a user has get or manage access.
- `campaigns:manage` -> Manage only the campaigns that have at list one list
  to which a user has get or manage access.

In addition, this patch refactors and cleans up certain permission related
logic and functions.
2025-03-31 16:39:42 +05:30
..
models.go Introduce per-campaign filter permissions. Closes #2325. 2025-03-31 16:39:42 +05:30
permissions.go Introduce per-campaign filter permissions. Closes #2325. 2025-03-31 16:39:42 +05:30
queries.go Introduce per-campaign filter permissions. Closes #2325. 2025-03-31 16:39:42 +05:30
settings.go Add support for domain allowlists in addition to blocklists. Closes #2230. 2025-03-29 23:31:34 +05:30
users.go Introduce per-campaign filter permissions. Closes #2325. 2025-03-31 16:39:42 +05:30