mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
Added endpoint for removing user from service, all tests passing.
This commit is contained in:
@@ -57,6 +57,10 @@ class PermissionDAO(DAOClass):
|
||||
permission = Permission(permission=name, user=user, service=service)
|
||||
self.create_instance(permission, _commit=False)
|
||||
|
||||
def remove_user_service_permissions(self, user, service):
|
||||
query = self.get_query(filter_by_dict={'user': user.id, 'service': service.id})
|
||||
query.delete()
|
||||
|
||||
def set_user_permission(self, user, permissions):
|
||||
try:
|
||||
query = self.get_query(filter_by_dict={'user': user.id})
|
||||
|
||||
@@ -45,6 +45,14 @@ def dao_add_user_to_service(service, user):
|
||||
|
||||
|
||||
def dao_remove_user_from_service(service, user):
|
||||
service.users.remove(user)
|
||||
db.session.add(service)
|
||||
db.session.commit()
|
||||
try:
|
||||
from app.dao.permissions_dao import permission_dao
|
||||
permission_dao.remove_user_service_permissions(user, service)
|
||||
service.users.remove(user)
|
||||
db.session.add(service)
|
||||
except Exception as e:
|
||||
# Proper clean up
|
||||
db.session.rollback()
|
||||
raise e
|
||||
else:
|
||||
db.session.commit()
|
||||
|
||||
Reference in New Issue
Block a user