Files
listmonk/permissions.json
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

78 lines
1.5 KiB
JSON

[
{
"group": "lists",
"permissions":
[
"lists:get_all",
"lists:manage_all"
]
},
{
"group": "subscribers",
"permissions":
[
"subscribers:get",
"subscribers:get_all",
"subscribers:manage",
"subscribers:import",
"subscribers:sql_query",
"tx:send"
]
},
{
"group": "campaigns",
"permissions":
[
"campaigns:get",
"campaigns:get_all",
"campaigns:get_analytics",
"campaigns:manage",
"campaigns:manage_all"
]
},
{
"group": "bounces",
"permissions":
[
"bounces:get",
"bounces:manage",
"webhooks:post_bounce"
]
},
{
"group": "media",
"permissions":
[
"media:get",
"media:manage"
]
},
{
"group": "templates",
"permissions":
[
"templates:get",
"templates:manage"
]
},
{
"group": "users",
"permissions":
[
"users:get",
"users:manage",
"roles:get",
"roles:manage"
]
},
{
"group": "settings",
"permissions":
[
"settings:get",
"settings:manage",
"settings:maintain"
]
}
]