mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-09 14:49:49 -04:00
Fixed up client for permission setting. All tests passing.
This commit is contained in:
@@ -15,7 +15,6 @@ from app.notify_client.api_key_api_client import ApiKeyApiClient
|
|||||||
from app.notify_client.user_api_client import UserApiClient
|
from app.notify_client.user_api_client import UserApiClient
|
||||||
from app.notify_client.job_api_client import JobApiClient
|
from app.notify_client.job_api_client import JobApiClient
|
||||||
from app.notify_client.status_api_client import StatusApiClient
|
from app.notify_client.status_api_client import StatusApiClient
|
||||||
from app.notify_client.permission_api_client import PermissionApiClient
|
|
||||||
from app.notify_client.invite_api_client import InviteApiClient
|
from app.notify_client.invite_api_client import InviteApiClient
|
||||||
from app.its_dangerous_session import ItsdangerousSessionInterface
|
from app.its_dangerous_session import ItsdangerousSessionInterface
|
||||||
from app.asset_fingerprinter import AssetFingerprinter
|
from app.asset_fingerprinter import AssetFingerprinter
|
||||||
@@ -34,7 +33,6 @@ job_api_client = JobApiClient()
|
|||||||
status_api_client = StatusApiClient()
|
status_api_client = StatusApiClient()
|
||||||
invite_api_client = InviteApiClient()
|
invite_api_client = InviteApiClient()
|
||||||
asset_fingerprinter = AssetFingerprinter()
|
asset_fingerprinter = AssetFingerprinter()
|
||||||
permission_api_client = PermissionApiClient()
|
|
||||||
|
|
||||||
|
|
||||||
def create_app(config_name, config_overrides=None):
|
def create_app(config_name, config_overrides=None):
|
||||||
@@ -51,7 +49,6 @@ def create_app(config_name, config_overrides=None):
|
|||||||
api_key_api_client.init_app(application)
|
api_key_api_client.init_app(application)
|
||||||
job_api_client.init_app(application)
|
job_api_client.init_app(application)
|
||||||
status_api_client.init_app(application)
|
status_api_client.init_app(application)
|
||||||
permission_api_client.init_app(application)
|
|
||||||
invite_api_client.init_app(application)
|
invite_api_client.init_app(application)
|
||||||
|
|
||||||
login_manager.init_app(application)
|
login_manager.init_app(application)
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
import uuid
|
|
||||||
|
|
||||||
from notifications_python_client.base import BaseAPIClient
|
|
||||||
|
|
||||||
|
|
||||||
class PermissionApiClient(BaseAPIClient):
|
|
||||||
def __init__(self, base_url=None, client_id=None, secret=None):
|
|
||||||
super(self.__class__, self).__init__(base_url=base_url or 'base_url',
|
|
||||||
client_id=client_id or 'client_id',
|
|
||||||
secret=secret or 'secret')
|
|
||||||
|
|
||||||
def init_app(self, app):
|
|
||||||
self.base_url = app.config['API_HOST_NAME']
|
|
||||||
self.client_id = app.config['ADMIN_CLIENT_USER_NAME']
|
|
||||||
self.secret = app.config['ADMIN_CLIENT_SECRET']
|
|
||||||
|
|
||||||
def delete_permission(self, permission_id):
|
|
||||||
return self.delete(url='/permission/{}'.format(permission_id))['data']
|
|
||||||
|
|
||||||
def create_permission(self, permission, user_id, service_id):
|
|
||||||
return self.post(
|
|
||||||
url='/permission',
|
|
||||||
data={'permission': permission,
|
|
||||||
'user': user_id,
|
|
||||||
'service': service_id})['data']
|
|
||||||
@@ -98,3 +98,8 @@ class UserApiClient(BaseAPIClient):
|
|||||||
endpoint = '/service/{}/users/{}'.format(service_id, user_id)
|
endpoint = '/service/{}/users/{}'.format(service_id, user_id)
|
||||||
resp = self.post(endpoint, data={})
|
resp = self.post(endpoint, data={})
|
||||||
return User(resp['data'], max_failed_login_count=self.max_failed_login_count)
|
return User(resp['data'], max_failed_login_count=self.max_failed_login_count)
|
||||||
|
|
||||||
|
def set_user_permissions(self, user_id, service_id, permissions):
|
||||||
|
data = [{'permission': x} for x in permissions]
|
||||||
|
endpoint = '/user/{}/service/{}/permission'.format(user_id, service_id)
|
||||||
|
resp = self.post(endpoint, data=data)
|
||||||
|
|||||||
Reference in New Issue
Block a user