Skip to content

Commit 21b88bb

Browse files
authored
Merge branch 'main' into fix/validate-total-attachment-size
2 parents 04ae170 + 0656757 commit 21b88bb

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

app/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,6 +1081,7 @@ class ApiKeyPermission(StrEnum):
10811081
"""
10821082

10831083
MANAGE_TEMPLATES = "manage_templates"
1084+
MANAGE_REPORTS = "manage_reports"
10841085

10851086

10861087
API_KEY_PERMISSION_TYPES: frozenset[str] = frozenset(p.value for p in ApiKeyPermission)

tests/app/dao/test_api_key_dao.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
update_compromised_api_key_info,
1717
update_last_used_api_key,
1818
)
19-
from app.models import KEY_TYPE_NORMAL, ApiKey
19+
from app.models import API_KEY_PERMISSION_TYPES, KEY_TYPE_NORMAL, ApiKey, ApiKeyPermission
2020
from tests.app.db import create_api_key
2121
from tests.conftest import set_signer_secret_key
2222

@@ -286,6 +286,13 @@ def test_can_persist_and_round_trip_known_permission(self, sample_service):
286286
fetched = ApiKey.query.get(api_key.id)
287287
assert fetched.permissions == ["manage_templates"]
288288

289+
def test_can_persist_and_round_trip_manage_reports_permission(self, sample_service):
290+
assert "manage_reports" in API_KEY_PERMISSION_TYPES
291+
api_key = self._make_key(sample_service, permissions=[ApiKeyPermission.MANAGE_REPORTS])
292+
fetched = ApiKey.query.get(api_key.id)
293+
assert fetched.permissions == ["manage_reports"]
294+
assert fetched.has_permission("manage_reports") is True
295+
289296
def test_unknown_permission_is_rejected(self, sample_service):
290297
with pytest.raises(ValueError, match="Invalid api key permission"):
291298
self._make_key(sample_service, permissions=["not_a_real_permission"])

0 commit comments

Comments
 (0)