Remove access_developer_docs as a permission type. It does not make sense to have permission for viewing the documentation.

On the downgrade method of the db script the assumption that all users with manage_api_keys had the access_developer_docs permission.
This commit is contained in:
Rebecca Law
2016-03-29 17:00:42 +01:00
parent 376a074f5f
commit c7c845cea6
5 changed files with 13 additions and 9 deletions

View File

@@ -12,7 +12,6 @@ from app.models import (
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS,
VIEW_ACTIVITY)
@@ -25,7 +24,6 @@ default_service_permissions = [
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS,
VIEW_ACTIVITY]

View File

@@ -306,7 +306,6 @@ SEND_TEXTS = 'send_texts'
SEND_EMAILS = 'send_emails'
SEND_LETTERS = 'send_letters'
MANAGE_API_KEYS = 'manage_api_keys'
ACCESS_DEVELOPER_DOCS = 'access_developer_docs'
PLATFORM_ADMIN = 'platform_admin'
VIEW_ACTIVITY = 'view_activity'
@@ -319,7 +318,6 @@ PERMISSION_LIST = [
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS,
PLATFORM_ADMIN,
VIEW_ACTIVITY]

View File

@@ -6,7 +6,6 @@ from app.models import (
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS,
VIEW_ACTIVITY
)
@@ -15,7 +14,7 @@ from app.schemas import permission_schema
permissions_groups = {'send_messages': [SEND_TEXTS, SEND_EMAILS, SEND_LETTERS],
'manage_service': [MANAGE_USERS, MANAGE_SETTINGS, MANAGE_TEMPLATES],
'manage_api_keys': [MANAGE_API_KEYS, ACCESS_DEVELOPER_DOCS],
'manage_api_keys': [MANAGE_API_KEYS],
VIEW_ACTIVITY: [VIEW_ACTIVITY]}

View File

@@ -26,6 +26,8 @@ def upgrade():
"insert into permissions (id, service_id, user_id, created_at, permission) "
"values('{0}', '{1}', {2}, now(), 'view_activity')".format(
uuid.uuid4(), user_service.service_id, user_service.user_id))
conn.execute("delete from permissions where permission = 'access_developer_docs'")
conn.execute("delete from pg_enum where enumlabel='access_developer_docs'")
### end Alembic commands ###
@@ -34,4 +36,12 @@ def downgrade():
conn = op.get_bind()
conn.execute("delete from permissions where permission = 'view_activity'")
conn.execute("delete from pg_enum where enumlabel = 'view_activity'")
conn.execute('COMMIT')
conn.execute("alter type permission_types add value IF NOT EXISTS 'access_developer_docs'")
manage_api_key_users = conn.execute("SELECT * FROM permissions where permission='manage_api_keys'").fetchall()
for user_service in manage_api_key_users:
conn.execute(
"insert into permissions (id, service_id, user_id, created_at, permission) "
"values('{0}', '{1}', {2}, now(), 'access_developer_docs')".format(
uuid.uuid4(), user_service.service_id, user_service.user_id))
### end Alembic commands ###

View File

@@ -600,8 +600,7 @@ def test_add_existing_user_to_another_service_with_all_permissions(notify_api,
json_resp = json.loads(resp.get_data(as_text=True))
permissions = json_resp['data']['permissions'][str(sample_service.id)]
expected_permissions = ['send_texts', 'send_emails', 'send_letters', 'manage_users',
'manage_settings', 'manage_templates', 'manage_api_keys',
'access_developer_docs']
'manage_settings', 'manage_templates', 'manage_api_keys']
assert sorted(expected_permissions) == sorted(permissions)
@@ -745,7 +744,7 @@ def test_add_existing_user_to_another_service_with_manage_api_keys(notify_api,
json_resp = json.loads(resp.get_data(as_text=True))
permissions = json_resp['data']['permissions'][str(sample_service.id)]
expected_permissions = ['manage_api_keys', 'access_developer_docs']
expected_permissions = ['manage_api_keys']
assert sorted(expected_permissions) == sorted(permissions)