def get_application(account_guid, nerd_guid, application_guid, **kwargs): try: current_user = kwargs['current_user'] account = AccountsService.get_account_by_guid( account_guid=account_guid) if not account: return HttpResponse.forbidden('Account doesn\'t exists') user_permission = AccountUserService.get_permission(user=current_user, account=account) if not user_permission: return HttpResponse.forbidden( 'User doesn\'t have permission to perform this operation') nerd = NerdService.get_nerd_guid(account=account, user=current_user, nerd_guid=nerd_guid) if len(nerd) == 0: return HttpResponse.forbidden( 'The user has no permission on this nerd') nerd_response = ApplicationService.get_application_by_guid( nerd_url=nerd[0].nerd_url, application_guid=application_guid) return HttpResponse.custom_http_response(loads(nerd_response.text), nerd_response.status_code) except Exception as e: return HttpResponse.bad_request(e.message)
def create_application(account_guid, nerd_guid, **kwargs): try: try: name = request.json['name'] algorithm = request.json['algorithm'] app_metadata = request.json['app_metadata'] except Exception: return HttpResponse.bad_request( 'One or more parameters are missing') current_user = kwargs['current_user'] account = AccountsService.get_account_by_guid( account_guid=account_guid) if not account: return HttpResponse.forbidden('Account doesn\'t exists') user_permission = AccountUserService.get_permission(user=current_user, account=account) if not user_permission: return HttpResponse.forbidden( 'User doesn\'t have permission to perform this operation') nerd = NerdService.get_nerd_guid(account=account, user=current_user, nerd_guid=nerd_guid) if len(nerd) == 0: return HttpResponse.forbidden( 'The user has no permission on this nerd') nerd_response = ApplicationService.create_application( account_id=account.account_id, application_name=name, application_algorithm=algorithm, created_user_id=current_user.user_id, parameters=app_metadata, nerd_url=nerd[0].nerd_url) return HttpResponse.custom_http_response(loads(nerd_response.text), nerd_response.status_code) except Exception as e: return HttpResponse.bad_request(e.message)