def get_nerd_by_guid(account_guid, nerd_guid, **kwargs): """ GET on accounts by account_guid :param bot_guid: :param account_guid: :param kwargs: :return: """ try: current_user = kwargs['current_user'] account = AccountsService.get_account_by_guid(account_guid=account_guid) if not account: return HttpResponse.forbidden('Unexpected request') 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') if current_user.is_system: return HttpResponse.accepted('All accounts should be returned [unimplemented]') else: nerds = NerdService.get_nerd_guid(account=account, user=current_user, nerd_guid=nerd_guid) if len(nerds) == 0: return HttpResponse.bad_request('The nerd you are looking for is not found in this account') return HttpResponse.success(Transformer.nerd_to_json(nerds[0])) except Exception as e: return HttpResponse.internal_server_error(e.message)
def get_accounts_by_guid(account_guid, **kwargs): """ GET on accounts by account_guid :param account_guid: :param kwargs: :return: """ try: current_user = kwargs['current_user'] try: AccountsService.get_user_permission_on_account( user=current_user, account_guid=account_guid) except Exception as e: if e.message == '[Services] user doesn\'t have permission on account': return HttpResponse.forbidden(e.message) if current_user.is_system: return HttpResponse.accepted( 'All accounts should be returned [unimplemented]') else: accounts = AccountsService.get_account_by_guid( account_guid=account_guid) if not len(accounts) or len(accounts) == 0: return HttpResponse.bad_request('The account doesn\'t exist') return HttpResponse.success( Transformer.account_to_json(accounts[0])) except Exception as e: return HttpResponse.internal_server_error(e.message)
def authenticate(): email = request.json['email'] password = request.json['password'] try: user = UserService.get_user_by_email(email=email)[0] except Exception as e: return HttpResponse.internal_server_error(e.message) if user: if user.password == password: claims_token = TokenService.create_jwt_token( user_guid=user.user_guid) response = {'claims_token': claims_token} return HttpResponse.success(response) return HttpResponse.unauthorized('Incorrect username or password')
def authenticate(): email = request.json['email'] password = request.json['password'] try: user = UserService.get_user_by_email(email=email)[0] except Exception as e: return HttpResponse.internal_server_error(e.message) if user: if user.password == password: claims_token = TokenService.create_jwt_token(user_guid=user.user_guid) response = { 'claims_token': claims_token } return HttpResponse.success(response) return HttpResponse.unauthorized('Incorrect username or password')
def get_accounts(**kwargs): """ GET on accounts :param kwargs: :return: """ try: current_user = kwargs['current_user'] if current_user.is_system: return HttpResponse.accepted('All accounts should be returned [unimplemented]') else: accounts = AccountsService.get_all_accounts_by_user(user_id=current_user.user_id) return HttpResponse.success(Transformer.account_list_to_json_array(accounts)) except Exception as e: return HttpResponse.internal_server_error(e.message)
def get_accounts(**kwargs): """ GET on accounts :param kwargs: :return: """ try: current_user = kwargs['current_user'] if current_user.is_system: return HttpResponse.accepted( 'All accounts should be returned [unimplemented]') else: accounts = AccountsService.get_all_accounts_by_user( user_id=current_user.user_id) return HttpResponse.success( Transformer.account_list_to_json_array(accounts)) except Exception as e: return HttpResponse.internal_server_error(e.message)
def get_nerds(account_guid, **kwargs): """ GET on bots :param kwargs: :return: """ try: current_user = kwargs['current_user'] account = AccountsService.get_account_by_guid(account_guid=account_guid) if not account: return HttpResponse.forbidden('Unexpected request') 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') if current_user.is_system: return HttpResponse.accepted('All accounts should be returned [unimplemented]') else: bots = NerdService.read(account=account, user=current_user) return HttpResponse.success(Transformer.nerd_list_to_json_array(bots)) except Exception as e: return HttpResponse.internal_server_error(e.message)
def get_accounts_by_guid(account_guid, **kwargs): """ GET on accounts by account_guid :param account_guid: :param kwargs: :return: """ try: current_user = kwargs['current_user'] try: AccountsService.get_user_permission_on_account(user=current_user, account_guid=account_guid) except Exception as e: if e.message == '[Services] user doesn\'t have permission on account': return HttpResponse.forbidden(e.message) if current_user.is_system: return HttpResponse.accepted('All accounts should be returned [unimplemented]') else: accounts = AccountsService.get_account_by_guid(account_guid=account_guid) if not len(accounts) or len(accounts) == 0: return HttpResponse.bad_request('The account doesn\'t exist') return HttpResponse.success(Transformer.account_to_json(accounts[0])) except Exception as e: return HttpResponse.internal_server_error(e.message)