Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ba01adb
added minor subversion
naman108 Mar 12, 2024
ec123c4
fix: added support for optional object json serialization
naman108 May 14, 2024
4369eb3
feat(serialization): add support for optional relationships
naman108 May 15, 2024
e1a73dc
test(serialization): added json serialization tests
naman108 May 15, 2024
ec0bdc3
Feat(serialization): updated to serializing simple list
naman108 May 22, 2024
5d06f99
fix(modelConf): added simple list configuration support
naman108 May 22, 2024
849acbf
chore(hint): get parent return type hint
naman108 May 22, 2024
a33894d
WARNING(SQUASH) this is just a commit which should be squashed contai…
naman108 May 25, 2024
87673ee
chore(docs): updated documentation and formatting
naman108 May 25, 2024
851356d
Merge branch '76-support-optional-relationships' into 53-implement-in…
naman108 May 25, 2024
f26341c
fix(IAM DB): updated persistency controllers and definition
naman108 May 25, 2024
ebbd9a4
Merge branch '53-implement-initial-iam' into 77-implement-authorizati…
naman108 May 25, 2024
aef1aeb
feat(IAM): added support for default anonymous auth
naman108 May 25, 2024
daf75c5
test(IAM): added tests for iam connection and blueprint network
naman108 May 25, 2024
c9e5041
added cors and jwt support for authorization
naman108 May 29, 2024
6e81686
updated session management
naman108 May 29, 2024
1d80303
added IAM authentication endpoint
naman108 May 29, 2024
79853dd
feat(IAM): added IAM authentication endpoint
naman108 May 29, 2024
3759bec
Merge branch '77-implement-authorization-endpoint' of https://github.…
naman108 May 29, 2024
3d6bee3
fix(IAM): removed undefined var ref
naman108 May 29, 2024
6771fb6
chore(gitignore): adde poetry.lock to gitignore
naman108 May 29, 2024
88b2fe0
reduced min python version
naman108 Jun 5, 2024
8c788ec
fix(deps): added flask_jwt_extended dep
naman108 Jun 5, 2024
2e558b6
fix: returned well formated json data
naman108 Jun 9, 2024
3be7a12
fix: ensure the baseblueprint is static
naman108 Jun 9, 2024
d226ebe
fix: getting the net_id no longer causes decode errors
naman108 Jun 9, 2024
9b7d453
fix: updated to reflect port and host changes
naman108 Jun 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ __pycache__/

# Distribution / packaging
.Python
poetry.lock
build/
develop-eggs/
dist/
Expand Down
4 changes: 2 additions & 2 deletions digitalpy/core/IAM/IAM_action_filter_strategy.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ def _user_has_permission(self, user: 'User', permission_id: 'str') -> 'bool':
user_has_permissions = user is not None and user.system_user is not None and len(user.system_user.system_user_groups) > 0
if user_has_permissions:
for group in user.system_user.system_user_groups:
for group_permission in group.system_groups.system_group_permissions:
if group_permission.permissions.PermissionID == permission_id:
for group_permission in group.system_group.system_group_permissions:
if group_permission.permission.PermissionID == permission_id:
return True
else:
return False
110 changes: 52 additions & 58 deletions digitalpy/core/IAM/IAM_facade.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

from digitalpy.core.component_management.impl.default_facade import DefaultFacade

from .controllers.iam_group_controller import IAMGroupController
from .controllers.iam_users_controller import IAMUsersController
from .configuration.iam_constants import (
ACTION_MAPPING_PATH,
Expand Down Expand Up @@ -76,21 +75,20 @@ def __init__(
# the path for log files to be stored
log_file_path=log_file_path
)
# self.function_controller = IAMController()
self.persistence_controller = IAMPersistenceController(request, response, iam_action_mapper, configuration)
self.group_controller = IAMGroupController(
request, response, sync_action_mapper=iam_action_mapper, configuration=configuration)
# self.persistency_controller = IAMController()
self.persistency_controller = IAMPersistenceController(
request, response, iam_action_mapper, configuration)
self.users_controller = IAMUsersController(
request=request, response=response, action_mapper=iam_action_mapper, configuration=configuration)
self.filter_controller = IAMFilterController(
request=request,
response=response,
sync_action_mapper=iam_action_mapper,
configuration=configuration,
iam_recipient_filter_strategy=iam_recipient_filter_strategy,
request=request,
response=response,
sync_action_mapper=iam_action_mapper,
configuration=configuration,
iam_recipient_filter_strategy=iam_recipient_filter_strategy,
iam_action_filter_strategy=iam_action_filter_strategy)
# self.group_permissions_controller = IAMController()
# self.system_user_controller = IAMController()
# self.persistency_controller = IAMController()
# self.persistency_controller = IAMController()
self.functions = {}
self.groups = {}
self.group_permissions = {}
Expand All @@ -99,32 +97,22 @@ def __init__(
def initialize(self, request, response):
self.request = request
self.response = response
# self.function_controller.initialize(request, response)
self.group_controller.initialize(request, response)
# self.persistency_controller.initialize(request, response)
self.persistency_controller.initialize(request, response)
self.users_controller.initialize(request, response)
self.filter_controller.initialize(request, response)
self.persistence_controller.initialize(request, response)
# self.group_permissions_controller.initialize(request, response)
# self.system_user_controller.initialize(request, response)
self.persistency_controller.initialize(request, response)
# self.persistency_controller.initialize(request, response)
# self.persistency_controller.initialize(request, response)

def register(self, *args, **kwargs):
super().register(*args, **kwargs)
self.persistence_controller.clear_users()
self.persistence_controller.create_group(
SystemGroup(
name=AUTHENTICATED_USERS,
description="The group of all authenticated users",
uid=str(uuid.uuid4())
)
)
self.persistence_controller.create_group(
SystemGroup(
name=UNAUTHENTICATED_USERS,
description="The group of all unauthenticated users",
uid=str(uuid.uuid4())
)
)
self.persistence_controller.create_default_system_user()
self.persistency_controller.clear_sessions()
self.persistency_controller.create_default_permissions()
self.persistency_controller.create_default_groups()
self.persistency_controller.create_admin_system_user()
self.persistency_controller.create_anonymous_system_user()
self.persistency_controller.ses.expunge_all()

def execute(self, method):
self.request.set_value("logger", self.logger)
Expand All @@ -141,89 +129,95 @@ def execute(self, method):
self.logger.debug(traceback.format_exc())

def get_all_functions(self, **kwargs):
return self.function_controller.get_all_functions()
return self.persistency_controller.get_all_functions()

def get_function_by_id(self, function_id, **kwargs):
return self.function_controller.get_function_by_id(function_id)
return self.persistency_controller.get_function_by_id(function_id)

def create_function(self, function, **kwargs):
return self.function_controller.create_function(function)
return self.persistency_controller.create_function(function)

def update_function(self, function_id, updated_function, **kwargs):
return self.function_controller.update_function(function_id, updated_function)
return self.persistency_controller.update_function(function_id, updated_function)

def delete_function(self, function_id, **kwargs):
return self.function_controller.delete_function(function_id)
return self.persistency_controller.delete_function(function_id)

def get_all_groups(self, **kwargs):
return self.group_controller.get_all_groups()
return self.persistency_controller.get_all_groups()

def get_group_by_id(self, group_id, **kwargs):
return self.group_controller.get_group_by_id(group_id)
return self.persistency_controller.get_group_by_id(group_id)

def get_group_by_name(self, group_name, *args, **kwargs):
return self.persistence_controller.get_group_by_name(group_name)
return self.persistency_controller.get_group_by_name(group_name)

def create_group(self, group, **kwargs):
return self.group_controller.create_group(group)
return self.persistency_controller.create_group(group)

def update_group(self, group_id, updated_group, **kwargs):
return self.group_controller.update_group(group_id, updated_group)
return self.persistency_controller.update_group(group_id, updated_group)

def delete_group(self, group_id, **kwargs):
return self.group_controller.delete_group(group_id)
return self.persistency_controller.delete_group(group_id)

def get_all_group_permissions(self, **kwargs):
return self.group_permissions_controller.get_all_group_permissions()
return self.persistency_controller.get_all_group_permissions()

def get_group_permissions_by_id(self, group_permissions_id, **kwargs):
return self.group_permissions_controller.get_group_permissions_by_id(group_permissions_id)

def create_group_permission(self, group_permission, **kwargs):
return self.persistence_controller.create_group_permission(group_permission)
return self.persistency_controller.get_group_permissions_by_id(group_permissions_id)

def update_group_permissions(self, group_permissions_id, updated_group_permissions, **kwargs):
return self.group_permissions_controller.update_group_permissions(group_permissions_id, updated_group_permissions)
return self.persistency_controller.update_group_permissions(group_permissions_id, updated_group_permissions)

def delete_group_permissions(self, group_permissions_id, **kwargs):
return self.group_permissions_controller.delete_group_permissions(group_permissions_id)
return self.persistency_controller.delete_group_permissions(group_permissions_id)

def get_all_system_users(self, **kwargs):
return self.system_user_controller.get_all_system_users()
return self.persistency_controller.get_all_system_users()

def get_system_user_by_id(self, system_user_id, **kwargs):
return self.system_user_controller.get_system_user_by_id(system_user_id)
return self.persistency_controller.get_system_user_by_id(system_user_id)

def create_system_user(self, system_user, **kwargs):
return self.system_user_controller.Createsystem_user(system_user)
return self.persistency_controller.Createsystem_user(system_user)

def add_function(self, function, **kwargs):
self.functions[function.uid] = function

def get_function(self, uid, **kwargs):
return self.functions.get(uid)

def get_user_by_cn(self, *args, **kwargs):
return self.users_controller.get_user_by_cn(*args, **kwargs)

def get_all_users(self, *args, **kwargs):
return self.persistency_controller.get_all_users(*args, **kwargs)

def get_connections_by_id(self, *args, **kwargs):
self.users_controller.get_connections_by_id(*args, **kwargs)

def get_all_connections(self, *args, **kwargs):
self.users_controller.get_all_connections(*args, **kwargs)

def get_session_by_uid(self, *args, **kwargs):
self.users_controller.get_session_by_uid(*args, **kwargs)

def ValidateUsers(self, **kwargs):
self.group_controller.validate_users(**kwargs)
self.persistency_controller.validate_users(**kwargs)

def validate_request(self, *args, **kwargs):
self.users_controller.validate_request(*args, **kwargs)

def create_permission(self, *args, **kwargs):
"""a wrapper to call the persistence controller
"""
self.persistence_controller.create_permission(*args, **kwargs)
self.persistency_controller.create_permission(*args, **kwargs)

def create_group_permission(self, *args, **kwargs):
"""a wrapper to call the persistence controller
"""
self.persistence_controller.create_group_permission(*args, **kwargs)
self.persistency_controller.create_group_permission(*args, **kwargs)

def connection(self, *args, **kwargs):
"""a wrapper to call the users controller
Expand Down
4 changes: 3 additions & 1 deletion digitalpy/core/IAM/configuration/iam_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,6 @@

AUTHENTICATED_USERS = "authenticated_users"

UNAUTHENTICATED_USERS = "unauthenticated_users"
UNAUTHENTICATED_USERS = "unauthenticated_users"

ADMIN_USERS = "admin_users"
Loading